草庐IT

c++ - VS2017 和在 Win7/XP 上缺少 "api-ms-win-core-rtlsupport-l1-2-0.dll"

在将我的一些程序从VS2015移植到VS2017后,我注意到二进制文件不再在Windows7或WindowsXP上运行-尽管它们已经是用v141_xp编译的工具集。程序无法启动,缺少DLLapi-ms-win-core-rtlsupport-l1-2-0.dll(注意2)。我很清楚那些api-ms-win-*DLL属于UCRT,并且从VS2015开始,我必须从Windows10SDK重新分发UCRTDLL(到在Windows10SDK目录的Redist\ucrt\DLLs中找到),以及我的应用程序-只需重新分发vcruntime140.dll和msvcp140.dll是不足够的。但是我

c++ - Win32中是否有C++跨平台 "named event like the "CreateEvent()”?

我正在寻找类似于Win32世界中的CreateEvent()、SetEvent()和WaitForMultipleObjects()的东西。具体来说,这必须可以在同一台机器上跨进程访问。我们已经将Poco用于一些跨平台的东西,但我没有看到Poco::Event是我想要的。也许我遗漏了什么。编辑:解释我想做什么:我希望进程B知道进程A何时发生某些事情。这在win32中是微不足道的-每个进程/线程调用CreateEvent()并为事件命名。当发生某些事情时,进程B调用waitForXObject()并且进程A调用SetEvent()。B发出信号。同样,这在win32中很简单,但如何跨平台进

c++ - 在 win32 API 应用程序中实现全局化/多语言功能

我在VisualC++中开发了一个窗口应用程序(Win32API)。我必须在此应用程序中添加多语言功能。任何人都可以指导我如何完成这项任务。 最佳答案 Windows上多语言应用程序的基础是“资源”的使用。资源是附加在可执行文件末尾的block,它只包含数据,并以非常特定的方式格式化,以便Windows能够解释这些数据。在您的资源中,您可以找到对话框、字符串表,还有版本信息(那些显示在资源管理器中文件的属性对话框中的信息)。您可以通过在VisualC++中打开exe或dll来查看任何dll或exe的资源。在开发应用程序时,您可以创建

c++ - 在 Win32 中构建最新的 iconv 和 libxml2 二进制文件

我正在尝试让MinGW和MSYS工作,以便我可以在Windows中构建iconv和libxml2,但我发现./configure和make给出了很多BSD/Unix相关的错误,这些错误不够具体到谷歌,描述性不足以让我弄明白。任何人都可以完成在Win32机器上构建iconv和libxml2.dll/.lib所需的一些步骤吗?我正在更新一些软件的库,我今天整天都在摆弄这个,但还没弄明白。我得到了最新的libpng、zlib和curl,没有任何问题,但我发现这些库没有像其他库那样的太多支持或操作方法。任何帮助将不胜感激,提前感谢您的宝贵时间。詹姆斯 最佳答案

win11内存完整性不兼容驱动程序的五种删除方法

  win11内存完整性不兼容的驱动程序怎么删除?win11的驱动不兼容的话,可能会导致软件或者游戏无法正常运行,也会导致Windows安全中心中的内核隔离——内核完整性功能无法开启。那么win11内存完整性不兼容的驱动程序怎么删除呢?下面小编就教你切实可行的三种解决方法,希望对你有帮助。  win11内存完整性不兼容驱动程序的五种删除方法  方法一  1、开始菜单--设备管理器--点击菜单栏中的查看--按驱动程序列出设备。  2、找到相关的驱动程序,查看驱动文件是否一致。  3、如果一致就删除不兼容的驱动。  方法二  1、打开360软件管家在搜索栏中输入驱动人生进行搜索,点击下载,完成后点

c++ - 是否可以在 Qt 应用程序中使用 Win32 Hooks

我想知道是否可以在Qt应用程序中使用win32键盘钩子(Hook)函数(SetWindowsHookEx、SetWindowsHookEx)。如果可能,请提供有关在Qt中使用SetWindowsHookEx和SetWindowsHookEx函数的示例代码。//截至2010年2月18日的更新//我还没有想出如何在QT中做到这一点。但作为解决方法,我使用vc++ExpressEdition创建了一个win32dll,并将我的Hook命令放在dll函数中。我使用QLibrary类从Qt调用该dll函数/*hearderfilecode*/QLibrary*myLib;typedefHHOOK

c++ - 如何保证快速关闭我的 win32 应用程序?

我有一个C++Win32应用程序,它有许多线程,当用户想要关闭应用程序时,这些线程可能正忙于执行IO(HTTP调用等)。目前,我玩得很好,等待所有线程结束,然后从main返回。有时,这花费的时间比我想要的要长,事实上,让用户在我可以退出时等待似乎毫无意义。但是,如果我继续并从main返回,我可能会崩溃,因为在仍有线程使用对象时开始调用析构函数。因此,认识到在理想的、柏拉图式的美德世界中,最好的做法是等待所有线程退出,然后彻底关闭,下一个最佳的现实世界解决方案是什么?简单地使线程退出得更快可能不是一种选择。目标是尽快让进程停止运行,例如,可以在其上安装新版本。我正在做的唯一磁盘IO是在事

c++ - 如何检查用户是否在 win32 中具有本地管理员权限

如何从C++检查用户是否在win32中具有本地管理员权限 最佳答案 刚找到IsUserAnAdmin()在为我完成工作的shlobj.h中。 关于c++-如何检查用户是否在win32中具有本地管理员权限,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/581204/

.net - 在 C++\Win32 中编辑控件文本更改消息

与.NETforC++\Win32中的TextChanged属性匹配的消息是什么? 最佳答案 假设您正在谈论Editcontrol,EN_CHANGE是您要查找的通知。Edit控件的父级通过WM_COMMAND接收通知消息,HIWORD(wParam)==EN_CHANGE,LOWORD(wParam)==editcontrolidentifier和lParam==editcontrolHWND。 关于.net-在C++\Win32中编辑控件文本更改消息,我们在StackOverflow

.net - 64 位 Win 上缺少 dll

我有一个.net应用程序,它使用一些vc++编译的Win32dll。它在32位Win上运行良好,但在64位上存在问题:“无法加载DLL'xyz':找不到指定的模块。(HRESULT异常:0x8007007E)”使用dependencywalker我发现它缺少以下dll:MSVCP100.DLL、MSVCR100.DLL、GDIPLUS.DLL、GPSVC.DLL、IESHIMS.DLL如何将它们安装到我的64位Win中?我应该把它们放在哪里?我应该注册他们吗?或者……?请注意,我的项目是为x86平台编译的,它作为32位应用程序从ProgramFiles(x86)文件夹运行。我的dll在