Einzelnen Beitrag anzeigen

PeterPanino

Registriert seit: 4. Sep 2004
1.465 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: Titelloses Fenster eines Fremdprogrammes positionieren?

  Alt 9. Mär 2009, 00:12
Hallo, ich habe es jetzt geschafft, die PID und das Fensterhandle vom Programmnamen zu bekommen:

Delphi-Quellcode:
program RepositionWindowFromExeName;

{$APPTYPE CONSOLE}

uses
  Dialogs, // debug
  JclSysInfo,
  SysUtils, Windows;

var
  APID: Cardinal;
  AHandle: THandle;
  rc: TRect;

begin
  try
    APID := GetPidFromProcessName('QGet.exe'); // 11424
    if APID <> INVALID_HANDLE_VALUE then
    begin
      AHandle := GetMainAppWndFromPid(APID);
      MessageDlg(GetWindowCaption(AHandle), mtInformation, [mbOK], 0); // leer!
      GetWindowRect(AHandle, rc);
      MessageDlg(IntToStr(rc.Left) + #13#10 +
                 IntToStr(rc.Top) + #13#10 +
                 IntToStr(rc.Right) + #13#10 +
                 IntToStr(rc.Bottom) + #13#10
                 , mtInformation, [mbOK], 0);
    end;
  except
    on E:Exception do
      Writeln(E.Classname, ': ', E.Message);
  end;
end.
GetWindowCaption:
http://img255.imageshack.us/img255/7...dowcaption.gif

GetWindowRect:
http://img24.imageshack.us/img24/5908/getwindowrect.gif

Wie man sieht, funktioniert das Erfassen der Fensterkoordinaten nicht. Könnte jemand weiterhelfen?
  Mit Zitat antworten Zitat