2016-11-10 3 views
0

J'ai une application Windows. J'essaie d'ouvrir un élément du Panneau de configuration de la façon suivante:C++ - Ouvrir le Panneau de configuration dans la même fenêtre

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); 

Cela ouvre cependant l'élément du Panneau de configuration dans une nouvelle fenêtre. Est-il possible de naviguer vers l'élément du Panneau de configuration dans une fenêtre déjà ouverte? J'ai la poignée à la fenêtre.

Répondre

0

Si vous avez déjà une instance en cours d'exécution du panneau de configuration, vous pouvez faire quelque chose comme.

Récupère un pointeur sur un objet en cours d'enregistrement.

Exemple de code

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