В этой статье я хотел бы описать полезную недокументированную функцию GetTaskmanWindow. Функция GetTaskmanWindow возвращает дескриптор
окна, которое владеет кнопками панели задач. Вот цитата о панели задач из Microsoft MSDN: "Программа Microsoft® для Windows® интерфейс, включающий приложение
панель называется панелью задач. Панель задач может использоваться для выполнения таких задач, как переключение между открытыми Windows и запуск новых приложений..." и "панель задач содержит меню Пуск, кнопки панели задач, контекстное меню и панель состояния...". К сожалению, Win32 API не содержит документированных функций, которые могут быть использованы для доступа к задач, поэтому мы должны снова использовать недокументированный способ.
Code: |
{ Here is the prototype for GetTaskmanWindow: function GetTaskmanWindow (): HWND; As always, Microsoft doesn't provide us with the exports symbols in the User32.lib for this function, so we should load them dynamically using the GetProcAddress and GetModuleHandle functions: }
// getaskmanwnd.cpp (Windows NT/2000) // This example will show you how you can obtain a handle to the // Windows Taskbar window. // Translated from C to Delphi by Thomas Stutz // Original Code: Ashot Oganesyan K, SmartLine, Inc
function TaskmanWindow: HWND; type TGetTaskmanWindow = function(): HWND; stdcall; var hUser32: THandle; GetTaskmanWindow: TGetTaskmanWindow; begin Result := 0; hUser32 := GetModuleHandle('user32.dll'); if (hUser32 > 0) then begin @GetTaskmanWindow := GetProcAddress(hUser32, 'GetTaskmanWindow'); if Assigned(GetTaskmanWindow) then begin Result := GetTaskmanWindow; end; end; end;
procedure ShowTaskmanWindow(bValue: Boolean); var hTaskmanWindow: Hwnd; begin hTaskmanWindow := TaskmanWindow; if hTaskmanWindow <> 0 then begin ShowWindow(GetParent(hTaskmanWindow), Ord(bValue)); end; end;
// Example to Hide the Taskman Window procedure TForm1.Button1Click(Sender: TObject); begin ShowTaskmanWindow(False); end;
|
Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.
ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!