Восстановление значка панели задач - это то, что реализуется самим приложением (а не Проводником). Существует сообщение окна «TaskbarCreated» (его значение можно получить с помощью RegisterWindowMessage("TaskbarCreated")
), на которое приложение должно ответить, чтобы при необходимости восстановить значок панели задач.
Например, приложение может сделать это:
const int uTaskbarCreatedMsg = RegisterWindowMessage("TaskbarCreated");
Затем в своей функции WndProc:
LRESULT CALLBACK WndProc(HWND w, UINT msg, WPARAM wparam, LPARAM lparam)
{
// ... handle other messages
if (msg == uTaskbarCreatedMsg) {
NOTIFYICONDATA nid;
// fill in details to create icon
Shell_NotifyIcon(NIM_ADD, &nid);
return 0;
}
// ... default message handling
}
Таким образом, чтобы заставить приложение восстановить значок панели задач, вам нужно будет отправить такое же сообщение TaskbarCreated
в соответствующее окно приложения. Один из способов получить HWND
для этого окна - использовать FindMessage
(а поскольку Apache Monitor является открытым исходным кодом, легко определить, какое окно искать).