草庐IT

c++ - 在 Win 7 中从远程进程获取 PEB

规范:Windows7x64,VisualC++目标:我正在尝试获取RemotePEB来自示例程序(例如calc.exe)。我找到了procID,并打开了一个具有所有良好权限的进程句柄。我现在开始编写一个类来使用PROCESS_BASIC_INFORMATION从进程中检索PEB的位置。问题:我在其他地方发现了一些帖子,这些帖子似乎表明NtQueryInformationProcess在MS变成了垃圾。一篇文章提出了一种从ntdll.dll中动态运行时链接NtQueryInformationProcess的方法。但是,我认为如果没有大量的错误处理,从长远来看这将是不稳定的(MS明天可能

javascript - 在 V8 中从 C++ 代码创建自定义错误类

我想在原生NodeJS(0.11.5)扩展中创建自定义异常。我正在尝试在V8(3.20.11)中创建内置Error类的子类。基本上,我正在寻找与以下Javascript代码等效的C++:functionMyError(message){Error.apply(this,arguments);this.message=message;}MyError.prototype=newError;MyError.prototype.name=MyError.name;newMyError("message")我尝试挖掘V8源代码,发现以下辅助方法似乎可以完成我想要的部分操作:HandleFact

c++ - 在 Visual Studio 中从 C++ 代码中检索 AST

有什么方法可以使用MicrosoftVisualStudio编译器从C++代码生成AST?我想到了类似于来自clang的-ast-dump选项的东西。 最佳答案 我不相信MSVC会生成您可以访问的AST。您可以从我们的DMSSoftwareReengineeringToolkit获取MSVC的AST.看这个DMS-generatedexampleC++AST的。 关于c++-在VisualStudio中从C++代码中检索AST,我们在StackOverflow上找到一个类似的问题:

c++ - 在 C 或 C++ 中从 LaTeX 制作 PNG|jpeg

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭5年前。Improvethisquestion我正在寻找一个C或C++库(或更聪明的解决方案),它可以从LaTeX代码生成图像文件(PNG|jpeg)。使用包是先决条件。现在我正在考虑将一个.tex文件编译成一个.dvi并使用dvipng来获得一个.PNG。还有可能将.tex文件编译为.ps文件,然后通过pstopng或pstoedit等外部实用程序将其转换为.PNG.但这些解决方案很麻烦,而且并不总是可移植的。

Neo4J在Intellij Idea中从JU​​NIT测试中运行时,在服务器扩展程序中记录

我使用的是Neo4J3.2.1社区版和IntellijIdeasUltimate2017.1,Junit4.12和Java8。我明白了org.neo4j.logging.Log过程类中的对象使用:@ContextpublicLoglog;然后在方法中使用它:log.info("Infomessage...");在运行neo4j并调用扩展程序时,这可以正常工作,但是使用junit测试中创建的服务器实例从Intellij内部运行时,日志不可见。我的测试代码看起来像这样:packagegraphEngine;importGraphComponents.TestGraphQueries;importo

如何在Google搜索框中从五个建议中随机选择一个建议

通过使用此代码,我可以单击所有建议中的一个建议。我无法随机单击建议。我需要随机单击一个建议,并仅验证单击的建议是否显示。packagegoogle;importorg.openqa.selenium.By;importorg.openqa.selenium.WebDriver;importorg.openqa.selenium.firefox.FirefoxDriver;importorg.testng.annotations.Test;publicclassGoogle{publicWebDriverdriver;@Test(priority=1)publicvoidFirefoxacces

c++ - 在 C++ 中从正则表达式中排除子表达式

假设我尝试使用C++中的regex.h匹配以下表达式,并尝试获取包含的子表达式:/^((1|2)|3)(1|2)$/假设它与字符串“31”匹配,子表达式将是:"31""3""1"如果它与字符串“21”匹配,则子表达式将是:"21""2""2""1"这意味着,根据第一个子表达式的计算方式,最后一个位于pmatch数组的不同元素中。我意识到这个特定示例很简单,因为我可以删除其中一组括号,或获取数组的最后一个元素,但在更复杂的表达式中它会出现问题。假设我想要的只是顶级子表达式,即不是其他子表达式的子表达式的子表达式。有什么办法只能得到它们吗?或者,要知道在一个子表达式中匹配了多少个子表达式,

c++ - 在 C++ 中从可执行路径(或从 hWnd,或从 pid)获取程序名

我有一个窗口的HWND,使用GetWindowThreadProcessId我得到它的进程的pid,通过GetModuleFileNameEx我得到了可执行路径(我使用PathFindFileName来获取可执行名称)。但是,我似乎找不到任何方法(如果有的话)来获取程序的名称。例如,对于可执行文件chrome.exe,我想获取名称“GoogleChrome”。你能帮帮我吗?编辑:谢谢大家!使用您推荐的引用资料,我想出了这个:CStringcsProductName;DWORDcbFileVersionInfo=GetFileVersionInfoSize(pszProcessPath,

c++ - 协助在 MFC 中从多字节移植到 UNICODE

我还有6个月到一年的乏味时间。我正在开发一个包含100万多行代码的程序(其中大部分是在90年代早期/中期编写的)并且已经决定它现在应该支持UNICODE构建。我研究并发现了许多最佳实践:使用许多Microsoft和C++方法的_t版本,如_stprintf_s()代替sprintf_s()或_tcsstr()代替strstr(),包装所有需要为TCHAR*的编码字符串,例如_T("string")或_T('c'),将大多数char*替换为LPTSTR,将大多数constchar*替换为LPCTSTR,将char替换为TCHAR如有必要,使用CA2T()和CT2A()在char*和LPT

c++ - C++中从stdin中读取长度大于4096字节的字符串

我正在尝试以10^5的顺序读取一个长度的字符串。如果字符串的大小超过4096,我会得到不正确的字符串。我正在使用以下代码stringa;cin>>a;这没有用,然后我尝试通过以下代码逐字符读取unsignedcharc;vectora;while(count>0){c=getchar();a.push_back(c);count--;}我已经为使用getchar做了必要的转义,这也有4096字节的问题。有人可以建议解决方法或指出正确的阅读方式。 最佳答案 这是因为您的终端输入在I/Oqueue中进行了缓冲内核。Inputandout