草庐IT

c++ - 什么是 RtlPcToFileHeader?

我正在使用VerySleepy0.7分析应用程序。该应用程序使用C++和Qt4.6.x编写,使用VS2005编译并在Windows7Ultimatex64上运行。目前使用率最高的是调用RtlPcToFileHeaderExclusiveInclusive%Exclusive%InclusiveModule33.67s33.67s15.13%15.13%ntdll从文档中我不清楚RtlPcToFileHeader是什么,但因为它在“错误处理函数”下被引用,所以它似乎不应该存在。话虽这么说,因为它基本上在我的分析捕获过程中一直在使用,所以它也可能是一些非常基本的函数调用(即类似main的东

c++ - 在没有注册表的情况下存储应用程序数据/设置的方法?

我需要一些从文件存储和获取数据的方法(在WIN32apic++应用程序中,而不是MFC或.NET)例如关闭窗口时保存窗口的x、y、宽度和高度,并在打开窗口时加载数据。我试过.ini文件,带有函数——WritePrivateProfileString和ReadPrivateProfileString/Int,但是在MSDN上它说“提供此功能只是为了与基于Windows的16位应用程序兼容。应用程序应将初始化信息存储在注册表中。”当我尝试在我的Windows764位机器上读取ini文件时,我遇到了蓝屏!(在visualstudio的Debug模式下)O.O我注意到大多数其他应用程序使用XM

c++ - Visual Studio C++ : How to make parts of code not be seen by the windows compiler?

所以一般来说,我有一个基于OpenSource跨平台库的小型C++项目。所以它可能会在linux下编译。因此,当我需要实现一些特定于平台的特定类函数时,我捕获了要点。我有一个包含所有函数声明的类头和包含实现的cpp文件。所以首先:如何在header中声明我的平台特定函数,这样当我尝试在linux下编译时,它不会尝试编译特定于windows的函数……而在windows上,编译器不会尝试编译包含header等的linux函数。所以对于Windows,我需要一些如何包装这些super特定的函数HRESULTEnumerateDevices(REFGUIDcategory,IEnumMonik

c++ - 如何在 wxWidgets 应用程序中获取 Internet Explorer?

目前正在使用wxHTML在基于C++WindowswxWidgets的应用程序中显示远程网页。但是,我需要更高级的功能,例如基本的CSS样式和JavaScript。我想,最简单的方法是嵌入InternetExplorer。保持应用程序的.exe大小很小是关键,所以我认为wxWebConnect不是一个合适的选择。我该怎么做?我找到了一些关于使用ActiveX将IE嵌入wxWidget应用程序的引用资料,但我无法找到任何示例或文档或任何内容。更新:它使用wxWidgets的原因是历史性的。跨平台问题不用担心,它应该只在Windows中运行。 最佳答案

c++ - 在多个线程之间安全地共享一个结构

在Windows/C++下,如果我有一个结构:structListItem{ListItem*next;ListItem*prev;...}连同在主进程和几个动态加载的DLL中运行的多个线程,并且所有这些线程都需要共享上述结构,我如何阻止它们互相踩踏?像这样的东西:ListItem*list=...Alist->next=...B我应该在A和B处放置什么以防止一次运行list->next=...的线程不超过一个? 最佳答案 主要有两种方式。一种可能是最简单的方法是简单地向每个线程发送它自己的数据结构拷贝。这样您就不必使用同步来保护数

c++ - 将 VK_CODE 转换为可显示的字符串

在编写Windows应用程序时,文档指出某些VK_CODE是可显示字符,例如VK_OEM1是“owithanumlaut”。如何从非ASCII字符的WPARAM转换为可显示的字符串?我正在使用UTF-16。 最佳答案 也许您正在寻找GetKeyNameTextFunction它检索表示键名的字符串。 关于c++-将VK_CODE转换为可显示的字符串,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/qu

c++ - 在 Windows 中获取替代文件名

我在Windows上运行我的程序,它将枚举目录中的文件并将其传递给处理这些文件的其他一些库。虽然我的程序确实支持unicode,但库不支持,所以我必须将unicode文件路径和名称转换为ANSI。只要该文件名中没有unicode字符,就可以正常工作。我知道windows中的每个文件和目录都可以通过它的8.3名称访问,但我不知道如何通过windowsapi获取该名称。 最佳答案 GetShortPathName()需要注意的是可以关闭短名称生成(fsutil) 关于c++-在Windows

c++ - 使用 VC++ express 编程窗口

我可以使用VC++express开发完整的win32应用程序吗(即访问所有win32API)?我不想使用.net,但如果它与.net一起工作,那么它是一个奖励。我有VisualStudioDVD,但我不想为了用C++编程而安装大量垃圾。我只想将WindowsAPI用于网络、文件系统、线程等。我很可能会使用GUI库,如TK或WX。Mingw是否允许我使用所有Win32API。 最佳答案 VC++Express可以访问所有WindowsAPI。它没有用于GUI开发的框架,但您可以轻松添加第三方包,例如Qt或wx,或者如果您愿意,可以直接

c++ - 测量由我的程序引起的设备驱动程序 CPU/IO 利用率

有时代码可以利用设备驱动程序直到系统无响应。最近我优化了一段WIN32/VC++代码,导致系统几乎无响应。但是,CPU使用率非常低。原因是1000次GDI对象(钢笔、画笔等)的创建和销毁。一旦我重构代码以仅创建一次所有对象-系统再次变得响应。这让我想到了一个问题:对于给定的程序/功能/代码行,是否有一种方法可以测量设备驱动程序(GPU/磁盘/等)的CPU/IO使用情况? 最佳答案 您可以使用SysInternalsUtilities中的各种工具(现在是Microsoft产品,请参阅http://technet.microsoft.c

c++ - 帮助在 C++ 中使用 PCRE

这是我第一次尝试构建C++应用程序,所以我有点迷茫。我看过一些例子,但我仍然不知道哪里出了问题。#include#include#include#include#include#includeusingnamespacestd;intmain(){chartitle[256];charurl[256];stringsong,diff;HWNDhwnd=FindWindow("WindowsForms10.Window.8.app.0.33c0d9d",NULL);GetWindowTextA(hwnd,title,255);pcrecpp::REre("^osu!-(.*)\\[(.*