Издеваемся над пуском

Наверно все помнят многочисленные приколы над рабочим столом и в частности над кнопкой пуск я решил напомнить вам как это делается ...

для начала попробуем сделать пуск невидимым:

вот небольшая процедурка

procedure Enable(enabled:boolean);
Var Tray, TrayChild : hWnd; //наши переменные
Class : Array[0..127] of Char;
Begin
Tray := FindWindow('Shell_TrayWnd', NIL); //ищем окно
TrayChild := GetWindow(Tray, GW_CHILD); //получаем указатель
While TrayChild <> 0 do Begin
If GetClassName(TrayChild, Class, SizeOf(Class)) > 0 Then Begin //ищем кнопку
If UpperCase(StrPAS(Class)) = 'BUTTON' then begin //если нашли
If enabled then ShowWindow(TrayChild, 1) //включить видимость
else ShowWindow(TrayChild, 0); //выключить
end;
end;
TrayChild := GetWindow(TrayChild, GW_HWNDNEXT); //продолжить поиск
end;
end;

вызов Enable(false); -прячет пуск а Enable(true); -показывает

можно еще сделать пуск не октивным:

procedure Enable(enabled:boolean);
Begin
if enabled then EnableWindow(FindWindowEx(FindWindow('Shell_TrayWnd',nil),0,'Button',nil),true)
else
EnableWindow(FindWindowEx(FindWindow('Shell_TrayWnd', nil),0,'Button',nil),false)
end;

вызов такой же

вот и поиздевались...

 
Хостинг от uCoz