Mon programme est censé énumérer les périphériques OPOS installés. Ils sont répertoriés dans le registre si j'utilise RegOpenKeyEx
comme ceci:RegOpenKeyEx ne trouve pas la clé de registre
LONG lResult = RegOpenKeyEx(HKEY_LOCAL_MACHINE, _T("SOFTWARE\\OLEforRetail\\ServiceOPOS\\PosPrinter"), 0, KEY_READ , &key);
Il fonctionne très bien sur mon ordinateur, mais se comporte bizarrement sur une autre machine (Windows 7 sp1 32 bits).
J'ai deux projets de test presque identiques (les deux sont des applications de dialogue mfc, la principale différence est celle créée avec Visual Studio 2005 et une autre en 2010). Dans l'un de ces projets, le code ci-dessus fonctionne bien, dans un autre RegOpenKeyEx
renvoie ERROR_FILE_NOT_FOUND
. En outre, cette clé ne peut pas être trouvée avec regedit.exe.
Qu'est-ce qui se passe même ici?
S'agit-il d'un problème de [virtualisation du registre] (https://msdn.microsoft.com/en-us/library/windows/desktop/aa965884 (v = vs.85) .aspx)? D'un autre côté, si regedit __and__ votre programme ne trouve pas la clé, c'est peut-être parce que la clé n'existe pas. –