|
Наверно все помнят многочисленные приколы над рабочим столом
и в частности над кнопкой пуск я решил напомнить вам как это
делается ...
для начала попробуем сделать пуск невидимым:
вот небольшая процедурка
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;
вызов такой же
вот и поиздевались...
|