Normalmente, os programas escritos em VB podem ser executados normalmente em sistemas de 32 bits, mas em sistemas de 64 bits eles podem ser executados, mas não podem modificar as informações do OEM. Depois de pesquisar o motivo, podemos descobrir que ao acessarmos a pasta “SYSTEM32”, o sistema irá redirecionar automaticamente para a pasta “SYSWOW64”. Quando acessarmos determinadas chaves de registro, semelhante ao redirecionamento de arquivos, o sistema também irá redirecionar Redirecionar automaticamente. acesso do programa ao Wow6432Node.
Vamos falar primeiro sobre o redirecionamento do sistema de arquivos. Procurei algumas informações e não há informações relacionadas ao VB, mas posso encontrar duas funções relacionadas: Wow64DisableWow64FsRedirection (desativar o redirecionamento do sistema) e Wow64RevertWow64FsRedirection (ativar o redirecionamento do sistema).
A declaração de VB é a seguinte:
Função de declaração privada Wow64RevertWow64FsRedirection Lib "kernel32.dll" ()Função de declaração privada Wow64DisableWow64FsRedirection Lib "kernel32.dll" ()
Em seguida, use a instrução CALL Wow64DisableWow64FsRedirection para desativar o redirecionamento do sistema de arquivos.
Vamos falar sobre a direção das chaves de registro:
Ainda não há informações do VB sobre isso, mas sei que existe uma função RegOpenEx (o VB tem essa função, consulte a API do navegador para uso) que pode decidir se deseja redirecionar. Basta adicionar 256 (&H100) ao samDesired [Long]. parâmetro da função para acessar 64 bits do registro. Como existem muitos códigos de registro de acesso à API, não os publicarei aqui.