Autor Beitrag
catweasel
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 487
Erhaltene Danke: 1

Win 7 64bit
Delphi 7 Second Sedition V7.2
BeitragVerfasst: Mo 13.09.04 18:01 
Hi,

ich hab mal im web etwas gesucht um die Taskleiste zu verstecken und wieder hervorzuholen....

Dazu habe ich zwei kleine Beispiel gefunden.......

1. (Aus dem Swiss-Center)

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:

  All you have to do is to obtain the window handle 
  of the taskbar window and then you can disable or hide it. 
}
 

var 
  wndTaskbar: HWND; 
begin 
  wndTaskbar := FindWindow('Shell_TrayWnd'nil); 
  if wndTaskbar <> 0 then 
  begin 
    EnableWindow(wndTaskbar, False); // Disable the taskbar 
    EnableWindow(wndTaskbar, True);  // Enable the taskbar 
    ShowWindow(wndTaskbar, SW_HIDE); // Taskbar vertecken 
    ShowWindow(wndTaskbar, SW_SHOW); // Taskbar anzeigen 
  end
end;


und den hier ....

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
//  verstecken: 

  procedure SysHideTaskbar;
  var wndHandle : THandle;
  begin
    wndHandle := FindWindow(Pchar('Shell_TrayWnd'), nil);
    ShowWindow(wndHandle, SW_HIDE);
  end;
// und wieder anzeigen: 

  procedure SysShowTaskbar;
  var wndHandle : THandle;
  begin
    wndHandle := FindWindow('Shell_TrayWnd'nil);
    ShowWindow(wndHandle, SW_RESTORE);
  end;



Das eine nutzt offensichtlich ein THandle Objekt. Das Andere ein HWND
Dingelchen.

Da ich beides bisher nur vom Hoerensagen her kenne, mal die Frage:
Welche von beiden Vorgehensweisen ist "besser" im Sinne von programmiertechnisch/stilistisch...

Was ist eigentlich ein Handle okok.. jedes Fenster hat eines und das ist quasi das "Nummernschild" jedes Fensters (und jeder Control?), aber was ist dann das HWND ?.. Und was ist der Unterschied. ?
Gibt es irgendein Argument sich bei der Implementation von "Taskleiste-muss-weg" eher an Beispiel "THandle" oder Beispiel "HWND" zu orientieren??

Um Erleuchtung wird gebeten :wink:

Catweasel

_________________
Pommes werden schneller fertig wenn man sie vor dem Frittieren einige Minuten in siedendes Fett legt.
.Chef
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1112



BeitragVerfasst: Mo 13.09.04 18:12 
Ist beides dasselbe, nichts weiter als eine Zahl.

Gruß,
Jörg

_________________
Die Antworten auf die 5 häufigsten Fragen:
1. Copy(), Pos(), Length() --- 2. DoubleBuffered:=True; --- 3. Application.ProcessMessages bzw. TThread --- 4. ShellExecute() --- 5. Keine Vergleiche von Real-Typen mit "="!
Sprint
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 849



BeitragVerfasst: Mo 13.09.04 18:17 
catweasel hat folgendes geschrieben:
Und was ist der Unterschied. ?
Gibt es irgendein Argument sich bei der Implementation von "Taskleiste-muss-weg" eher an Beispiel "THandle" oder Beispiel "HWND" zu orientieren??

Die Variablentypen HWND und THandle stammen ja mehr oder weniger vom Type LongWord ab. Von daher sind HWND & THandle 32-Bit-ige (ohne Vorzeichen) Integer-Typen.
Wenn du jetzt z.B. mit einer WinAPI Funktion arbeiten willst, die du nicht kennst, und dort wird als Wert eine HWND zurückgegeben, dann weißt du auf jeden Fall das es sich um ein Fensterhandle handeln muss.
Also erleichtert das arbeiten...

_________________
Ciao, Sprint.