J'utilise la solution de migration Mfc to Qt pour migrer mon plugin Mfc vers Qt. Mon plugin Mfc est chargé dans une application Mfc tierce. En fait, je suis en utilisant l'exemple suivant Qt based Application Extension:Migration DllMain et Qt Mfc
BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID ) {
static bool ownApplication = FALSE;
if (dwReason == DLL_PROCESS_ATTACH)
ownApplication = QMfcApp::pluginInstance(hInstance);
if (dwReason == DLL_PROCESS_DETACH && ownApplication)
delete qApp;
return TRUE;
}
lire le code de la fonction pluginInstance, int les sources Qt, et notez que les appels pluginInstance LoadLibrary et SetWindowsHook à l'intérieur.
Tout fonctionne bien, jusqu'à présent. Mais j'ai la préoccupation suivante: Il est interdit d'appeler LoadLibrary et les fonctions de user32.dll comme SetWindowsHook de DllMain. J'ai lu cela dans msdn doc pour DllMain. Donc, si cela est dangereux, pourquoi le site officiel Qt dit d'appeler pluginInstance dans DllMain? Peut-être que je manque quelque chose