C# VB6连接到进程-Com暴露的VBA
我得到了一个VBA电子表格,它调用了用VB6和“COM”编写的函数 谁能指出:C# VB6连接到进程-Com暴露的VBA,c#,vba,vb6,C#,Vba,Vb6,我得到了一个VBA电子表格,它调用了用VB6和“COM”编写的函数 谁能指出: 如何找到VBA在COMP调用中实际调用的dll/二进制文件的位置 如何将调试器附加到VB并在调用函数os时被命中 我来自C语言背景,因此非常感谢您的帮助 编辑:我有源代码并从Excel中找到了引用-如何将VB6调试器附加到Excel并找到断点?要了解库文件是什么,请打开VBA IDE(通常通过在宿主应用程序中按Alt+F11)并转到Project->references。 如果没有什么有趣的内容,您需要在VBA代码中
编辑:我有源代码并从Excel中找到了引用-如何将VB6调试器附加到Excel并找到断点?要了解库文件是什么,请打开VBA IDE(通常通过在宿主应用程序中按Alt+F11)并转到Project->references。
如果没有什么有趣的内容,您需要在VBA代码中搜索对
CreateObject
的调用,这将为您提供COM对象的ProgID
,然后您可以在注册表中找到它
由于缺少源代码,您可以像调试任何随机应用程序一样调试VB6库—通过使用它。要了解库文件是什么,请打开VBA IDE(通常通过在宿主应用程序中按Alt+F11)并转到Project->References。
如果没有什么有趣的内容,您需要在VBA代码中搜索对
CreateObject
的调用,这将为您提供COM对象的ProgID
,然后您可以在注册表中找到它
由于没有源代码,您可以调试VB6库,就像调试任何随机应用程序一样。我有源代码-我仍然不明白如何将VB6附加到正在运行的进程。@Chloe然后在VB6中加载源代码,转到项目属性,
debug
选项卡,确保上面写着“等待创建组件”,在代码中设置一些断点,然后按F5运行项目(IDE将开始等待创建对象)。然后尝试使用应用程序中的对象。请记住,这是从VBA调用的。VB如何知道其对象是在何时创建的。我有多个从VBA引用的二进制文件副本。我是否转到VBA项目属性并添加引用(如果是,到底是哪个二进制文件)允许我附加到进程?我有源代码-我仍然不明白如何从VB6附加到正在运行的进程。@Chloe然后在VB6中加载源代码,转到项目属性,调试选项卡,确保上面写着“等待组件被创建”,在代码中设置一些断点,然后按F5运行项目(IDE将开始等待创建对象)。然后尝试使用应用程序中的对象。请记住,这是从VBA调用的。VB如何知道何时创建其对象。我有几个从VBA引用的二进制文件副本。我是否转到VBA项目属性并添加引用(如果是的话,到底是哪个二进制文件)以允许我附加到进程?