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 下调试通过

  • 相关阅读:
    Jmeter跨线程组传参
    HTTP2 Sampler for JMeter
    全功能Python测试框架:pytest
    pytest + allure + jenkins 生成漂亮的测试报告
    C/C++ 多线程注意事项
    ASIO
    cocos2D-X 线程注意事项
    C/C++ C++ 11 兰姆达
    Android Studio 打包生成正式apk(XXX-release.apk)的两种方式
    C/C++ C++ 11 std::move()
  • 原文地址:https://www.cnblogs.com/nanfei/p/4241747.html
Copyright © 2011-2022 走看看