【问题标题】:VB6 .dll get calling application pathVB6 .dll 获取调用应用程序路径
【发布时间】:2014-07-05 23:30:05
【问题描述】:

我正在用 VB6 制作一个 .dll。我需要知道将使用该 .dll 的应用程序的路径,但我不知道如何直接从 .dll 执行此操作。有人知道该怎么做吗? p>

提前谢谢你

【问题讨论】:

    标签: dll vb6


    【解决方案1】:

    这似乎可以作为 DLL 工作:

    Option Explicit
    
    Private Const API_NULL As Long = 0
    
    Private Declare Function GetCurrentProcess Lib "kernel32" () As Long
    
    Private Declare Function GetModuleHandle Lib "kernel32" _
        Alias "GetModuleHandleA" ( _
        ByVal lpModuleName As Long) As Long
    
    Private Declare Function GetModuleBaseName Lib "psapi" _
        Alias "GetModuleBaseNameA" ( _
        ByVal hProcess As Long, _
        ByVal hModule As Long, _
        ByVal BaseName As String, _
        ByVal nSize As Long) As Long
    
    Private Declare Function GetModuleFileNameEx Lib "psapi" _
        Alias "GetModuleFileNameExA" ( _
        ByVal hProcess As Long, _
        ByVal hModule As Long, _
        ByVal FileName As String, _
        ByVal nSize As Long) As Long
    
    Public Function ExeBaseName() As String
        Dim Size As Long
    
        ExeBaseName = Space$(256)
        Size = GetModuleBaseName(GetCurrentProcess(), _
                                 GetModuleHandle(API_NULL), _
                                 ExeBaseName, _
                                 256)
        ExeBaseName = Left$(ExeBaseName, Size)
    End Function
    
    Public Function ExeFileName() As String
        Dim Size As Long
    
        ExeFileName = Space$(256)
        Size = GetModuleFileNameEx(GetCurrentProcess(), _
                                   GetModuleHandle(API_NULL), _
                                   ExeFileName, _
                                   256)
        ExeFileName = Left$(ExeFileName, Size)
    End Function
    

    调用适当的方法获取主程序的基本名称或完整文件名。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-04-16
      • 1970-01-01
      • 2014-11-07
      • 1970-01-01
      • 2011-09-08
      • 1970-01-01
      • 2012-10-23
      • 2016-12-18
      相关资源
      最近更新 更多