我正在从 VB6 制作一个 .dll。我需要知道将使用该 .dll 的应用程序的路径,但我不知道如何执行此操作直接来自 .dll..有人知道该怎么做吗?
先感谢您
嗯,这似乎可以作为 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
调用适当的方法获取主程序的基本名称或完整文件名。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)