Habituellement, les programmes écrits en VB peuvent s'exécuter normalement sur les systèmes 32 bits, mais sur les systèmes 64 bits, ils peuvent s'exécuter mais ne peuvent pas modifier les informations OEM. Après avoir recherché la raison, nous pouvons constater que lorsque nous accédons au dossier "SYSTEM32", le système redirigera automatiquement vers le dossier "SYSWOW64". Lorsque nous accédons à certaines clés de registre, similaire à la redirection de fichiers, le système redirigera également automatiquement. accès au programme à Wow6432Node.
Parlons d'abord de la redirection du système de fichiers. J'ai recherché des informations et il n'y a aucune information relative à VB, mais je peux trouver deux fonctions liées : Wow64DisableWow64FsRedirection (désactiver la redirection du système) et Wow64RevertWow64FsRedirection (activer la redirection du système).
La déclaration de VB est la suivante :
Fonction de déclaration privée Wow64RevertWow64FsRedirection Lib "kernel32.dll" ()Fonction de déclaration privée Wow64DisableWow64FsRedirection Lib "kernel32.dll" ()
Utilisez ensuite l'instruction CALL Wow64DisableWow64FsRedirection pour désactiver la redirection du système de fichiers.
Parlons du pilotage des clés de registre :
Il n'y a toujours pas d'informations VB à ce sujet, mais je sais qu'il existe une fonction RegOpenEx (VB a cette fonction, voir le navigateur API pour son utilisation) qui peut décider d'ajouter simplement 256 (&H100) au samDesired [Long]. paramètre de la fonction pour accéder au 64 bits du registre. Comme il existe de nombreux codes de registre d’accès aux API, je ne les publierai pas ici.