草庐IT

c++ - 为什么不调用继承自 QSortFilterProxyModel 的 filterAcceptsRow?

有一个名为customSortFilterProxyModel的类继承自QSortFilterProxyModel。一个protected函数filterAcceptsRow被覆盖。但是,根本不会调用filterAcceptsRow。问题是什么?谢谢。customSortFilterProxyModel.hclasscustomSortFilterProxyModel:publicQSortFilterProxyModel{Q_OBJECTpublic:customSortFilterProxyModel(QObject*parent);~customSortFilterProxyMo

c++ - CPU 使用率高的 Win32 应用程序

这是我第一次使用Windows应用程序,我有点沮丧。我只有一个创建Win32(VisualC++)GUI应用程序的简单代码,但是一旦我启动可执行文件,我的CPU就会上升到30%(超过应用程序),在我解决这个问题的搜索中,我发现有人说在消息循环(GetMessage或PeekMessage)中休眠10毫秒可以解决这个问题,而且确实如此。但由于我真的不喜欢突然休眠我的代码,而且这是一个事件处理程序循环,所以我很乐意解释如何解决这个问题。“麻烦的地方”一瞥。while(TRUE){if(PeekMessage(&g_Msg,NULL,0,0,PM_REMOVE)){TranslateMess

c++ - 单例执行顺序

我试图在Windows和cygwin(linux)上执行一些代码(c++),发现单例类的执行存在差异。由于我的代码依赖于其他单例类,因此它在功能上可以在linux下正常运行,但在windows下却无法正常运行,有时反之亦然。请看下面的顺序:Posix:Singleton:UniqueIdServiceSingleton:MonitorServerMonitorServer:WaitingforMonitorClientconnection....Singleton:ManagerServerManagerServer:WaitingforTesterClientconnection..

C++ - 进程以管理员身份运行时的 GetUserName()

我有一个提示用户名的简单C++程序#include#include#includeint_tmain(intargc,_TCHAR*argv[]){wchar_tusername[UNLEN+1];DWORDusername_len=UNLEN+1;::GetUserName(username,&username_len);MessageBox(NULL,username,NULL,1);return1;}GetUserName()在管理员帐户中按预期执行,这意味着打印真实的用户名。但是,当在非管理员帐户中以管理员身份运行时,我得到的是管理员名称,而不是实际登录的用户。我相信这种行为是

c - "Error: unknown type name ..."在处理与二级 ADT 融合的一级 ADT 时。

大家早上好我是SO的新手,我问这个问题是因为我必须重新调整昨天的算法和编程考试。在CodeBlocks上输入我的考试时,我遇到了一个我无法修复的错误。基本上,考试要求从数据结构中的文件(格式:char*namecity,intpopulation,intdistance)中加载内存中的一些信息,然后它要求计算每个城市的相互距离并将它们收集到另一个数据中结构体。我决定制作2个ADT:第一个在我的库“vett.h”中定义:#ifndefVETT_H_INCLUDED#defineVETT_H_INCLUDED#include"List.h"typedefstructvett{charnom

c++ - 如何获取 EFI 系统分区的卷名?

我有一台带有GPT驱动器的Windows机器。我有一个EFI系统分区的DOS设备名称作为bcdedit的输出。我想打开这个分区的句柄并通过QueryDosDevice()获取DOS名称,以便与我已经拥有的DOS名称进行比较。我尝试使用FindFirstVolume/FindNextVolume查找卷名以从QueryDosDevice获取DOS名称,但我没有找到EFI系统分区的卷。WMI也没有此分区的卷。如何从C++代码中获取EFI系统分区的卷名以在QueryDosDevice中使用它? 最佳答案 试试这个。下载并安装WinObj(来

c++ - 检测远程桌面连接何时启动?

有什么方法可以检测远程桌面连接何时在Windows机器上启动?例如,我想让一个C++应用程序在Windodws检测到RDC连接已初始化时立即打印“警告:RDC连接传入”。RDC连接时是否会调用某种系统事件? 最佳答案 您可以创建一个线程,它会每隔500毫秒不断询问是否正在立即打开远程连接,您可以找到正确的方法here.您仍然可能没有及时发现它,所以您可以每隔一小段时间检查哪些TCP端口打开,您可以使用GetTcpTable2查看https://msdn.microsoft.com/en-us/library/windows/desk

c++ - 控制操作系统鼠标点击

我似乎无法找到我正在寻找的改变操作系统鼠标点击的方法。要指定这将在Windows上。目标是限制用户在一段时间内可以注册的鼠标点击次数。 最佳答案 我认为您正在寻找的函数是SetWindowsHookEx。这是一个简单的例子。#includeconstDWORDdesireddelay=10;LRESULTCALLBACKMouseProc(intnCode,WPARAMwParam,LPARAMlParam){staticDWORDprevioustimestamp=0;if((nCode==0)&&(wParam==WM_RBUT

c++ - 用户禁用的启动位置中的 WinAPI 和程序

在Windows中,所有添加到启动位置的程序都显示在任务管理器->启动中。用户可以使用TaskManager禁用任何该程序-但在这种情况下,Windows不会从启动文件夹中删除相应的注册表记录或快捷方式。似乎Windows有自己的“禁用”程序列表。我们能否通过WinAPI以编程方式访问/编辑此列表? 最佳答案 HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\StartupApp‌roved\Run包含禁用程序的二进制数据记录。此数据通过常规Wi

c++ - 某些用户的 OpenProcess 访问被拒绝

我有一个应用程序打开另一个非系统32位进程,并尝试使用EnumProcessModulesEx获取其加载模块的列表,并使用GetModuleFileNameEx获取每个模块的路径.它在我的开发环境(Windows10)中运行良好,并且适用于许多测试过该应用程序的用户。但是,对于某些用户(两个用户,Windows8.1和Windows10),OpenProcess()函数失败并显示访问被拒绝(错误代码5)。我正在使用PROCESS_QUERY_INFORMATION|打开进程PROCESS_VM_READ。使用PROCESS_QUERY_LIMITED_INFORMATION打开进程可以