Получение активных элементов диспетчера задач - PullRequest
0 голосов
/ 28 мая 2011

Хорошо, я хочу удалить свое приложение из списка приложений в диспетчере задач Windows.Я нашел следующий код: http://www.codeproject.com/KB/system/Hack_Windows_Task_Manager.aspx

Я хотел сделать это на C / C ++, поэтому я кодирую это:

#define WIN32_LEAN_AND_MEAN 
#include <windows.h>
#include <iostream>

BOOL CALLBACK Usun(HWND hwnd,LPARAM lParam);
int main()
{
    HWND hwnd;
    while (true)
    {
        hwnd = FindWindow(NULL,"Menedżer zadań Windows"); //<-- it's in polish and it is finding window without problems
        if (hwnd == NULL) std::cout << "Not found" << std::endl;
        else
        {
            std::cout << "Found" << std::endl;
            EnumChildWindows(hwnd,Usun,NULL);
            Sleep(500);
        }
    }
    std::cin.get();
    return 0;
}

BOOL CALLBACK Usun(HWND hwnd,LPARAM lParam)
{
    char zakladka[256] = {0};
    GetWindowText(hwnd,zakladka,256);
    char lista[256] = {0};
    GetClassName(hwnd,lista,256);
    if ((strcmp(zakladka,"Aplikacje") == 0) && (strcmp(lista,"SysListView32") == 0))
    { //Aplikacje is the same as Tasks
        std::cout << "Found SysList" << std::endl;
    }
    return TRUE;
}

Но программа работает не так, как должна.

ВАЖНО: ЭТО НЕ БУДЕТ БЫТЬ НЕКОТОРЫЙ ВИРУСНОЙ ПРОГРАММОЙ

1 Ответ

2 голосов
/ 28 мая 2011

Я думаю, вы также должны скрыть свое приложение от панели задач. Проверьте это http://www.codeproject.com/KB/dialog/hidetaskbar.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...