草庐IT

c++ - DuplicateHandle() 是否进行任何进程间通信 (IPC),如果不进行,为什么要使用目标参数?

我正在寻找DuplicateHandle()非常困惑。第三个和第四个参数hTargetProcessHandle和lpTargetHandle似乎暗示这个API函数进行某种形式的进程间通信,但我在网上阅读的内容似乎暗示(没有直接说)实际上这个函数不能与外部的任何东西通信它自己的进程的地址空间,如果你真的想说将本地进程句柄复制到另一个进程,你必须自己手动完成。所以有人可以可怜我并明确地告诉我这个函数本身是否有任何IPC吗?另外,如果它不执行任何IPC,那么这两个参数的意义何在?如果没有发送数据并且此函数的输出对其他进程不可见,怎么会有“目标”?起初我以为我可以调用GetCurrentPr

c++ - 如何在库加载时将预处理器定义传递给 DLL

我正在开发一个链接到DLL的应用程序,该DLL本身包含一个数据结构,其定义因预处理器定义而异:structExample{uint8_tStringA[32];#ifUSE_Buint8_tStringB[32];#endif};我需要在我的应用程序中的不同时间使用结构的两个版本。因此,我似乎需要使用LoadLibrary加载DLL,其中USE_B未定义用于部分执行(这是标准且直接的),使用FreeLibrary卸载它,然后然后使用定义为非零值的USE_B再次加载它。我不确定如何执行此操作,如有任何帮助,我将不胜感激。 最佳答案 L

c++ - 由于 DirectX,OpenCV 构建失败

我正在关注这个guide在Windows7下为Qt5编译OpenCV。我正在使用:CMake3.14.3OpenCV4.1.0Qt5.12.2我按照说明配置和设置了参数。然后开始编译。它失败并出现许多类似的错误:C:\opencv\sources\modules\core\src\directx.cpp:1055:5:error:'cl_context'wasnotdeclaredinthisscopecl_contextcontext=(cl_context)ctx.ptr();^~~~~~~~~~C:\opencv\sources\modules\core\src\directx.

c++ - 如何隐藏在 Qt 应用程序中打开的 Windows 终端?

首先,有类似的问题,但我认为这是一个不同的问题,因为Windows终端仅在我调用system()时出现,而不是在应用程序启动时出现。我有一个带有gui的程序,它是用C++和Qt编写的,并使用MinGW编译器在qmake中使用.pro文件构建。操作系统是虚拟机中的Windows10。我在Ubuntu中编写了代码,它按预期工作(根本看不到操作系统终端),但现在我正在Windows中测试它。我的问题是,每当我在我的代码中调用system()或类似代码来执行另一个程序(假设在后台)时,Windows都会在我的gui前面打开一个cmd终端。我的程序中有很多这样的调用,因此在程序运行时有很多这样的

c++ - 使用 SFML 在屏幕顶部 (Windows) 绘制

在Windows上,您可以使用GDI在所有内容之上绘制,采用null的绘制上下文:HDChdc=GetDC(NULL);我希望对SFML做同样的事情,但如果我尝试一些等效的东西(创建渲染窗口,将NULL作为参数,在将其转换为hwnd之后)任何地方都不会绘制。我正在尝试使用sfml甚至可能吗? 最佳答案 好吧,如果你想要OpenGL,你需要一个窗口期。但是窗口不需要在屏幕上可见。您可以结合使用GDI和OpenGL来实现您的目标。通过OpenGL将屏幕外的内容渲染为位图使用与桌面分辨率相同的不可见窗口。如果窗口是不可见的,它不会对鼠标或

c++ - 如何在 C++ Windows 中包含第三方库?

我的下载文件夹中有boost库。当我尝试包含特定文件时。它正在抛出错误。下面是代码和我做的步骤。\main.cpp#include"type_index.hpp"intmain(){//somecodereturn0;}我打开命令提示符并运行以下命令g++-IC:\Users\Owner\Downloads\boost_1_70_0\boost-omainmain.cpp命令提示符出现以下错误Infileincludedfrommain.cpp:2:0:C:\Users\Owner\Downloads\boost_1_70_0\boost/type_index.hpp:17:28:fa

c++ - 如何通过具有命令行参数的 procdump 启动 Windows 应用程序?

我有一个用于Windows的C++应用程序,它接受命令行参数。如何使用procdump启动带有这些参数的应用程序?我试过了:>procdump64.exe-ma-xc:\dumps"C:\ProgramData\someapp.exearg">procdump64.exe-ma-xc:\dumps'C:\ProgramData\someapp.exe"arg"'但都没有说:Errorlaunching'C:\ProgramData\someapp.exe:Thesystemcannotfindthefilespecified.(0x00000002,2)但是,如果我显式运行该应用程序,

windows - 无法映射 LAlt + autohotkey 中的任何键

这应该很简单,但我做不到...当按下左alt键时,此脚本将切换到下一个桌面:LAlt::^#Right;NextDesktopreturn我想要这个,除了我想按leftalt+'&'代替。但显然在alt后添加任何键使其停止工作。例如LAlt&w::^#Right;NextDesktopreturn应该与左键+w一起工作,但它什么都不做。我知道'!'可以是alt,但在这种情况下使用'!w'也不起作用 最佳答案 Trythis:LAlt&w::Send^#{Right};NextDesktop

c++ - 如何在加密前拦截应用程序通信?

我正在尝试对Windows应用程序用于通过网络进行通信的协议(protocol)进行逆向工程。它使用TLS加密连接与服务器通信。我想拦截应用程序的相关调用(对TLS库或安全套接字API),并查看其明文消息。完全披露:这不是为了任何充实目的,而是为了改进开源项目。我试过在Linux上的Wine下运行该应用程序,上面的内容相当于一个LD_PRELOAD技巧,用于拦截对send()的调用。https://rafalcieslak.wordpress.com/2013/04/02/dynamic-linker-tricks-using-ld_preload-to-cheat-inject-fe

c++ - 修复Qt Window大小和位置问题

我按如下方式保存和恢复QMainWindow的大小和位置:window->resize(savedSize);window->move(savedPos);window->show();voidcloseEvent(QCloseEvent*e){savedSize=window->size();savedPos=window->pos();}问题是窗口位置由应用程序栏(Windows最小化和最大化按钮所在的栏)更改。因此,当我打开和关闭窗口几次时,窗口会越来越向下移动(每次都恰好是应用程序栏的大小)。我怎样才能准确地恢复到最后的位置?问候, 最佳答案