草庐IT

pthreads-win

全部标签

c++ - Win32_PhysicalMedia SerialNumber 有时顺序错误

引用MSDN我修改了一些代码,以便我可以检索硬盘序列号hres=pSvc->ExecQuery(bstr_t("WQL"),bstr_t("SELECTSerialNumberFROMWin32_PhysicalMedia"),WBEM_FLAG_FORWARD_ONLY|WBEM_FLAG_RETURN_IMMEDIATELY,NULL,&pEnumerator);......hr=pclsObj->Get(L"SerialNumber",0,&vtProp,0,0);我将vtProp.bstrVal转换为std::wstring并执行反向字符串,我必须将vtProp.bstrVal

c++ - Win32 更改为二进制模式子标准输出(管道)

你好这个伟大的社区,当使用管道重定向子项时,('\n')0x0A到('\n\r')0x0D0x0A的自动转换出现问题stdout到一个文件,child的输出是字节而不是文本。首先,我使用了这些例子MSDN-CreatingaChildProcesswithRedirectedInputandOutput和http://support.microsoft.com/kb/190351),现在我有了这个基本应用程序,它创建了一个管道并将child的STDOUT重定向到一个二进制文件。所有这些都在VisualC++6.0中的Win32控制台应用程序中(是的,它很旧,但是是必需的)。#defin

c++ - 如何判断 win32 c++ 应用程序在 CTRL-ALT-DEL 后是否失去焦点?

我用C++编写了一个win32App(一个游戏),我想知道应用程序是否因为用户按下CTRL-ALT-DEL并启动任务管理器。我怎样才能做到这一点?检测到事件后我想做的是最小化游戏窗口并暂停其处理(动画、音频等)。但是,如果用户从CTRL-ALT-DEL菜单返回到游戏,那么它应该继续正常运行。我以为我可以检查CTRL、ALT和DEL上的按键,但这似乎不起作用,只是对失去焦点(WM_KILLFOCUS)不是我想要的。 最佳答案 您可以使用WTSRegisterSessionNotification(),当用户按下Ctrl+Alt+Del

c++ - 如何停止正在阻塞的 win32 线程?

我创建了一个自定义的ThreadPool,它使用_beginthreadex()启动许多win32线程。线程正在运行一个简单的循环,试图从阻塞队列中取出任务,但有时我需要停止线程,如果它们在Dequeue上被阻塞,那么我不知道如何获取线程脱离阻塞状态。voidThreadPool::Loop(){while(_running){try{//Attemptstodequeueataskandrunit_taskQueue.Dequeue()->Run();}catch(BlockingQueueTerminate&){//Eattheexceptionandchecktherunning

win11/win10安装程序时老是弹出安全警告

原因分析:1.误删注册表信息(未整理)2.防火墙设置导致执行.exe需要权限(以管理员身份运行)3.注册表禁止通知未设或缺失4.和其他隐性设置有关方法总结:目录解决方案方法一(win11):Internet自定义级别方法二(win10):防火墙通知更改方法三(win10):SecurityCenter的“属性”更改方法四(win10):组策略法方法五(win10/win11):注册表法问题解释:其中gpedit.msc命令在win11上执行并未成功,我查了一下需要修复解决方案方法一(win11):Internet自定义级别Win +S  然后输入Internet,然后点击Internet选项。

c++ - 链接器读取库但在其中找不到符号?未解析的外部符号,但仅适用于 Win32 而不是 x64

背景我有一个C天文库,我想在我的C++应用程序中使用它。我在Win32和x64配置中在VisualStudio2012Express中构建它,并且:动态调试(.dll)动态发布(.dll)静态调试(.lib)静态发布(.lib)...因此总共有2*4=8个二进制文件(不包括*.pdb文件等)然后我使用BatchBuild来构建所有配置,因为有时我需要不同的版本,我发现在一开始就完成这一切并使用一个过程比随意混合要好得多。在我的C++应用程序中,我有相同的过程,并根据名称链接到库。具体来说,在我的项目属性Linker->Input字段中,我有:SwissEphemeris_$(Platf

Win10 python环境测试selenium加IE浏览器自动化-踩坑实录

【背景】需要访问某个旧网址,仅支持IE浏览器访问。为了实现自动化,被迫采用python加selenium、加IE浏览器来做。【实录】selenium采用IE浏览器方式的资料不多,网上可供参考范例不多。以下实时记录整个过程,实现调通一个基本访问实例。【第一步】安装正确版本的selenium、urllib3和IEdriver。经查阅资料,目前能找到的最高版本带IEdriver支持的selenium是3.141.0版本pipinstallselenium==3.141.0pipuninstallurllib3pipinstallurllib3==1.26.2【踩坑之一】注意,需要卸载自动安装的url

c++ - 如何使 Win32/MFC 线程同步循环?

我是Windows中多线程的新手,所以这可能是一个微不足道的问题:确保线程同步执行循环的最简单方法是什么?我尝试将Event的共享数组传递给所有线程,并在循环结束时使用WaitForMultipleObjects来同步它们,但这让我在一个线程后出现死锁,有时是两个,周期。这是我当前代码的简化版本(只有两个线程,但我想让它具有可扩展性):typedefstruct{intrank;HANDLE*step_events;}IterationParams;intmain(intargc,char**argv){//...IterationParamsp[2];HANDLEstep_event

c++ - 在 C++ WIN32 中识别后台进程并将其置于前台

谁能告诉我如何识别特定的后台进程(即,已经在运行的应用程序)并将其带到前台?例如,如果一个记事本应用程序在后台运行,当我运行我的WIN32应用程序时,它应该识别记事本应用程序并且记事本应该弹出或进入前台。我尝试了SwitchToThisWindow()函数,但它的工作方式类似于Alt+tab。它不会识别后台进程。请给我建议这方面的演练指南..谢谢你.. 最佳答案 不清楚您所说的“后台进程”是什么意思,但这里有一些想法:使用EnumWindows为您提供桌面上的所有顶级HWND。这将包括一堆你不想要的东西,你必须过滤掉。建议您使用Sp

c++ - 为什么 MS 在其 win32api 中没有返回字体文件名的函数,给定字体句柄?

在使用WindowsAPI多年的经验中,这是我第一次遇到我需要做某事的情况,而我不能使用Windows当前的编程接口(interface)。根据我的研究,字体“ArialBlack”使用文件arialblk.ttf并且字体“ArialBlackItalic”没有文件,字体“ArialBlack”也没有粗体”,至少在我装有Windows7的计算机中是这样。我在下面插入了一个程序来显示几行使用字体“ArialBlack”的文本,单独使用,然后使用斜体和粗体显示。令我惊讶的是,斜体文本呈现正常,而粗体文本呈现为好像只是“ArialBlack”。然后我意识到同样的事情发生在MSWord上。我还