Einzelnen Beitrag anzeigen

geldis

Registriert seit: 19. Jan 2022
46 Beiträge
 
#1

ShellExcecute/FindWindow/MoveWindow

  Alt Gestern, 07:56
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
  Mit Zitat antworten Zitat