Ein Freund von mir hat dieses Problem mit C++ gelöst. Dies Lösung will ich Euch nicht vorenthalten. @choose: Wie Du siehst, scheint er es so gemacht zu haben wie Deine Idee war
Jetzt muss diese Lösung nur noch auf Delphi transponiert werden
Delphi-Quellcode:
static BOOL CALLBACK CloseProcWndCB(HWND hWnd, LPARAM lParam)
{
DWORD dwPID = 0;
::GetWindowThreadProcessId(hWnd, &dwPID);
if (dwPID == (DWORD)lParam)
{
::PostMessage(hWnd, WM_CLOSE, NULL, NULL);
}
return TRUE;
}
void CloseProcessWindows(DWORD dwPID)
{
EnumChildWindows(::GetDesktopWindow(), CloseProcWndCB, (LPARAM)dwPID);
}