Also habe jetzt einiges ausprobiert. Das eigene Fenster kann ich verändern, nur meine zu startende Applikation nicht!
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:
| procedure TForm1.Button2Click(Sender: TObject); var lauf:word; title: array[0..255] of char; begin ShellExecute(Application.Handle, 'open', 'D:\Microsoft Office\Office10\Winword.exe',nil, nil, SW_SHOW); TListe := TList.Create; EnumWindows(@EnumWindowsProc,0); For lauf := 0 to Tliste.Count - 1 do begin GetWindowText(hwnd((TListe.Items[lauf])^),title,256); If title='Dokument1 - Microsoft Word' Then FensterHandle := HWND((TListe.Items[lauf])^); ListBox1.Items.Add(title); end; SetWindowPos(FensterHandle,HWND_TOPMOST,50,50,900,650,SWP_NOMOVE); TListe.Free; end; |
Wie man sieht lasse ich mir die Handles in einer Listbox anzeigen. Aber beim starten des Progs ist das Handle da noch nicht vorhanden.
Mit FindWindow habe ich es auch probiert. Vielleicht kann mir das jemand an nem stück code erklären
