Обычно программы, написанные на VB, могут нормально работать в 32-битных системах, но в 64-битных системах они могут работать, но не могут изменять OEM-информацию. После поиска причины мы можем обнаружить, что при доступе к папке «SYSTEM32» система автоматически перенаправляет на папку «SYSWOW64». При доступе к определенным ключам реестра, аналогично перенаправлению файлов, система также выполняет перенаправление. Автоматическое перенаправление. программный доступ к Wow6432Node.
Давайте сначала поговорим о перенаправлении файловой системы. Я поискал некоторую информацию и не нашел информации, связанной с VB, но нашел две связанные функции: Wow64DisableWow64FsRedirection (отключить перенаправление системы) и Wow64RevertWow64FsRedirection (включить перенаправление системы).
Заявление В.Б. следующее:
Частная функция объявления Wow64RevertWow64FsRedirection Lib "kernel32.dll" () Частная функция объявления Wow64DisableWow64FsRedirection Lib "kernel32.dll" ()
Затем используйте оператор CALL Wow64DisableWow64FsRedirection, чтобы отключить перенаправление файловой системы.
Давайте поговорим об управлении ключами реестра:
Информации VB по этому поводу пока нет, но я знаю, что есть функция RegOpenEx (у VB есть эта функция, см. API-браузер для использования), которая может решить, следует ли перенаправлять. Просто добавьте 256 (&H100) в samDesired [Long]. параметр функции доступа к 64-битному реестру. Поскольку кодов реестра доступа к API очень много, я не буду их здесь публиковать.