2016-11-10 21 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); 
関連する問題