Entwickler-Ecke
Windows API - externe Programme mit der Window Position (0|0) starten
myLord - Mi 29.06.05 10:57
Titel: externe Programme mit der Window Position (0|0) starten
Hallo,
ich habe ein Programm geschrieben, dass ein anderes aufrufen soll. Nun habe ich das Problem, dass das eigentliche Programm in dem aufgerufenen Programm bestimmte Sachen mit der Maus machen soll. z.B. soll Paint aufgerufen werden und eine Blume gezeichnet werden. In Paint ist es noch kein Problem, da man es im Vollbildmodus starten kann, aber es gibt andere Programme, die kein Vollbild zulassen. Sagen wir mal der Windows eigene Taschenrechner in dem was vorgerechnet werden soll. Mit
Delphi-Quelltext
1:
| ShellExecute (Handle, NIL, PCHAR('calc.exe'), NIL, NIL, SW_SHOWNORMAL); |
wird der Taschenrechner aufgerufen, leider ist er bei jedem Aufruf an einer andren Stelle. Gibt es nun eine Möglichkeit, dass das Programm in der linken oberen Ecke gestartet wird, also (0|0)?
Moderiert von
matze: Code- durch Delphi-Tags ersetzt.Moderiert von
Tino: Topic aus Dateizugriff verschoben am Mi 29.06.2005 um 13:52
direction4delphi - Mi 29.06.05 11:02
WINAPI Funktion
SetWindowPlacement mit dem Handle des zu setztenden Fensters
MFG
MILLI
myLord - Do 30.06.05 12:05
aber wo bekomm ich denn das Handle des fensters her, dass ich mit delphi aufgerufen habe?
jaenicke - Do 30.06.05 12:14
FindWindow bzw. FindWindowEx
direction4delphi - Do 30.06.05 12:17
Function FindWindow
Syntax
HWND FindWindow(LPCTSTR lpClassName,LPCTSTR lpWindowName);
mfg
MILLI
jaenicke - Do 30.06.05 12:23
direction4delphi hat folgendes geschrieben: |
Function FindWindow
Syntax
HWND FindWindow(LPCTSTR lpClassName,LPCTSTR lpWindowName);
mfg
MILLI |
In C-Syntax???
Ob ihm das hilft?!?
direction4delphi - Do 30.06.05 12:46
jaenicke hat folgendes geschrieben: |
direction4delphi hat folgendes geschrieben: | Function FindWindow
Syntax
HWND FindWindow(LPCTSTR lpClassName,LPCTSTR lpWindowName);
mfg
MILLI |
In C-Syntax???
Ob ihm das hilft?!? |
Dachte das sollte doch verständlich sein aber einfacher gehts auch
Delphi-Quelltext
1:
| FindWindow(nil,PChar('FensterTitel')); |
Hoffe es ist so besser verständlich
mfg
MILLI
jaenicke - Do 30.06.05 12:53
Was ich nur meinte ist: Wer LPCTSTR noch nie gesehen hat, der hat keine Ahnung, was das ist (@myLord: PChar), auch wenn klar sein sollte, dass es sich um den Variablen-Typ handelt, selbst wenn man C++ nicht kennt.
myLord - Do 30.06.05 13:16
hmm... dann sollte der folgende Code doch den Windows Taschenrechner aufrufen, das Handle des Fensters suchen, als ontop und mit der Position 0,0 versehen, oder?
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| procedure TForm1.Button1Click(Sender: TObject); var hApp: HWND; begin ShellExecute (Handle, NIL, PCHAR('calc.exe'), NIL, NIL, SW_SHOWNORMAL); hApp:=FindWindow(nil,PChar('Rechner')); SetWindowPos(hApp, HWND_TOPMOST, 0, 0, Width, Height, SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE); end; |
nur leider geht das nicht
Delete - Do 30.06.05 13:21
SWP_NOMOVE
Denk mal drüber nach. ;)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!