草庐IT

DLL_FILE_NAME

全部标签

c++ - 从 dll 函数调用中正确获取 Windows 版本?

假设我正在编写一个包含获取操作系统版本的函数的多用途dll:voidget_os_version(DWORD*major,DWORD*minor){OSVERSIONINFOEXosvi;ZeroMemory(&osvi,sizeof(OSVERSIONINFOEX));osvi.dwOsVersionInfoSize=sizeof(OSVERSIONINFOEX);//deprecatedbuteasiertouseforthisexample'ssakeGetVersionEx((OSVERSIONINFO*)&osvi);*major=osvi.dwMajorVersion;*m

windows - find/C "A"结果为 "find: ' A' : No such file or directory"

我正在尝试计算文件中theanswerhere之后的行数,例如使用find/C,但我在控制台中看到的是:find:'/C':Nosuchfileordirectoryfind:'A':Nosuchfileordirectory我有一个简单的“TEST.txt”文件,其中包含三个A和三个B,全部换行:$typeTEST.txtAAABBBfindstr似乎可以工作,但它不能返回计数:$typeTEST.txt|findstr"A"AAA查找不工作:$typeTEST.txt|find"A"find:'A':Nosuchfileordirectory我错过了什么?PS:整个例子来自1效果不

c++ - 在全局变量的初始化/取消初始化中使用隐式加载的 DLL 中的函数

考虑一个使用导入库logging.lib的Windows程序,这样logging.dll将在运行时自动加载/卸载。另外,考虑主程序的翻译单元之一定义类类型的全局变量,如下所示:structInitGuard{InitGuard(){logging::initialize();}~InitGuard(){logging::deinitialize();}};InitGuardg_initGuard;除了更好的方法是在函数main中实例化InitGuard之外:是否保证logging.dll在调用InitGuard的c'tor时已经加载?更重要的是,是否保证logging.dll在Init

c++ - 包装第 3 方 DLL

我有一个需要使用LoadLibrary()动态加载并使用__cdecl调用约定的第3方DLL。我需要能够使用VB6中的dll,因此我创建了一个我自己的包装器DLL,它使用__stdcall调用约定并导出所需的函数。现在有一个额外的要求,我正在努力寻找如何管理;包装的DLL为另一个应用程序提供了一个API,我需要同时连接到该应用程序的两个实例。这是一个问题,因为DLL没有session的概念,典型的交互如下所示:tpc_connect("service1")//Dosomestufftpc_disconnect()我需要做的是session1=tpc_connect("service1"

c++ - DLL 中的非阻塞套接字(无窗口)

我有一个通过单个套接字连接到服务器的DLL。我面临以下问题:如果服务器的IP地址和端口为假或服务器已关闭,则使用此DLL的应用程序会卡住半分钟。我的想法是使用非阻塞套接字来避免该问题,方法是显示一个指示连接进度的窗口,并允许取消此过程。但是我没有窗口处理程序,怎么能使用WSAAsyncSelect函数呢? 最佳答案 如果你想使用WSAAsyncSelect类型的套接字,那么你的Dll将需要创建至少一个消息窗口来处理套接字事件。由于窗口将永远不可见,因此它的WindowProc将仅包含一个处理程序,用于您的自定义消息(WM_USER+

c++ - 如何使用 ffmpeg 以便不需要将其 dll 包含在您的应用程序文件夹中?

所以我的观点是为c/C++Windows开发人员找到.lib形式的普通ffmpeg,以便能够在我的应用程序中包含所有需要的功能——也就是说一个exe没有额外的dll。所以我正在透过它的window看/autobuilds/搜索这样的.lib文件数组。至于现在最接近我想要的是带有.lib和.dll.a文件的ffmpeg-swscale-mingw32-shared-dev\lib文件夹。问题是我对C/C++开发还很陌生,所以我想知道这个构建是我需要的还是我需要其他东西?毕竟ffmpegmingw32共享开发版本中的.dll.a文件是什么? 最佳答案

c++ - DllMain 在注册 COM dll 时卡住

我尝试注册一个名为MixCenter.dll的COMdll。我已经找到了它所依赖的所有dll。当执行官第一次使用它的DllMain时,它会卡住并且永远不会返回。这似乎是一个死锁,但我没有调用任何LoadLibrary,它也永远不会执行到DllMain。这种情况还有其他原因吗?这就是DllMain的样子:BOOLAPIENTRYDllMain(HANDLEhModule,DWORDul_reason_for_call,LPVOIDlpReserved){switch(ul_reason_for_call){caseDLL_PROCESS_ATTACH:g_hinstDLL=hModule

c++ - 从 Windows 二进制文件中删除 msvcp90d.dll 依赖项

我有一个我分发的dll,它不能在某些Windows操作系统上运行。使用dependancywalker我发现这些系统上缺少msvcp90d.dll。我不想要任何需要C++可再发行组件的运行时依赖项,并且由于调用DLL的应用程序不是用C++编写的,因此它对C++可再发行组件没有任何依赖性。我猜我在编译dll时在链接器首选项中留下了DEBUG选项,这就是它需要msvcp90d.dll的原因?添加:抱歉,我在原来的问题中粘贴了错误的dll名称……在显示器前的时间太长了……这个dll是我在VS2008编译的第三方dll,不是我写的。 最佳答案

regex - 如何 : Searching for a string in a file from the Windows command line?

有没有办法在目录及其子目录的文件中搜索字符串?字符串比较独特。我想返回字符串的名称,并希望返回字符串在文件中所在的行。Windows中是否内置了用于执行此操作的任何内容? 最佳答案 您正在寻找内置的findstrcommand./S选项执行递归搜索。 关于regex-如何:SearchingforastringinafilefromtheWindowscommandline?,我们在StackOverflow上找到一个类似的问题: https://stacko

c++ - 在 XP 中也加载的 DLL 中使用新的 Vista 线程池 API(XP 中未使用线程池代码)

我们正在生成一个同时针对Windows7和XP的DLL。我们希望我们的DLL在Windows7系统上加载时使用较新的Vista线程池API,而不是在XP系统上加载时。现在,我们尝试编译带有操作系统运行时检测的DLL,以确保VistaAPI永远不会在XP系统上使用,但我们仍然无法在WindowsXP系统上注册我们的DLL,因为缺少kernel32中的依赖项.dll...除了构建两个单独版本的DLL之外,还有其他解决方法吗?提前致谢 最佳答案 为什么不使用LoadLibrary动态加载kernel32.dll,然后使用GetProcAd