Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Fenster aus ALT+TAB-Liste entfernen (https://www.delphipraxis.net/116713-fenster-aus-alt-tab-liste-entfernen.html)

Z4ppy 4. Jul 2008 21:27


Fenster aus ALT+TAB-Liste entfernen
 
Ich hab mir ein kleines Programm gecodet, das aber weder in Taskleiste, noch in der Fensterliste (ALT+TAB) angezeigt werden soll... Die Taskleiste hab ich bereits geschafft, bei der Fensterliste hab ich allerdings ein Prob...
Wenn ich Form1.BorderStyle = bsToolWindow; setze, geht folgender Code:
Delphi-Quellcode:
setwindowlong(application.handle, GWL_EXSTYLE, WS_EX_TOOLWINDOW);
bordericons := bordericons - [biminimize];
Allerdings soll mein Fenster bsNone sein... Ich habe nun verschiedene Lösungen ausprobiert, aber alle haben nicht funktioniert :(

Hat mir jemand ne andere Lösung?

MfG Z4ppy

€dit: Hab nun noch das gefunden, aber leider hat auch das mit dem Übermalen net geklappt :(

Z4ppy 5. Jul 2008 15:58

Re: Fenster aus ALT+TAB-Liste entfernen
 
Sorry für den Doublepost, aber ich brauch ne ganz schnelle Antwort, denn ich bin ab morgen früh in den Ferien und will das vorher noch fertig machen ;)
Hat wer ne Idee?

MfG Z4ppy

€dit: Hab nun noch von dieser Seite folgenden Code probiert:
Delphi-Quellcode:
const
b1: byte = 50;

//und dann im OnCreate:
SystemParametersInfo( SPI_SETFASTTASKSWITCH, 1, @b1, 0);
Leider auch ohne Erfolg :( Idea?

TurboMartin 5. Jul 2008 16:10

Re: Fenster aus ALT+TAB-Liste entfernen
 
Probiere es doch mal damit:
Delphi-Quellcode:
procedure frmName.HideAT();
var WindowLong: Integer;
begin
   WindowLong := GetWindowLong(Handle, GWL_EXSTYLE)
   SetWindowLong(this.Handle, GWL_EXSTYLE, WindowLong | WS_EX_TOOLWINDOW);
end;

Z4ppy 5. Jul 2008 16:14

Re: Fenster aus ALT+TAB-Liste entfernen
 
ES GEHT :)
Danke, danke, danke, danke :)

Hier nochmal der komplette Code fürs Removen aus Taskleiste & Fensterliste:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var WindowLong: Integer;
begin
  SetWindowLong(Application.Handle, GWL_EXSTYLE, WS_EX_TOOLWINDOW);
  bordericons := bordericons - [biminimize];
  WindowLong := GetWindowLong(Handle, GWL_EXSTYLE);
  SetWindowLong(Handle, GWL_EXSTYLE, WindowLong or WS_EX_TOOLWINDOW);
end;
Vermutlich könnte man das noch etwas vereinfachen, aber so gehts zumindest :D

MfG Z4ppy

€dit: So, nochma ne vereinfachte Version:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  SetWindowLong(Application.Handle, GWL_EXSTYLE, WS_EX_TOOLWINDOW);
  SetWindowLong(Handle, GWL_EXSTYLE, GetWindowLong(Handle, GWL_EXSTYLE) or WS_EX_TOOLWINDOW);
end;
€dit2: Die letzte Version setzt vorraus, dass biMinimize False ist ;)

TurboMartin 5. Jul 2008 16:17

Re: Fenster aus ALT+TAB-Liste entfernen
 
Stimmt... Hab ch auch nur aus C# übernommen :oops:

Z4ppy 5. Jul 2008 16:19

Re: Fenster aus ALT+TAB-Liste entfernen
 
Hab oben mal edited, es geht... Ich hatte wohl irgendwas falsch gemacht :D

MfG Z4ppy


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:56 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz