zoukankan      html  css  js  c++  java
  • 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:windowssystem32SnippingTool.exe", vbNormalFocus
            Wow64RevertWow64FsRedirection fsRedirect
        End If
    End Sub

     以上代码在 win8.1 x64 下调试通过

  • 相关阅读:
    C++指针
    Linux Ubuntu常用终端命令
    java-JDBC-Oracle数据库连接
    HDU 1890 区间反转
    Hdu-3487 Splay树,删除,添加,Lazy延迟标记操作
    UVa 10088
    UVa10025-The ? 1 ? 2 ? ... ? n = k problem
    UVa10023手动开大数平方算法
    UVa 10007
    点的双联通+二分图的判定(poj2942)
  • 原文地址:https://www.cnblogs.com/nanfei/p/4241747.html
Copyright © 2011-2022 走看看