Все до чего добрался просмотрел. Попытался что-то сделать
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);
Здравствуйте, 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", то прятать его
При этом окно не успеет "блымнуть" на экране
Здравствуйте, sasha, Вы писали:
S>1. Поставить хук WH_SHELL
S>2. В процедуре хука отлавливать код HSHELL_WINDOWCREATED
S>3. Получать HWND вновь создаваемого окна
S>4. Если заголовок окна "Windows Task Manager", то прятать его
S>При этом окно не успеет "блымнуть" на экране
А ведь, похоже должно получиться. Спасибо, буду пробовать. А я зациклился на том чтоб к "Winlogon" добраться, а через юзверя ну никак.