vb6 调用 64位应用程序
Option Explicit Private Declare Function LoadLibrary Lib "kernel32.dll" Alias "LoadLibraryA" (ByVal lpLibFileName As String) As Long Private Declare Function FreeLibrary Lib "kernel32.dll" (ByVal hLibModule As Long) As Long Private Declare Function GetProcAddress Lib "kernel32.dll" (ByVal hModule As Long, ByVal lpProcName As String) As Long Private Declare Function Wow64DisableWow64FsRedirection Lib "Kernel32" (ByRef oldvalue As Long) As Boolean Private Declare Function Wow64RevertWow64FsRedirection Lib "Kernel32" (ByVal oldvalue As Long) As Boolean Private Function IsSupport(ByVal strDLL As String, strFunctionName As String) As Boolean Dim hMod As Long, lPA As Long hMod = LoadLibrary(strDLL) If hMod Then lPA = GetProcAddress(hMod, strFunctionName) FreeLibrary hMod If lPA Then IsSupport = True End If End If End Function Private Sub Form_Load() If IsSupport("Kernel32", "Wow64DisableWow64FsRedirection") And IsSupport("Kernel32", "Wow64RevertWow64FsRedirection") Then Else Exit Sub End If Dim fsRedirect As Long fsRedirect = Wow64DisableWow64FsRedirection(fsRedirect) If fsRedirect Then Shell "c:\windows\system32\SnippingTool.exe", vbNormalFocus Wow64RevertWow64FsRedirection fsRedirect End If End Sub
以上代码在 win8.1 x64 下调试通过
桂棹兮兰桨,击空明兮溯流光。