求助: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的计算器有什么不一样吗?

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