Hallo erstmal.
Ich bin Christoph, 19-jähriger Student und programmiere in meiner Freizeit gern mal - auch mit Delphi. Zur Zeit arbeite ich an einem Terminkalender für den Desktop, der als Testprojekt für Flash-Haxe-Screenweaver-Applikationen dient.
Da ich in dieser Kombination keine Möglichkeit habe, das Programm in den Vordergrund zu setzen und aus der Taskleiste zu entfernen, habe ich mir in Delphi ein kleines Tool gebaut, das genau das erledigt. Es ruft die Applikation auf, setzt sie in den Vordergrund und schmeißt sie aus der Taskleiste.
Leider klappt das Herausschmeißen aus der Taskleiste aber nicht, wenn Delphi-Tool und Flash-Applikation in irgendeiner Art zusammen aufgerufen werden. Dann wird das Programm nur in den Vordergrund gesetzt.
Eine kleine lauffähige Version mit Delphi-Code könnt ihr hier herunterladen (2,3mb):
Moderiert von
Tino: Link entfernt da die Datei nicht mehr zur Verfügung steht.
Hier der Delphicode:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28:
| program AOT; uses Windows, shellapi, Forms;
var W:Hwnd; i:integer; begin i:=0; shellexecute(0,'','swhx','','',SW_SHOW); W:=FindWindow('SWHXWindow','Trölfdesign Terminkalender 1.0'); while (W=0)and(i<50)do begin W:=FindWindow('SWHXWindow','Trölfdesign Terminkalender 1.0'); inc(i); Sleep(200); end; if W<>0 then begin ShowWindow(W,SW_HIDE); SetWindowLong(W,GWL_EXSTYLE,GetWindowLong(W,GWL_EXSTYLE) or WS_EX_PALETTEWINDOW and not WS_EX_APPWINDOW); ShowWindow(W,SW_SHOW); SetWindowPos(W, HWND_TOPMOST, 0 , 0, 0, 0, SWP_NOSIZE or SWP_NOMOVE); end end. |
Es wäre schön, wenn mir jemand helfen könnte. Ich verzweifle hier.
Viele Grüße und einen guten Rutsch