我在一个进程中,创建了一个新进程,新进程是一个对话框,
我想产生这个新进程后就隐藏或者最小化该进程对象?
请问,用哪个函数可以做到这些
谢谢
在线等

解决方案 »

  1.   


    主进程不变,产生的新进程最小化或者隐藏,我只有新进程的exe文件。
    所以只在主进程里掉用,然后可以获得HANDLE
    得不到HWND
    不知道怎么隐藏他
    查了一下 所有隐藏窗口的函数都需要HWND
    可我创建新进程时只得到了HANDLE
    谢谢
    等.........
      

  2.   

    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:\\项目工程代码\\高丽开元\\高丽开元\\IBS-100天demo\\server\\IBSTrailDebuger.exe",
                              NULL,
      NULL,
      NULL,
      FALSE,
      0,
      NULL,
      NULL,
      &si,
      &pi);
        if (!success)
    {
    AfxMessageBox("启动进程有误!!!");
    }
    HANDLE hprocess = pi.hProcess;
    得到了HANDLE ,怎么隐藏他呢
    谢谢
      

  3.   

    你要是知道隐藏程序的标题,HWND FindWindow(
      LPCTSTR lpClassName,  // pointer to class name
      LPCTSTR lpWindowName  // pointer to window name
    );
    就可以找到HWND
      

  4.   

    我用这个来搜索句柄
    为什么还是不行
    {
    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
    求助