Autor |
Beitrag |
myLord
Hält's aus hier
Beiträge: 12
|
Verfasst: Mi 29.06.05 11:57
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
      
Beiträge: 84
WIN 95, WIN 98, WIN ME, WIN NT, WIN 2000, WIN XP, VISTA
D2 Prof, D4 Prof,D2005 Prof, Delphi4Php
|
Verfasst: Mi 29.06.05 12:02
WINAPI Funktion
SetWindowPlacement mit dem Handle des zu setztenden Fensters
MFG
MILLI
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mi 29.06.05 12:54
|
|
myLord 
Hält's aus hier
Beiträge: 12
|
Verfasst: Do 30.06.05 13:05
aber wo bekomm ich denn das Handle des fensters her, dass ich mit delphi aufgerufen habe?
|
|
jaenicke
      
Beiträge: 19312
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Do 30.06.05 13:14
FindWindow bzw. FindWindowEx
|
|
direction4delphi
      
Beiträge: 84
WIN 95, WIN 98, WIN ME, WIN NT, WIN 2000, WIN XP, VISTA
D2 Prof, D4 Prof,D2005 Prof, Delphi4Php
|
Verfasst: Do 30.06.05 13:17
Function FindWindow
Syntax
HWND FindWindow(LPCTSTR lpClassName,LPCTSTR lpWindowName);
mfg
MILLI
|
|
jaenicke
      
Beiträge: 19312
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Do 30.06.05 13:23
direction4delphi hat folgendes geschrieben: | Function FindWindow
Syntax
HWND FindWindow(LPCTSTR lpClassName,LPCTSTR lpWindowName);
mfg
MILLI |
In C-Syntax???
Ob ihm das hilft?!?
|
|
direction4delphi
      
Beiträge: 84
WIN 95, WIN 98, WIN ME, WIN NT, WIN 2000, WIN XP, VISTA
D2 Prof, D4 Prof,D2005 Prof, Delphi4Php
|
Verfasst: Do 30.06.05 13: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
      
Beiträge: 19312
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Do 30.06.05 13: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 
Hält's aus hier
Beiträge: 12
|
Verfasst: Do 30.06.05 14: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
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Do 30.06.05 14:21
SWP_NOMOVE
Denk mal drüber nach. 
|
|
|