| |
 |
Wie kann ich die Startbutton beeinflussen?
06-10-2002 18:34
|
|
|
F?r den Startbutton gilt das gleiche wie f?r die Taskbar oder jedes andere Fenster in Windows. Der Grund daf?r ist, dass der Start Button ein eigenst?ndiges Fenster darstellt und ?ber sein Handle angesprochen werden kann.
|
//1.) Start Button Verstecken (umst?ndlich)
procedure hideStartbutton(visi:boolean);
var
Tray, Child : hWnd;
C : Array[0..127] of Char;
S : String;
startbutton_handle : hwnd;
begin
// Handel der Taskbar suchen
Tray := FindWindow('Shell_TrayWnd', NIL);
// Jetzt wird umst?ndlich, wir suchen den Start BUTTON
Child := GetWindow(Tray, GW_CHILD);
While Child <> 0 do
Begin
If GetClassName(Child, C, SizeOf(C)) > 0 Then
begin
S := StrPAS(C);
If UpperCase(S) = 'BUTTON' then
begin
// IsWindowVisible(Child)
startbutton_handle:=child;
If Visi then ShowWindow(Child, 1) // 1 SW_SHOWNORMAL or SW_NORMAL
else ShowWindow(Child, 0); // 0 = SW_HIDE
end;
End;
Child := GetWindow(Child, GW_HWNDNEXT);
End;
end;
// Ich glaub die Routine macht noch mehr als nur den Start
// Button zu verbergen.
// Aber was?
|
//2.) Start Button Verstecken (leicht)
procedure ShowStartButton(bShow: Boolean);
begin
if bShow = True then
ShowWindow( FindWindowEx(FindWindow( 'Shell_TrayWnd' , nil) ,0 ,'Button' ,nil ), SW_SHOWNA)
else
ShowWindow( FindWindowEx(FindWindow('Shell_TrayWnd', nil) ,0 ,'Button' ,nil), SW_HIDE);
end;
|
//3.) Start Button deaktivieren
procedure EnableStartbutton(bShow: Boolean);
begin
EnableWindow(FindWindowEx(FindWindow('Shell_TrayWnd', nil) ,0 ,'Button' ,nil), bShow)
end;
|
|
|
|
|