Ich starte mit folgender Prozedur (hier aus dem Forum) ein Programm (C) das eine Anwendung mit Fenster
öffnet:
Delphi-Quellcode:
procedure RunAndWaitShell(Executable, Parameter:
STRING; ShowParameter: INTEGER);
var
Info: TShellExecuteInfo;
pInfo: PShellExecuteInfo;
exitCode: DWord;
HANDLE : THANDLE;
begin
{Pointer to Info}
pInfo := @Info;
{Fill info}
with Info
do
begin
cbSize := SizeOf(Info);
fMask := SEE_MASK_NOCLOSEPROCESS;
wnd := application.Handle;
lpVerb :=
NIL;
lpFile := PChar(Executable);
// emperormapper.exe
{Parametros al ejecutable}
{Executable parameters}
lpParameters := PChar(Parameter + #0);
lpDirectory :=
NIL;
nShow := ShowParameter;
hInstApp := 0;
end;
{Execute}
ShellExecuteEx(pInfo);
{Wait to finish}
repeat
exitCode := WaitForSingleObject(Info.hProcess, 500);
Application.ProcessMessages;
until (exitCode <> WAIT_TIMEOUT);
end;
Die Anwendung /das Fenster taucht planmäßig im Task auf.
Dann möchte ich das Fenster der Anwendung verschieben:
Delphi-Quellcode:
HANDLE := FindWindow(
Nil,'
EmperorMapper');
MoveWindow(
HANDLE, 600, 600, 400, 400, True);
Geht nicht. Fehlt was?
geldis