草庐IT

RTL_USER_PROCESS_PARAMETERS

全部标签

c - GetProcessMemoryInfo PROCESS_MEMORY_COUNTERS_EX.PrivateUsage 始终为 0

我正在使用GetProcessMemoryInfo函数通过其PID确定进程内存使用情况。使用常规PROCESS_MEMORY_COUNTERS一切正常,但我需要PrivateUsage成员,它仅存在于扩展结构PROCESS_MEMORY_COUNTERS_EX中。有几个文档促使我强制将扩展类型转换为基本类型,否则我的示例将无法编译。我仍然能够从基本成员获取值,例如PeakWorkingSetSize,但PrivateUsage始终为0。我什至尝试重新定义PSAPI_VERSION-仍然没有。无法使用PSAPI_VERSION这是我的例子。#include#include#include

c++ - Boost::process 在 Windows 上隐藏控制台

最近发布了boost1.64,包括boost::process。这为启动进程提供了一个简单的界面。之前我使用了独立版本的boost::process库(参见here)。这很好用。我想换到新版本,这样我就可以放弃独立的依赖。API有点不同,但一切正常,除了onthing。在旧版本中,我能够传递特定于Windows的上下文对象,这允许我隐藏进程打开的任何控制台窗口。boost::process::win32_contextctx;ctx.environment=boost::process::self::get_environment();STARTUPINFOAstup;ZeroMemo

windows - Windows 上的 "System"和 "System Idle Process"PID 是否常量?

在我看过的几个WindowsXP系统上,“系统空闲进程”的PID始终为0,而“系统”进程的PID始终为4。在枚举进程的Windows程序中,是否安全通过这些PID识别这些进程,或者它们在某些情况下会有所不同吗? 最佳答案 我有假定这些PID是静态的生产代码,它可以在XP、Vista和Win7上运行。但不确定它是否是官方支持的方法!另外两种解决问题的方法:按升序对事件PID列表进行排序-SystemIdle和Systemprocesses应该是前两个。检查给定进程的父PID-SystemIdle和System进程的父PID均为0。

c# - 如何从 C#、Process.Start ("shutdown"关闭)在 Windows XP 中不起作用

在研究了如何从C#中重置我的计算机和/或关闭它之后,我找到了关于如何执行此操作的解释:ManagementBaseObjectoutParameters=null;ManagementClasssysOS=newManagementClass("Win32_OperatingSystem");sysOS.Get();//Enablesrequiredsecurityprivilege.sysOS.Scope.Options.EnablePrivileges=true;//GetourinparametersManagementBaseObjectinParameters=sysOS.G

python - process.communicate 和 getche() 失败

我正在尝试自动执行用C++编写的交互式命令行工具。启动时,二进制文件等待字母S、Q或P(状态、退出或暂停)。它使用非标准的msvcrt函数“getche”来获取击键(而不是例如gets()),而无需用户按回车键。我尝试以标准方式与进程通信(写入标准输入并使用process.communicate[]),但它没有获得输入。在尝试不同的事情几个小时后,我在VisualStudio中创建了两个小示例项目来重现问题并确保我是理智的(大概)。这是用于调用二进制文件的python脚本:importsubprocessimporttimecmd=["test-getch.exe"]process=s

windows - PDB 文件故障转储 user.dmp

我有一个应用程序崩溃,结果它在Windows平台上生成故障转储。我将exe和dll文件发送给客户。客户发来了user.dmp和drwtsn32.log文件给我。但是,客户没有对应的pdb文件。客户只有dll和exe文件。因此,当我将此user.dmp文件附加到Windbg时,我没有得到符号。那么,我需要做什么才能获得符号。我需要将pdb文件发送给客户吗?如果是,当发生崩溃时他需要如何处理这些pdb文件?我使用三台不同的机器:a)构建机器,c)客户的测试机器和c)我自己的调试机器(与构建机器不同)。windbg安装在调试机器上。我可以将所有pdb文件从构建机器复制到我的调试机器中。请告诉

c++ - 如何像在 Process Explorer 中那样获取进程起始地址的 "name"?

好的,我正在编写一个应用程序,旨在枚举给定进程中的线程,就像ProcessExplorer所做的那样。我很清楚这可能会在不同的Windows版本之间中断,因为它依赖于“非官方”API,例如NtQuerySystemInformation,我对此非常满意。我已经有了获取给定线程基地址的代码。我现在想把它变成类似于进程资源管理器所做的事情,即“ntdll.dll!EtwDeliverDataBlock+0x453”。我实际上不需要函数名称或偏移量,只需要模块名称。我该怎么做? 最佳答案 如果您只需要模块名称,最简单的方法是使用EnumP

c# - Azure AD 异常 - AADSTS50105 - "The signed in user is not assigned to a role for the application"

我正在使用AzureAD为ASP.NETWebAPI2RESTAPI设置身份验证。我希望所有客户端都能够使用用户名和密码通过RESTAPI进行身份验证。我已经设置了AzureAD(下面是完整的步骤,但本质上是-创建目录、添加用户、添加应用程序、在list中向应用程序添加角色、将用户分配给应用程序)。但是,当我尝试通过控制台应用程序(底部的完整代码)进行测试时,出现异常:类型为“Microsoft.IdentityModel.Clients.ActiveDirectory.AdalServiceException”的未处理异常发生在Microsoft.IdentityModel.Clie

c# - 微软报告 : Setting subreport parameters in code

如何设置子报表的参数?我已成功连接到SubreportProcessing事件,我可以通过e.ReportPath找到正确的子报表,并且可以通过e.DataSources.Add添加数据源。但是我找不到添加报告参数的方法??我发现有人建议将它们添加到主报告中,但我真的不想那样做,因为主报告根本不需要连接到子报告,除此之外正在包装子报表。我使用一份报告作为主模板,打印报告名称、页码等。子报告将成为报告本身。如果我只能找到一种方法来设置子报告的那些报告参数,我会很高兴...澄清:创建/定义参数不是问题。问题是设置它们的值。我认为自然而然的事情就是在SubreportProcessing事件

c# - Process.Start() 什么时候可以返回 null?

我有一些代码通过使用Process.Start(ProcessStartInfo)来启动一个进程.我从文档中看到,如果重用现有流程,此方法可以返回null。[Returnsa]newProcesscomponentthatisassociatedwiththeprocessresource,ornullifnoprocessresourceisstarted(forexample,ifanexistingprocessisreused).重用现有流程意味着什么,在什么情况下会发生这种情况? 最佳答案 如果您调用pass一个文件(不是