WIN7 64位没法取消重定向
WIN7 64位无法取消重定向
定义如下:
FUNCTION Boolean Wow64DisableWow64FsRedirection ( REF Long OutValue ) LIBRARY "Kernel32.dll"
FUNCTION Boolean Wow64RevertWow64FsRedirection ( Long OldValue ) LIBRARY "Kernel32.dll"
或
FUNCTION Boolean Wow64DisableWow64FsRedirection (REF Long OutValue) LIBRARY "Kernel32.dll" alias for "Wow64DisableWow64FsRedirection;Ansi"//REF Long OutValue
FUNCTION Boolean Wow64RevertWow64FsRedirection ( Long OldValue ) LIBRARY "Kernel32.dll" alias for "Wow64RevertWow64FsRedirection;Ansi"// Long OldValue
代码如下:
Wow64DisableWow64FsRedirection执行后返回为TRUE,llosng的值为0,看MSDN实例,写法都是一样的,函数执行成功,却没有取消重定向,
注册表写入依然是写在32位的地方(HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBCINST.INI\),
并没有写在64位的地方(HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\)
请高人指点
------解决思路----------------------
估计用pb实现不了,因为pb12.5以下的版本本身就不支持64位,只能以兼容模式运行,或者就是因为这个引起的
定义如下:
FUNCTION Boolean Wow64DisableWow64FsRedirection ( REF Long OutValue ) LIBRARY "Kernel32.dll"
FUNCTION Boolean Wow64RevertWow64FsRedirection ( Long OldValue ) LIBRARY "Kernel32.dll"
或
FUNCTION Boolean Wow64DisableWow64FsRedirection (REF Long OutValue) LIBRARY "Kernel32.dll" alias for "Wow64DisableWow64FsRedirection;Ansi"//REF Long OutValue
FUNCTION Boolean Wow64RevertWow64FsRedirection ( Long OldValue ) LIBRARY "Kernel32.dll" alias for "Wow64RevertWow64FsRedirection;Ansi"// Long OldValue
代码如下:
long llosng
boolean lblen=false
lblen=Wow64DisableWow64FsRedirection(llosng)
if(lblen) then
RegistrySet( 'HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\SQLite ODBC (UTF-8) Driver', 'Driver',RegString!, ls_v)
..................................................................................
Wow64RevertWow64FsRedirection(llosng)
end if
Wow64DisableWow64FsRedirection执行后返回为TRUE,llosng的值为0,看MSDN实例,写法都是一样的,函数执行成功,却没有取消重定向,
注册表写入依然是写在32位的地方(HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBCINST.INI\),
并没有写在64位的地方(HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\)
请高人指点
------解决思路----------------------
估计用pb实现不了,因为pb12.5以下的版本本身就不支持64位,只能以兼容模式运行,或者就是因为这个引起的