求助:MFC下隐藏进程不完全

我写了个打开计算器并且可以隐藏计算器进程的代码

如图,按下打开计算器后
图片说明

但是在按下隐藏计算器后,出现了问题

图片说明

会留下底框

下面是隐藏计算器的代码

 myEnumWindow(NULL, id1);

    HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
    DWORD id;
    PROCESSENTRY32 pe;
    pe.dwSize = sizeof(pe);

    BOOL ret = Process32First(hSnapshot, &pe);
    string a;
    string str;
    char buf[50000];
    int r = 0;

    while (ret) {
        WCHAR* wc = pe.szExeFile;
        _bstr_t b(wc);
        char *c = b;
        string d(c);
        id = pe.th32ProcessID;
        if (d == "Calculator.exe") { r = 1; break; }
        ret = Process32Next(hSnapshot, &pe);
    }

    EnumWindows(findEnumWindowCallBack, id);

    for (int j = 0;j < i;j++) {
        ::ShowWindow(c[j], SW_HIDE);
    }
    i = 0;

我这个小白实在是无能为力,求各位帮助。

刚刚又执行了几次,发现只有计算器会出现问题,
改成记事本,cmd.exe都可以隐藏。

我又试了一下,在网上下载了xp系统的计算器后,发现程序可以运行
难道是win10的计算器有什么不一样吗?

mfc

1个回答

你这个是隐藏窗口吧,不是隐藏进程吧`

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!