VB6.dll获取调用应用程序路径

2024-02-28

我正在从 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(使用前将#替换为@)

VB6.dll获取调用应用程序路径 的相关文章

  • 动态加载具有某些其他 dll 依赖项的 .NET 程序集

    我想为我的应用程序创建一个插件引擎 但我有一个问题 如何加载对其他程序集有一定依赖的 Net 程序集 实际上是我的插件 例如我想加载A DLL and A DLL需要B dll or C dll等等来运行 这A dll有两种方法 例如A a
  • 在 Visual Studio C++ 2008 中包含 dll

    有没有办法将 dll 包含在项目中 这样我就不必在编译后将这些 dll 与可执行文件放在同一文件夹中 这样我就可以用它们编译我的项目 这是否有可能 如果是 有人可以指导我 我的项目是一个 opencv 项目 有很多 dll 我必须包含在文件
  • vb6 中双精度计算的值不正确

    当在 vb6 中添加 2 个值时 我得到一些奇怪的行为 当在立即窗口中针对不同情况打印变量 sum 双精度型 时 如下所示 我得到的结果为 sum 0 sum 0 sum 0 sum 74 46 0 41 sum 74 87 sum 97
  • 具有本机依赖项和复制文件的 Maven 项目

    我有以下场景 mylib 是一个库 我有其源代码 因此我想将它们放入 Maven 项目 mylib mylib 中 这个库有一个 jar 依赖项 我只有 jar 并且在 Maven 存储库中找不到它 而且我也不想在那里安装它 为了使其编译
  • 创建简单的 c++.net 包装器。一步步

    我有一个 C 项目 我承认我在c 方面完全是零 但我仍然需要编写一个 c net 包装器 以便我可以使用它来处理非托管 c 库 所以我有什么 1 非托管项目的头文件 2 非托管项目的库 dll 和 lib 3 一个空的 C NET 项目 我
  • 应用程序处于中断模式。您的应用程序已进入中断状态,

    我发现自己遇到了同样的问题here https stackoverflow com questions 36204009 disable break mode page in vs2015 我在 dll 中使用 Windows 窗体 这是针
  • 在 VB6 中如何处理错误处理程序中的错误?

    我在 VB6 应用程序中经常遇到这种情况 Private Sub DoSomething On Error Goto err1 Call ProcessLargeBatch1 Call ProcessLargeBatch2 more Exi
  • VBA C# DLL 未注册

    我制作了一个 C NET dll 我想从 VBA 运行它而不注册它 我找到了解决方案there https stackoverflow com a 13333819并且它可以完美工作 但前提是程序集是使用 Framework NET 3 5
  • Visual Studio 2010“找不到或打开 PDB 文件”

    我尝试在 Visual Studio 10 中调试程序 但遇到断点问题 我将与 dll 文件对应的 pdb 文件放在同一目录中 但是在检查模块时 我发现每个 DLL 文件都被签名为Cannot find or open the PDB fi
  • 依赖遍历器挂起

    当 my xll 插件加载到我的客户端 PC 上时 我遇到了问题 它在启动时使 Excel 崩溃 可能是因为缺少依赖的 dll 我知道可以在配置文件模式下使用 dependency walker 来找出 exe 运行时加载了哪些 dll 当
  • 导入 SciPy 或 scikit-image,“from scipy.linalg import _fblas:导入错误:DLL 失败”

    我正在导入 from scipy import misc io 但我收到这些错误 Traceback most recent call last File C work asaaki code generateProposals py li
  • 链接到ntdll.lib并调用ntdll.dll内部的函数

    我最近正在对私有 API 进行一些研究 我尝试调用诸如NtOpenFile在 ntdll dll 中LoadLibrary and GetProcAddress在运行时 幸运的是 它成功了 今天早上我在电脑上进行了文件搜索 发现ntdll
  • 如何将dll作为服务运行?

    我知道如何编写 dll 如何编写服务以及如何运行 dllrundll32 但现在我想编写一个在Windows中作为服务安装的dll 我不知道这是否可能或应该导出 dll 中的哪个函数 如何将 dll 作为服务安装并运行 有几种不同的方法可以
  • 将 dll/lib 链接到 cmake 项目

    我试图将库链接到我的 cmake 项目 但遇到链接器错误 我花了 2 个小时尝试解决这个问题 并创建了一个简单的项目 在其中对所有路径进行了硬编码 CMAKE MINIMUM REQUIRED VERSION 3 0 PROJECT Tes
  • 在 C++ 项目中放置 dll 文件以及如何包含这些文件?

    我读了这个guide http nil techno blogspot co il 2009 10 creating visual studio 2008 application html它将引导您完成使用 Cairo 和 Visual C
  • 使用网页浏览器控件保存网页

    我正在使用 VB6 和网络浏览器控件导航到网页 我想定期保存我访问的页面 而无需任何手动干预 我知道如何使用 DOM 解析 HTML 但还需要保存页面而不显示任何对话框 这可能吗 将不胜感激一些帮助 谢谢 陶菲克 This 微软知识库文章
  • 从 C++ 源文件创建 Windows DLL

    我有多个 C 源文件 我想使用它们创建动态链接库 我在 linux 中使用 gcc shared 和 ln 看到这种情况发生 但是对于 Windows 我想我必须修改源文件才能生成 DLL 有没有办法用提供的源文件生成DLL 类似于linu
  • 使用 C++ 程序中的 dll。 (borland c++ builder 和一般情况)

    我试图在我的程序中使用一个 dll 即 libcurl 但是它没有链接 Libcurl 附带了我可以包含的 h 文件 负责 dllimport 但我想我必须指定在以某种方式链接时实际使用哪个 dll 我该怎么做 我正在使用 Borland
  • 将 Visual Studio 2012 C++ 单元测试项目链接到 exe 会导致访问冲突

    我从现有的整体 exe 本机 Visual Studio 2012 项目开始 我想添加一个本机单元测试项目 根据http msdn microsoft com en us library hh419385 aspx objectRef ht
  • DLL 需要访问其应用程序的符号

    在 C 中 DLL 是否可以访问加载它的应用程序的某些符号 我有一个加载插件 dll 的应用程序 这些插件需要访问该应用程序的某些API 是否可以在不创建共享此 API 的新 DLL 的情况下实现此目的 函数指针结构适合这种情况吗 示例 主

随机推荐

  • 它仍然适用于在 RedHat7 上使用 pexpect 还是有替代方法来执行命令并响应提示?

    我尝试在 Redhat7 中使用 pexpect for ansible 但无法安装它 我只得到 pexpect noarch 2 3 11 el7 RHEL7 版本 或者 pexpect 是否有替代方法来执行命令并响应提示 看起来像的版本
  • 给定python代码的打印语句语法错误的原因是什么[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 编辑问题以包括期望的行为 特定问题或错误以及重现问题所需的最短代码 help minimal reproducible example 这
  • 将 Meteor 部署到 Android 设备时找不到构建工具修订版 24.0.1

    我错误地完全删除了 Android SDK 文件夹 之前我已经使用cordova phonegap多次将meteor部署到android设备上 当通过 Android Studio 重新安装 SDK 并尝试在设备中运行 Meteor 时 我
  • SQLAlchemy over MySQLdb 的目的

    为什么人们使用 SQLAlchemy 而不是 MySQLdb 它有什么优点 您不使用 SQLAlchemy 来代替 MySQLdb 您使用 SQLAlchemy 来访问 MySQLdb oursql 我听说更好并且性能更好的另一个 MySQ
  • Xcode 未反映来自 React-Native 的最新应用程序代码

    EDIT 好吧 事实证明这不是 AppStore 的问题 我从 Xcode 发布模式运行了应用程序 并且在模拟器上运行了相同的旧版本 我不知道为什么 但 Xcode 没有运行最新的 jsbundle 现在我发现this https stac
  • 在 Dart 中获取与正则表达式匹配的所有子字符串的最佳方法

    我想获取与字符串中的正则表达式匹配的子字符串列表 做这个的最好方式是什么 dart core 中的 RegExp 对象有Iterable
  • 用java下载包含资源(如图像)的完整网页

    有没有办法下载 html 网页及其所有资源 例如 图像 CSS 我知道如何使用 html 解析器通过遍历所有相关标签来做到这一点 但是没有easy way That is最简单的方法 困难的方法是编写自己的网络库 html 解析器等
  • SwiftUI 中 ObservedObject 和 StateObject 有什么区别

    如果我有一个ObservableObject在 SwiftUI 中我可以将其称为 ObservedObject class ViewModel ObservableObject Published var someText Hello Wo
  • 如何轻松分析 Oracle 包的执行是否存在性能问题?

    我在 11g R2 DB 中有一个 pl sql 包 它有相当多的相关过程和函数 我执行一个顶级函数 它做了很多事情 当前每秒处理 对于 Oracle 的 PL SQL 分层分析器 DBMS HPROF 来说 这似乎是一项不错的工作 作为一
  • 优化 iPhone OpenGL ES 填充率

    我的 iPhone 上有一个 Open GL ES 游戏 我的帧率很糟糕 20fps 在 iPhone 3G 上使用 Xcode OpenGL ES 性能工具 它显示 渲染器利用率 95 至 99 瓷砖利用率 27 我正在绘制很多非常大的图
  • 随机迭代所有排列

    我导入了一个大数组 我想随机迭代所有行排列 该代码被设计为在某个数组产生所需的解决方案时中断 到目前为止的尝试涉及正常的迭代扰动过程 import numpy as np import itertools file np loadtxt m
  • 单击按钮后程序停止响应

    我正在尝试制作我的第一个程序 一个端口扫描器 显示远程服务器上的所有开放端口 我已经让它在 CLI 中工作 感谢互联网 但决定制作一个 GUI Qt5 它 我希望textbox2在输入IP地址并单击 扫描 后输出所有打开的端口 并且显然程序
  • User.Identity.IsAuthenticated 与 WebSecurity.IsAuthenticated

    在 MVC4 应用程序中 在控制器逻辑中 我想检查用户是否已登录 我应该使用 User Identity IsAuthenticated Or WebSecurity IsAuthenticated 据我所知WebSecurity只是一个包
  • 显示 kivy 滑块值的变化 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我想知道是否可以将 kivy 微调器值显示为移动标签 以便用户确切地知道滑块的当前值是什么 Thanks 您只需将侦听器绑定到值更改事件
  • Flowtype 函数可能会抛出错误

    有什么方法可以明确定义函数可以抛出错误 显然任何函数都可以抛出错误 但我想明确定义一个函数被设计为抛出并且可能根本不返回值 async function falseThrow promise Promise
  • 如何根据 NSString 类型键测试属性是否存在和类型?

    在我寻求更新 iOS 项目中的核心数据模型时 我在服务器上查询 JSON 对象 这些对象在某种程度上与我的模型的托管实体相对应 我追求的最终结果是从 JSON 输出获得可靠的更新解决方案 对于这个问题中的示例 我将命名核心数据管理对象exi
  • 将 Mongo 中的某些字段从字符串转换为数组

    我有一个文档集合 其中 标签 字段从空格分隔的标签列表切换为单个标签数组 我想将以前的空格分隔字段更新为像新传入数据一样的数组 我也遇到了 type 选择器的问题 因为它将类型操作应用于单个数组元素 即字符串 因此按类型过滤只会返回所有内容
  • SQL 排除包含按分组最大值过滤的几乎重复值的行

    我有一张这样的桌子 ID User ID Skill Skill Level Skill ID 1 1 Project Manager 3 1 2 4 Teacher 6 2 3 2 Teacher 5 2 4 3 Administrato
  • 具有不同主键的 Hibernate 继承

    我正在尝试使用 TABLE PER CLASS 策略创建继承 但我想为每个表使用不同的主键 这可能吗 我有一个类 Register 它有数百万个实例 其中一些实例是 特殊的 并且它们的列和额外列有不同的规则 MappedSuperclass
  • VB6.dll获取调用应用程序路径

    我正在从 VB6 制作一个 dll 我需要知道将使用该 dll 的应用程序的路径 但我不知道如何执行此操作直接来自 dll 有人知道该怎么做吗 先感谢您 嗯 这似乎可以作为 DLL 工作 Option Explicit Private Co