Здравствуйте, Vlad232ua, Вы писали:
V>Все до чего добрался просмотрел. Попытался что-то сделать
V>В принципе работает. К Task Manager ни через Ctrl-Alt-Del ни через Ctrl-Shift-Esc не добраться, но уж больно некрасиво. Окно успевает блымнуть. А по-другому чтой-то никак. У кого какие мысли, как сделать SW_HIDE без SendMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_TASKLIST, -1);
1. Поставить хук WH_SHELL
2. В процедуре хука отлавливать код HSHELL_WINDOWCREATED
3. Получать HWND вновь создаваемого окна
4. Если заголовок окна "Windows Task Manager", то прятать его
При этом окно не успеет "блымнуть" на экране
Все до чего добрался просмотрел. Попытался что-то сделать
SendMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_TASKLIST, -1);
HWND hWnd = FindWindow(NULL,"Windows Task Manager");
if(!hWnd) hWnd = FindWindow(NULL,"Диспетчер задач Windows");
if(hWnd)
{ ShowWindow(hWnd,SW_HIDE);
NOTIFYICONDATA nid;
ZeroMemory(&nid, sizeof(NOTIFYICONDATA));
nid.hWnd = hWnd;
nid.uID = 1034;
Shell_NotifyIcon(NIM_DELETE, &nid);
}
try { ... }
catch (Exception &exception)
{ ... }
CloseWindow(hWnd);
return 0;
В принципе работает. К Task Manager ни через Ctrl-Alt-Del ни через Ctrl-Shift-Esc не добраться, но уж больно некрасиво. Окно успевает блымнуть. А по-другому чтой-то никак. У кого какие мысли, как сделать SW_HIDE без SendMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_TASKLIST, -1);
Здравствуйте, sasha, Вы писали:
S>1. Поставить хук WH_SHELL
S>2. В процедуре хука отлавливать код HSHELL_WINDOWCREATED
S>3. Получать HWND вновь создаваемого окна
S>4. Если заголовок окна "Windows Task Manager", то прятать его
S>При этом окно не успеет "блымнуть" на экране
А ведь, похоже должно получиться. Спасибо, буду пробовать. А я зациклился на том чтоб к "Winlogon" добраться, а через юзверя ну никак.