草庐IT

c++ - 如何在 OpenGL 或 Win32 中获取显卡型号名称?

我想知道OpenGL或Win32中的显卡型号名称,因为我在特定类型的显卡上存在内存泄漏错误(仅IntelHD而不是所有Intel)。这是错误:https://software.intel.com/en-us/forums/developing-games-and-graphics-on-intel/topic/280679OpenGL中的供应商名称不够。有人知道获取与使用Direct3D不同的图形卡名称的方法吗?或者您认为我可以同时使用D3D和OpenGL吗?Getthegraphicscardmodel? 最佳答案 您可以通过Op

c++ - 如何消除 RICHEDIT 控件的 MessageBeep?

RichEditcontrol有这个非常烦人的功能。每当用户试图将光标移过它的“终点”时,它就会发出哔哔声。例如,您可以使用WordPad对其进行测试这也实现了RICHEDIT。打开它,输入一些文字,然后点击Home。key。如果光标不在行首:点击Home键将它移到那里,但随后点击Home再次按键会发出此蜂鸣声。乍一看好像是重写了WM_KEYDOWN和WM_KEYUP消息并阻止RICHEDIT可以发出哔哔声的情况是一个解决方案……直到我真正开始实现它。不幸的是,它并不像听起来那么简单,因为在很多情况下该控件都会发出哔哔声!因此,我的击键阻止代码确实膨胀到300多行,而且我仍然看到有一些

c++ - 在 win32 进程崩溃时防止模态对话框

我们有一个用于夜间构建的遗留构建基础设施(在Perl中实现)来编译、链接和单元测试我们的应用程序/插件。在Windows上,如果单元测试过程崩溃,则会弹出一个模态对话框,“锁定”我们的构建场。有没有办法(win32API调用、系统配置、envvar等...)禁用此行为,让子进程在崩溃时立即终止,而不是模式对话框和非零退出状态?谢谢,--DDPS:我们在Windows上使用SEC(结构化异常处理)进行编译,以便能够使用catch(...)“捕获”崩溃,因此大部分时间都避免了这个问题,但有时这还不够,因为当然有些崩溃是不可恢复的(例如,如果它们损坏了堆栈)。 最

c++ - 这些 g++ "multiple definition"错误是怎么回事?

我正处于一个项目的早期阶段(阅读:昨天才开始),我正在设置我的初始makefile。这非常简单。以下是文件的完整内容:all:main.oresource.og++-ooutput.exemain.oresource.omain.o:main.cppmain.hresource.hg++-mwindows-omain.omain.cppresource.o:resource.rcwindresresource.rcresource.oclean:rm*.o在这一点上,我认为重要的是要提到我正在Windows上工作,所以我在Powershell中使用MinGWg++4.5.2或使用Cyg

c++ - .rc 文件中的 TEXTINCLUDE 部分重复

在我的.rc文件中,我发现3个TEXTINCLUDE部分重复了两次,但内容不同。当我打开“资源包含”时,只显示前3个部分的包含。我很久以前就对.rc进行了调整,所以它可能是那个的遗留物。我可以安全地删除后3个部分吗?我从我的.rc文件中粘贴了这个,您可以看到TEXTINCLUDE部分是如何重复的(即“3TEXTINCLUDE”后面跟着“1TEXTINCLUDE”。1TEXTINCLUDEBEGIN"resource.h\0"END2TEXTINCLUDEBEGIN"#include""afxres.h""\r\n""#include""res/Pngs.h""\r\n""#includ

c++ - 检查进程 ID 时使用 WaitForSingleObject 的好处

与不使用相比,在这里使用WaitForSingleObject有什么好处?第一个代码块来自previousanswer.第二个障碍是我是如何做的。BOOLIsProcessRunning(DWORDpid){HANDLEprocess=OpenProcess(SYNCHRONIZE,FALSE,pid);DWORDret=WaitForSingleObject(process,0);CloseHandle(process);return(ret==WAIT_TIMEOUT);}对比BOOLIsProcessRunning(DWORDpid){HANDLEprocess=OpenProc

c++ - 判断当前字体是否支持 unicode 字符的简便方法?

我使用的是BorlandC++Builder2009,我会像这样显示左右箭头:Button2->Hint=L"Ctrl+\u2190";Button3->Hint=L"Ctrl+\u2192";这在Windows7上运行良好,应用程序使用字体“SegoeUI”。在XP上我得到一个正方形而不是箭头,我在XP上使用字体“Tahoma”。换句话说,提到的Unicode字符在XP上的Tahoma中不存在。有没有简单快捷的方法来检查当前使用的字体是否支持所请求的Unicode字符?例如,如果是这样,我可以将箭头替换为“>”或“感谢您的帮助。 最佳答案

c++ - Delphi 中 C++ NULL 的等效常量是什么?

我需要将我的C++代码迁移到Delphi。在C++代码中有许多检查来检查给定句柄​​(HANDLE)是否为NULL。可以在Delphi中使用的等效常量是什么?Delphi中的null似乎与C++中的NULL不同。 最佳答案 在WindowsC++头文件中,NULL是一个扩展为0的宏.这意味着NULL可以在数字和指针上下文中使用,因为C++语言支持这种用法。但是,对于Delphi,值0用于数字上下文,值nil在指针上下文中使用。WindowsHANDLE值在Delphi中声明为数字类型,因此代替C++NULL你应该使用0在德尔福。

c++ - 使用 Win32 API 监控电池电量

我正在尝试编写一个小应用程序来监控笔记本电池的剩余电量,我想知道我可以使用哪个Win32函数来实现这一点。 最佳答案 对于Vista及更高版本,您可以使用RegisterPowerSettingNotification有关早期功能,请参阅PowerManagementFunctions在MSDN页面“电源管理功能:WindowsServer2003及更早版本”的这一部分您可以在codeproject上查看Vista方法的示例代码. 关于c++-使用Win32API监控电池电量,我们在St

c++ - 使用 Windows 消息检测媒体插入驱动器

我目前正在使用WM_DEVICECHANGE在新的USB驱动器连接到计算机时收到通知。这对于像拇指驱动器这样的设备非常有用,一旦设备到达,它就可以从中读取文件。对于像SD读卡器这样的设备,它不会,因为当设备连接时会发送一次消息,但当用户实际将卡插入设备时不会发送任何消息。是否可以在不使用轮询的情况下检测新媒体插入现有USB设备? 最佳答案 我几周前刚做过这个。从技术上讲,RegisterDeviceNotification路由是正确的方法,但它需要大量的工作才能正确。但是,Windows资源管理器已经为您完成了所有艰巨的工作。只需使