2016-11-10 73 views
0

打開控制面板項我有一個基於Windows的應用程序。我試圖打開控制面板項通過以下方式:C++ - 在同一個窗口

EnumWindows(EnumWindowsProcMy, ppid); 
IOpenControlPanel *pPanel = NULL; 
CoInitialize(nullptr); 
HRESULT hr = CoCreateInstance(CLSID_OpenControlPanel, NULL, 
    CLSCTX_INPROC_SERVER, IID_IOpenControlPanel, 
    (void**)&pPanel); 
if (FAILED(hr)) { 
    return -1; 
} 
pPanel->Open(CUSTOM_GUID, NULL, NULL); 

然而,這將打開一個新窗口控制面板項目。有什麼辦法導航到控制面板項在打開的窗口?我有的窗口句柄。

回答

0

如果你已經有控制面板的運行實例,你可以做有點像。

檢索指向已註冊的運行對象的指針。

示例代碼

IUnknown *puk = NULL;   
HRESULT hr = GetActiveObject(CLSID_OpenControlPanel, 0, &puk); 
return (hr == S_OK); 
相關問題