Position und Größe einer externen Anwendung
-
Hallo,
wie kann ich die Bildschirmposition und Größe beim Öffnen einer externen Anwendung (z.B. Windows-Explorer) festlegen?
Gruß
Leo
-
mit SendMessage eine WM_SIZE Botschaft an die andere Anwendung senden. Ob sie darauf reagiert hängt dann von der Anwendung ab
Andere Anwendung finden:
http://www.marquardtnet.info/cecke/quickies.1/1_quicky_34.html
-
Dieser Thread wurde von Moderator/in Jansen aus dem Forum VCL/CLX (Borland C++ Builder) in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Um zwei Explorer-Fenster öffnen, habe ich den Code wie folgt angepasst.
String cExplorerA = "c:\\testfeld\\t1"; String cExplorerB = "c:\\testfeld\\t2"; String cAction = "explore"; ShellExecute(0, cAction.c_str(), cExplorerA.c_str(), "", "", 1); ShellExecute(0, cAction.c_str(), cExplorerB.c_str(), "", "", 1); // Fensterhandle holen HWND hWinExplorerA = FindWindow(NULL, cExplorerA.c_str()); HWND hWinExplorerB = FindWindow(NULL, cExplorerB.c_str()); MoveWindow(hWinExplorerA, 100, 100, 600, 300, true); MoveWindow(hWinExplorerB, 100, 450, 600, 300, true);Das Fenster ExplorerA wird in Größe und Position wie gewünscht angezeigt, ExplorerB erscheint von den Positionsvorgaben unbeeindruckt in Größe und Position wie bei einem früheren Aufruf.
Was geht hier vor?
Gruß Leo
-
Theoretisch geht auch noch folgendes:
STARTUPINFO si; ZeroMemory(&si, sizeof(si)); si.dwFlags = STARTF_USESIZE | STARTF_USEPOSITION; si.dwX = 100; si.dwY = 100; si.dwXSize = 200; si.dwYSize = 200; PROCESS_INFORMATION pi; LPTSTR szCmd = _tcsdup(_T("c:\\path-to\\my.exe")); CreateProcess(NULL, szCmd, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi); free(szCmd);Hängt aber von der aufzurufenden Applikation ab, ob die dies unterstützt.