草庐IT

DLL_EXPORT

全部标签

c++ - 从注入(inject)的 DLL Hook DirectX EndScene

我想从任意DirectX9应用程序中绕过EndScene以创建一个小的叠加层。例如,您可以使用FRAPS的帧计数器覆盖,激活时会在游戏中显示。我知道以下方法可以做到这一点:创建一个新的d3d9.dll,然后将其复制到游戏路径。由于首先搜索当前文件夹,在转到system32等之前,我修改后的DLL被加载,执行我的附加代码。缺点:你必须在开始游戏之前把它放在那里。与第一种方法相同,但直接替换system32中的DLL。缺点:您无法添加游戏专用代码。您不能排除不希望加载DLL的应用程序。使用IDAPro4.9Free等工具直接从DLL获取EndScene偏移。由于DLL是按原样加载的,所以你

c++ - 我必须在我的应用程序中包含所有这些 Qt dll 吗?

我在使用Qt方面完全是新手,而且我不懂很多东西。作为测试,我使用VisualStudio2012和基于最新Qt5.1的Qt-VS-Add-in创建了一个简单的应用程序编译应用程序后它对我不起作用(报错),我搜索了整个互联网,发现很多人说我必须从目录中复制下面提到的那些dll:C:\Qt\Qt5.1.0\5.1.0\msvc2012\bin\我必须复制DLL才能使我的应用程序工作:icudt51.dllicuin51.dllicuuc51.dlllibEGL.dlllibGLESv2.dllQt5Core.dllQt5Gui.dllQt5Widgets.dll我的问题是这些dll的大小,

c++ - DLL 加载库 - 错误代码 126

我正在使用WindowsAPI中的“LoadLibrary”,当我运行应用程序时,它会抛出错误代码126。我读到它可能是由依赖关系引起的,我检查了一些应用程序(如DependencyWalker)有什么问题,但一切都很好。应用程序中的LoadLibrary:HMODULEdll_mod=LoadLibrary(L"path_to_dll");if(dll_mod==NULL){std::stringstreamerror;error插件代码:#include"stdafx.h"#defineDLL_EXPORT#definePLUGIN_STREAM__declspec(dllexpo

c++ - 我可以将 Visual Studio 2015 C++ Redistributable DLL 与我的应用程序捆绑在一起吗?

我使用MicrosoftVisualStudio2015CommunityEdition构建了一个C++应用程序。我正在使用高级安装程序来确保VisualC++RedistributableforVisualStudio2015是先决条件。但是,可再发行组件的安装程序并不完美。我的一些用户报告说,可再发行安装程序挂起,或者安装失败,然后用户收到“此程序无法启动,因为您的计算机中缺少MSVCP140.dll”错误。据微软称,IcannowpackagetheredistributableDLLsalongwithmyapplication,thoughtheydon'trecommend

c++ - DLL 中声明的全局变量会怎样?

假设我用C++编写了一个DLL,并声明了一个具有非平凡析构函数的类的全局对象。DLL卸载时会调用析构函数吗? 最佳答案 在WindowsC++DLL中,所有全局对象(包括类的静态成员)将在使用DLL_PROCESS_ATTACH调用DllMain之前构建,并且在使用DLL_PROCESS_DETACH调用DllMain之后将它们销毁。现在,你必须考虑三个问题:0-当然,全局非常量对象是邪恶的(但你已经知道了,所以我将避免提及多线程、锁、上帝对象等)1-不保证对象或不同编译单元(即CPP文件)的构造顺序,因此如果两个对象在两个不同的C

c++ - Visual C++ 中的 DLL 引用

我有C++经验,但没有MSVC。我想做的是将开源项目中的.dll合并到我的项目中。代码可用,我已经构建了它。我有.dll和.lib,据我了解,这是C++项目所必需的。不幸的是,现在没有简单的“添加引用”,将我的.dll放入包含目录并将其添加到我的解决方案中。我已经编辑了项目属性页、C/C++附加包含目录选项以及添加.lib作为附加链接器依赖项。我在解决方案树中为dll和lib创建了一个包含目录。我的问题是当我尝试包含文档中的头文件时,VS输出会吐出错误消息。现在我意识到我正在使用dll/lib组合,并且我的解决方案中不存在.h文件,那么如何添加正确的包含?我正在使用QT工具包,它也在工

c++ - 为什么 Visual Studio 找不到我的 DLL?

这个问题在这里已经有了答案:HowdoIsetthepathtoaDLLfileinVisualStudio?(7个回答)关闭7年前。在VisualStudio2010中,在VC++目录>可执行目录下,我指定了glew32d.dll的路径。但是,当我运行可执行文件时,它仍然会报错。另一方面,如果我将DLL复制到本地文件夹并运行可执行文件,它不会报错。谁能告诉我如何解决这个问题?另外,为什么VisualStudio无法识别该路径?更新场景:我目前使用一个模板项目,我用它作为我很多项目的起始代码。此模板依赖glew32d.dll。我通常将所有依赖的dll存储在一个公共(public)的bi

c++ - 无论代码如何,MinGW .exe 都需要一些 gcc dll?

使用MinGW编译时,我必须在运行exe之前从MinGWbin目录中复制某些dll文件(即使使用“-static”和/或“-static-libstdc++”。)我该如何改变呢?是否有我必须使用的特殊版本的MinGW?最终,我希望能够在目录中除了exe之外什么都没有运行程序(并且没有设置windows环境变量。)这些文件是:libstdc++-6.dlllibgcc_s_seh-1.dlllibwinpthread-1.dll这是我休闲的步骤的完整列表:打开代码::block选择“文件->新建->项目->控制台”填写项目“HelloWorld”的项目设置右键Project->Build

c++ - libgmp-10.dll 丢失

我最近在我的64位Windows7计算机上安装了MinGW,当我尝试编译最基本的c++程序时,例如#includeusingnamespacestd;intmain(){cout我收到“程序无法启动,因为您的计算机缺少libgmp-10.dll”的错误消息。 最佳答案 您是否尝试在Settings->中添加C:\MinGW\bin作为系统变量Path(不是PATH)系统属性->环境变量?我在这个页面上看到了这个解决方案:Missinglibgmp-10.dll 关于c++-libgmp-

c++ - 在运行时获取 DLL 路径

我想从其代码中获取dll的目录(或文件)路径。(不是程序的.exe文件路径)我尝试了一些我发现的方法:GetCurrentDir-获取当前目录路径。GetModuleFileName-获取可执行文件的路径。那么我怎样才能找出代码在哪个dll中呢?我正在寻找类似于C#的Assembly.GetExecutingAssembly的东西 最佳答案 您可以使用GetModuleHandleEx函数获取DLL中静态函数的句柄。你会发现更多信息here.之后,您可以使用GetModuleFileName从刚刚获得的句柄中获取路径。有关该电话的更