草庐IT

MY_DLL_N

全部标签

windows - x64 调用另一个 dll 中的函数

有人可以向我解释x64平台上的以下行为吗:如果我从我的可执行文件调用x64中另一个dll中的函数,则反汇编代码如下所示:000000014000149EFF1534CF0000callqwordptr[__imp_CFuncInDll(14000E3D8h)]我意识到调试器计算的是这个绝对地址14000E3C0h的相对地址。然而,与x86代码不同,如果我反汇编地址14000E3D8h,它看起来像垃圾:__imp_CFuncInDll:000000014000E3D81910sbbdwordptr[rax],edx000000014000E3DA25FCFE0700andeax,7FEF

c - DLL 函数未导出 : Unable to find an entry point named TestFunc

我正忙于了解一点点C/C++,并与C#互操作。我已经检查了几个创建简单的Win32DLL并从C#使用它的示例,但是当我尝试调用我的DLL时,我收到运行时错误:“无法找到名为TestFunc的入口点”。我的DLL看起来像这样,我从一个Win32DLL项目创建它,带有空项目选项:标题:__declspec(dllexport)intTestFunc(char*,char*,char*);代码文件:#include"stdafx.h"#include"TestLib.h"__declspec(dllexport)intTestFunc(char*arg1,char*arg2,char*arg

c++ - DLL依赖问题/SetDLLDirectory

我有以下情况,想不出什么好办法。我在C:\ProgFiles\MyApp中安装了一个C++应用程序(app.exe)。它需要一堆DLL,我安装在C:\ProgFiles\MyApp\bin中。我想将它们放在一个子文件夹中,因为它们太多了。现在,当我启动app.exe时,需要让Windows知道所需DLL的位置。过去我为此使用PATH环境变量,但我不能再这样做了,因为我将使用单独的安装程序创建另一个应用程序,它使用许多具有相同名称的DLL。我想在应用程序的开头调用SetDLLDirectory-但我忘记了,因为缺少所需的DLL,它在到达那里之前就失败了。有什么建议吗?

windows - 复制 Windows XP 上正在运行的进程使用的 dll 是否安全?

这是在WindowsXP上。我有一个正在运行的进程(我想保持运行)。如果我复制它使用的dll(例如,将其替换为较新的版本),这是否会导致正在运行的进程出现问题,或者代码是否已经加载,所以这无关紧要? 最佳答案 您不应该复制正在运行的进程正在使用的dll。为了替换dll,需要将其标记为删除并在下次重新启动时替换。如果您希望手动执行此操作,则需要停止该过程。如果您可以复制它-那么dll没有像您怀疑的那样被使用,如果它被延迟绑定(bind)那么您可以在一个过程中复制它进程没有主动锁定它的时间-并且提供dll的内部结构对事件进程没有任何不利

c++ - LoadLibrary() dll 的相对地址

我正在尝试在Windows的代码中加载一个dll,我使用LoadLibrary()函数成功加载了我的dll,但我有一个问题,我给出了我的dll的路径,如:LoadLibrary(C:\\path\\to\\my\\dll);我想知道我是否可以提供我的dll的相对路径。我的意思是例如:LoadLibrary(.\mydlldirectory\mydll.dll)这可能吗?如果没有,我如何开发我的项目,它可以在不改变不同机器上的dll路径的情况下移植? 最佳答案 它很可能会失败,因为您在第二次调用LoadLibrary时忘记转义反斜杠。

c++ - 如何正确终止 dll 中的挂起线程?

大家好,我有一个包含错误的第三方库。当我调用一个函数时,它可能会挂起。库函数在dll中被调用。我决定将调用移到线程中并等待一段时间。如果线程完成,则确定。如果不是——我应该强制终止它。此处的简化示例:unsignedCounter=0;voidf(){HANDLEhThread;unsignedthreadID;//Createthesecondthread.hThread=(HANDLE)_beginthreadex(NULL,0,DoSomething,NULL,0,&threadID);if(WAIT_TIMEOUT==WaitForSingleObject(hThread,50

windows - 在哪里可以找到丢失的 DLL

一个基本的缺失DLL问题...我正在尝试使用Py2Exe来打包我的Python程序,该程序使用了wxPython。Py2Exe由于缺少DLL而不断失败,但我不知道在哪里可以找到它们。我试过搜索我的整个C:驱动器,但在任何地方都找不到它们,这告诉我它们丢失了,而不仅仅是未注册。谷歌搜索也没有帮助我找到它们,除非通过狡猾的“安装魔法缺失DLL(我们保证没有垃圾软件;)”网站。我希望有人能发现这些DLL之间的联系并告诉我它们来自哪里。这里有一些-每次我告诉Py2Exe排除一个DLL它说我错过了一个不同的并且列表似乎永无止境:api-ms-win-core-libraryloader-l1-2

c++ - DLL监控

是否有应用程序允许我查看从进程发送到DLL的内容?我有一个进程和一个DLL,我想监视发送给函数的参数,以便我自己可以使用DLL。DLL的EXPORT是。??0CCCPcompressor@@AAE@XZ??0CCPExpandor@@AAE@XZ??1CCCPcompressor@@AAE@XZ??1CCPExpandor@@AAE@XZ?清除@CCCPCompressor@@QAEHXZ?Clear@CCPExpandor@@QAEHXZ..Compress@CCCPCompressor....删除@CCCPcompressor....删除@CCPExpandor....Expand

windows - InnoSetup 在 Mac Parallels 上安装的 Win XP 上找不到 'My Documents'

我一直在尝试帮助用户安装我们的软件。我们的软件设置是使用InnoSetup分发的,他将它安装在装有Parallels和WindowsXP的MacPro上。安装期间,InnoSetup失败并显示:内部错误:无法扩展shell文件夹常量“userdocs”在InnoSetup中,{userdocs}映射到“我的文档”文件夹,并且由于InnoSetup是用Delphi编写的,我假设它使用CSIDL_Personal或CSIDL_MYDOCUMENTS来检索此文件夹,但我不知道如何修复这些位置。有人遇到过这个吗?如果是这样,您知道如何解决吗?谢谢! 最佳答案

python - 温度探头、电压探头等.dll

我正在用python开发一个程序来监控cpu的温度和其他各种东西,包括主板电压。我曾尝试使用wmi和acpi来读取探测器,但没有成功。这已经在这里讨论过:http://www.python-forum.org/pythonforum/viewtopic.php?f=1&t=26726我现在正尝试从带有ctypes模块的dll中读取,想知道是否有人知道使用什么.dll(s)来获取诸如Win32_TemperatureProbe之类的读数。如果有人可以提供帮助,将不胜感激。 最佳答案 温度探测器和其他取决于硬件和bios。尝试查看bio