草庐IT

内核编程

全部标签

windows - 从没有超线程的计算机中获取内核总数

这是一个艰难的过程。我需要使用命令从我的服务器输出确切的内核数。我的测试:X:在具有4个处理器(插槽)和2个内核的Windows服务器上,每个处理器都没有HT。Y:在具有2个处理器(插槽)和6个内核的Windows服务器上,每个内核都具有HT。GetSystemInfo只得到安装的处理器数量:4个用于X,2个用于Y。||X:8cores|Y:12cores|||4x2(noHT)|2x6(HT)||----------------|-------------|-------------||Desiredoutput|8|12||GetSystemInfo|4|2|%NUMBER_OF_

c++ - 以编程方式获取用于在非开发人员 Windows 环境中构建进程或库的 DLL 列表

我什至不确定这是否适用于Windows;我还没有看到一个人要求这么普遍的东西并找到解决方案。这可能是可能的,但可能没有用于处理它的API。我有一个自动化测试模块,我正在为Windows工作,它使用一个模块以通用方式处理检测到的EXE,除非它检测到二进制文件来自特定的测试框架。到目前为止,我只能通过查询帮助和处理响应/字符串解析来做到这一点。如果我触发某人在框架之外编写的长时间测试,该测试接受命令行参数寻求帮助,但实际上并不处理这些命令行参数而只是自动运行,这可能会导致问题。因此,有时我会卡在等待测试完成的时候,而不是进行闪电般的快速查询。这就是我试图通过这个花哨的新模块避免的。:)这个

windows - 运行时 OpenCL 内核代码中的错误

我是VisualStudio的新手,我正在使用它使用OpenCL编写一个简单的并行排序程序。当我运行它时,我在输出前得到一行(即在我接收和打印结果缓冲区之前)说“5ErrorsGenerated.”。我假设这告诉我我的内核文件中有错误,如果我故意在我的内核文件中写入错误,错误数量会增加。我真的很想知道这些错误是什么,以便我可以更正我的程序。由于不熟悉VS,我根本无法在任何地方找到它们。有谁知道我在哪里可以找到正在生成的错误。谢谢 最佳答案 您需要调用clGetProgramBuidlInfo要求CL_PROGRAM_BUILD_LO

python - 如何以编程方式检测应用程序在 Windows 中崩溃?

我正在运行一个启动多个应用程序的Python脚本。我需要一种方法来检测启动的应用程序是否已崩溃。一些应用程序有内部崩溃处理如何检测崩溃? 最佳答案 如果他们有内部崩溃处理,就不可能检测到。应用程序将处理错误并正常退出。如果您将自己附加为调试器,您甚至无法检测到这一点。原因是exceptiondispatching(MSDN):调试器收到有关异常的通知。这称为第一次机会异常。然而,这可能是“正常的”,例如FileNotFound,这是应用程序所期望的。Windows正在寻找想要处理异常的人。这可以是Python应用程序的exceptb

windows - 在 Windows 内核地址空间中将虚拟地址转换为物理地址

对于Windowsx64上的内核空间虚拟地址(VA>0xFFFF000000000000),从虚拟地址到物理地址的转换是如何工作的?我知道它如何用于用户空间虚拟地址:VA由多个表中的多个索引组成,第一个(PML4)位于存储在CR3寄存器中的物理地址(和过程DirectoryTableBase在WinDbg中也称为“DirBase”)。我猜这与内核空间VA类似,但是它们的PML4表在哪里?我的目标是在不依赖DbgEng/WinDbgAPI的情况下解析内核故障转储。我已经能够分辨出每个内存页在文件中的位置,但转储文件中的大多数字段都在内核空间VA中表示。该文件头中的DirectoryTab

C++ Windows - 以编程方式检查软件是否访问互联网?

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭4年前。Improvethisquestion假设我在Windows8.1上使用C++,并且我有软件的窗口/进程的ID。我可以检查这个软件是否连接到互联网?目的是检查软件是否可能会做一些可疑的事情。

Windows 内核驱动程序 : Does the "HANDLE UniqueThread" in "CLIENT_ID CreatingThreadId" is the same during the process loading?

我正在尝试编写一个APCdll注入(inject)驱动程序,我找到了this示例并考虑根据我的需要对其进行修改。在我理解了代码之后,我想到了如何修改它(我的问题由此而来)。在code,作者使用了PsLookupThreadByThreadId接收指向目标进程的ETHREAD结构的引用指针。PsLookupThreadByThreadId(pSpi->Threads[0].ClientId.UniqueThread,&Thread)但要得到SYSTEM_THREAD_INFORMATION对于UniqueThreadhandle,他用过ZwQuerySystemInformation我想

windows - 在 Windows 中编程的编码配色方案,而不仅仅是 Visual Studio

像许多SO人一样,我几乎整天都在电脑前。我喜欢VisualStudio的深色主题(在眼睛上更舒服),但由于Windows和应用程序(资源管理器、对话框、Outlook)的其余部分具有全白背景,因此更难在漂亮的深色VS和阳光明媚之间切换window。我尝试了一个UXTheme.dll补丁,但找不到任何适用于VisualStudio和Windows应用程序的黑暗主题。有什么建议吗?编辑:明确地说,我不喜欢或几乎不喜欢白色。没有滚动条、菜单等。 最佳答案 我认为您不会找到可以完成任务的Windows主题。许多软件应用程序不遵守Window

c# - 以编程方式为桌面 "shortcut"创建快捷键组合

有没有办法通过代码或通过创建安装项目(通过VS)来创建桌面快捷方式具有预定义的键盘快捷方式?alttexthttp://img89.imageshack.us/img89/8066/shortcutce8.jpg 最佳答案 您可以使用IShellLinkinterface,HotKey方法来定义一个热键。 关于c#-以编程方式为桌面"shortcut"创建快捷键组合,我们在StackOverflow上找到一个类似的问题: https://stackoverfl

windows - 如何在 Windows 上以编程方式从转储文件中获取堆栈跟踪

我想以编程方式从用户转储文件中检索堆栈跟踪。在已知位置有这个用户转储,我只想从中提取堆栈跟踪并将其放入纯文本文件中-有没有办法做到这一点?注意:我可以手动完成-打开windbg并输入“k”命令-但是正如我之前提到的,我想以编程方式执行此操作。谢谢 最佳答案 你应该检查windbgsdk子文件夹,其中包含有关如何以编程方式使用dbgeng.dll的示例。代码示例:PSTRg_DumpFile;PSTRg_ImagePath;PSTRg_SymbolPath;ULONG64g_TraceFrom[3];IDebugClient*g_Cl