Falls jemand diesen Thread findet, weil das mit dem Taskleisten-Eintrag ausblenden doch nicht funktioniert:
Ich hatte hier grade den Fall, dass ein älteres (in D7 entwickeltes) Programm bisher mit
Delphi-Quelltext
1: 2: 3: 4: 5:
| ShowWindow(Application.Handle, SW_HIDE); SetWindowLong(Application.Handle, GWL_EXSTYLE, GetWindowLong(Application.Handle, GWL_EXSTYLE) or WS_EX_TOOLWINDOW and not WS_EX_APPWINDOW); ShowWindow(Application.Handle, SW_SHOW); |
auch unter D2009 eigentlich so funktioniert hat, was unter Windows 7 zu gewissen Problemen geführt hat, wie jaenicke weiter oben erwähnt hat
Ein Umstellen auf
Delphi-Quelltext
1: 2: 3: 4: 5:
| ShowWindow(MainForm.Handle, SW_HIDE); SetWindowLong(MainForm.Handle, GWL_EXSTYLE, GetWindowLong(MainForm.Handle, GWL_EXSTYLE) or WS_EX_TOOLWINDOW and not WS_EX_APPWINDOW); ShowWindow(MainForm.Handle, SW_SHOW); |
hat aber nicht funktioniert (auch ohne die letzte Zeile

).
Und zwar weil: In der Project.dpr muss man in so einem Fall (altes Projekt in neuer IDE weiterentwickeln) eine Zeile hinzufügen:
Delphi-Quelltext
1: 2:
| Application.Initialize; Application.MainFormOnTaskBar := True; |
Denn erst damit liegt in der Taskleiste das MainForm.Handle. Erstellt man ein neues Projekt in der neuen IDE, wird diese Zeile automatisch hinzugefügt.
Danke, weitergehen.

We are, we were and will not be.