HINSTANCE m=::ShellExecute(this->m_hWnd, 
                        "open",
"dddddd.exe", 
NULL, 
"c:\\", 
 SW_HIDE);
为什么这样调用窗口会正常显示呢?
不是应该隐藏么,为什么还是正常显示
其他的参数都可以完成各自的 功能
为什么不能隐藏呢?

解决方案 »

  1.   

    如果ddddd.exe没有处理你的SW_HIDE参数就不会隐藏。
    不知道还有没有其它例外。
      

  2.   

    什么意思?ddddd.exe没有处理你的SW_HIDE参数就不会隐藏?
    让它最小化是可以的
    只是不隐藏
    我只有这个exe文件,让让他启动,并不显示在桌面上
    但是就是不能隐藏?
      

  3.   

    我用这个来搜索句柄
    为什么还是不行
    {
    PROCESS_INFORMATION pi;
    STARTUPINFO si;
    si.cb = sizeof(STARTUPINFO);
    si.lpReserved = NULL;
    si.lpDesktop = NULL;
    si.dwFlags = 0;
    si.lpReserved2 = NULL;
    si.cbReserved2 = 0;
    si.lpTitle = NULL;
    bool success = CreateProcess("e:\\IBSTrailSet.exe",
                              NULL,
      NULL,
      NULL,
      FALSE,
      0,
      NULL,
      NULL,
      &si,
      &pi);
        if (!success)
    {
    AfxMessageBox("启动进程有误!!!");
    }
       dprocess = pi.dwProcessId;
    EnumWindows((WNDENUMPROC)EnumWindowsProc,NULL);
    }
    BOOL CALLBACK EnumWindowsProc(HWND hwnd,LPARAM lParam)
    {
    char title[100];
    DWORD procID;GetWindowThreadProcessId(hwnd,&procID);
    if (dprocess == procID)
    {
    AfxMessageBox("founded");
    }
    return TRUE;
    }
    用这些为什么找不到我要找的进程ID呢?
    一直不显示founded
    求助
      

  4.   

    进程创建了不一定就立即创建了窗口,使用WaitForInputIdle(pi.hProcess,INFINITE);等待窗口被创建出来。