HANDLE window;
HANDLE process;         unsigned char result;
DWORD pid;
window=::FindWindow(NULL,"我的电脑");
if(window==NULL)
{
MessageBox("游戏未运行!");
}
GetWindowThreadProcessId( (HWND)window, &pid );
if(pid==NULL)
{
MessageBox("获取进程ID错误!");
}
process=OpenProcess( PROCESS_CREATE_PROCESS, FALSE, pid );这样怎么把”我的电脑“ 打开呢

解决方案 »

  1.   

    运行
    EXPLORER.EXE  /n,    ::{20D04FE0-3AEA-1069-A2D8-08002B30309D}"
      

  2.   

    汗, 你可以用ShellExecute执行那段命令行啊.
      

  3.   

    ShellExecute( NULL, "open", URL, NULL, "C:\\", SW_SHOW );
      

  4.   

    ShellExecute( NULL, "open", URL, NULL, "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}", SW_SHOW );
      

  5.   

    ShellExecute( NULL, "open", URL, NULL, "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}", SW_SHOW );
      

  6.   

    ::{20D04FE0-3AEA-1069-A2D8-08002B30309D}?你这个怎么得来的啊
      

  7.   

    还有就是加了ShellExecute()后就会弹出”游戏未运行“对话框
      

  8.   

    LPMALLOC pMalloc;
    LPITEMIDLIST pidl;
    SHGetMalloc(&pMalloc);
    SHGetSpecialFolderLocation(NULL, CSIDL_DRIVES, &pidl);SHELLEXECUTEINFO shei = {0};
    shei.cbSize = sizeof(shei);
    shei.fMask = SEE_MASK_INVOKEIDLIST ;
    shei.hwnd = m_hWnd;
    shei.lpVerb = "open";
    shei.lpIDList = pidl;
    shei.nShow = SW_MAXIMIZE;
    shei.hInstApp = NULL;
    BOOL ret = ShellExecuteEx(&shei);pMalloc->Free(pidl);
    pMalloc->Release();