Articles of DLL

Qt5应用程序部署qwindows.dllsearchpath顺序

我正在将我们的应用程序与所需的DLL部署在同一个文件夹中。 加上平台文件夹中的qwindows.dll。 这真的很好,也没有任何Qt安装机器。 直到昨天,当我更新我的Qt到5.5.1。 现在所有使用Qt 5.5.0构build的应用程序停止工作,并显示出众的错误:“无法find或加载Qt平台插件的窗口”。 当我将我的Qt文件夹(C:\ Qt)重命名为其他内容时,所有事情都可以再次运行。 进一步调查与依赖沃克表明,应用程序的确看着我的C:\ Qt文件夹来find平台的DLL。 但他们发现一个更新/不同的版本,并抛出错误。 GetProcAddress(0xxxx [ADVAPI32.DLL], "SystemFunction036") called from "MSVCR120.DLL" at address 0xxxx and returned 0x00007FFB269C1050. LoadLibraryW("C:\Qt\5.5\msvc2013_64\plugins\platforms\qwindows.dll") called from "QT5CORE.DLL" at address 0xxxx. Loaded "QWINDOWS.DLL" at address 0xxxx. Successfully hooked module. Loaded "WINMM.DLL" at address 0xxxx. Successfully hooked module. Loaded "OLEAUT32.DLL" at address 0xxxx. Successfully hooked module. Loaded […]

访问一个DLL中的全局variables

我如何访问一个全局variables,在我的应用程序的main()函数中初始化一个dll? 我的全局variables包含一个临界区对象,我需要locking在一个DLL。 我试图导出它在我的应用程序,并将其导入到DLL使用 __declspec(dllexport)和__declspec(dllimport)但是当我试图locking关键部分,我得到了一个runtineexception,这让我觉得我的dll访问的variables没有正确初始化。 该DLL在运行时使用LoadLibrary加载。 任何提示,将不胜感激。

Win32 API来枚举dll导出函数?

我发现类似的问题,但没有答案,我在找什么。 所以在这里: 对于本机Win32 DLL,是否有Win32 API来枚举其导出函数名称?

如何查看DLL函数?

我有一个我想查看的DLL文件。 我想查看在该DLL中使用的function,任何人都可以帮助我?

64位Windows使用KERNEL64吗?

我正在用dumpbin查看一些库,我注意到所有的64位版本都链接到了KERNEL32。 在64位Windows上没有KERNEL64吗? 如果没有,为什么? 我所有的操作系​​统都是32位的,所以我不能只看。 谷歌search带来没有什么值得的,所以我怀疑,没有KERNEL64,但我仍然好奇,为什么这是。 编辑:我后来发现这是非常有用的。 MSDN指南x64

没有模块命名为'_pywrap_tensorflow_internal'

在尝试validationtensorflow-gpu的安装时,当试图执行“导入tensorflow为tf”时,我得到一个ImportError。 我在Windows 7上使用Quadro K620。使用pip安装Tensorflow。 以下是堆栈跟踪: Microsoft Windows [Version 6.1.7601] Copyright (c) 2009 Microsoft Corporation. All rights reserved. C:\Users\aagarwal>python Python 3.5.2 (v3.5.2:4def2a2901a5, Jun 25 2016, 22:18:55) [MSC v.1900 64 bit (AM D64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import tensorflow as tf Traceback (most recent call last): File "C:\Users\aagarwal\AppData\Local\Programs\Python\Python35\lib\site-packag es\tensorflow\python\pywrap_tensorflow_internal.py", […]

客户生气,打击未知的DLL依赖关系

我是一个为客户开发C ++ Windows应用程序的单人展示。 在过去的几个月里,我们一直在运行着与客户机器上缺lessDLL依赖关系相同的问题。 尽pipe我尽了最大的努力,但事情总是出错,我们生气的邮件又回来了。 我的老板和老板的老板对我很生气,客户也不开心。 我希望你们能够帮忙,并就如何获得交付物提供build议/想法。 之前的一些显而易见的: 我没有testing机器。 也就是说,我无法复制客户环境,也不会尝试在“干净”系统上安装应用程序,以便在发货前了解问题。 我已经尝试使用depends.exe来追查我的项目依赖于哪些版本的DLL。 我使用我已经能够以这种方式find的可重新分发的代码发运我们的代码。 之后,这是一个愤怒的客户电子邮件等待游戏。 我可以访问64位机器和32位机器来安装新版本。 它总是在那里工作。 我需要使用不能注册的第三方DLL(这是错误的地狱。) 我不应该使用Install Shield,任何其他自动化安装程序或编写安装脚本。 我提供关于如何安装应用程序的书面说明(解压缩,双击exe文件。) 我厌倦了为这个东西加热。 我错过了什么,我可以做什么? 在雇主的支持下我应该问什么? 我应该如何以他们提供的方式寻求支持? 更新: 虚拟机鱼雷。 他们不希望我花费我所有的时间来设置和拆分客户configuration。 相反,我现在正在与客户合作来获得基本configuration,以便我知道我应该瞄准的确切的机器设置。 如果不符合这个规格,我不再需要关心。 至less有什么地方去了…虽然我仍然喜欢testing机器。

捕获MFC应用程序在纯C ++ dll中生成的Windows消息

首先:这是可能的吗? 我有一个第三方DLL连接一些硬件。 它是用MFC编写的。 我收到(从DLL供应商)示例Visual Studio 2010解决scheme,它只有一个项目:一个MFC应用程序(.exe)调用第三方DLL有问题。 它工作正常。 当我尝试从我的DLL(这是简单的C ++,没有MFC,没有.NET)使用第三方DLL,我可以调用它的function很好,但有一个catch:示例MFC应用程序似乎“重写”按顺序MessageProc捕获第三方dll生成的某些消息。 虽然DLL有一个名为“RegisterFuncCallback”的函数,我使用它,我的callback永远不会被调用。 所以这里的问题是:如何在不创buildMFC应用程序的情况下捕获这些消息? (这甚至有可能吗?)

在dynamic加载的dll中查找name-mangled函数

我有一套明确被devise为仅用于C ++的API。 我不希望它们被C程序(或任何其他语言)使用,因此我输出命名空间和类的信息,而不是使用extern "C"path,并使用内联的效用函数来调用plain C函数。 现在我只处理在编译时链接的dll,这意味着将函数导入到可执行文件非常容易,因为它不涉及我的工作。 不过,我打算开发一个插件系统,这将需要我在运行时dynamic加载dll。 我能使用GetProcAddress()find名称改变的C ++函数吗?

如何使用SetWindowsHookEx和WH_KEYBOARD钩住外部进程

我想挂钩例如记事本没有成功。 做一个全局钩子似乎工作正常。 在XP SP2上testing。 编辑:修正的代码现在工作。 MyDLL代码 #include <windows.h> #include <iostream> #include <stdio.h> HINSTANCE hinst; #pragma data_seg(".shared") HHOOK hhk; #pragma data_seg() //#pragma comment(linker, "/SECTION:.shared,RWS") compiler error in VC++ 2008 express LRESULT CALLBACK wireKeyboardProc(int code, WPARAM wParam,LPARAM lParam) { if (code < 0) { return CallNextHookEx(0, code, wParam, lParam); } Beep(1000, 20); return CallNextHookEx(hhk, code, wParam, lParam); […]