2019-11-29-dotnet-通过-WMI-获取指定进程的输入命令行

原文:2019-11-29-dotnet-通过-WMI-获取指定进程的输入命令行

title author date CreateTime categories

dotnet 通过 WMI 获取指定进程的输入命令行

lindexi

2019-11-29 08:35:39 +0800

2019-02-22 10:17:37 +0800

dotnet C# WMI

本文告诉大家如何使用 WMI 通过 Process 获取这个进程传入的命令行

使用下面代码,使用 Win32_Process 拿到所有的进程,通过 WHERE 判断当前的进程,然后拿到进程传入的命令

private static string GetCommandLine(this Process process)
{
    using (ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT CommandLine FROM Win32_Process WHERE ProcessId = " + process.Id))
    using (ManagementObjectCollection objects = searcher.Get())
    {
        return objects.Cast<ManagementBaseObject>().SingleOrDefault()?["CommandLine"]?.ToString();
    }

}

获取所有的进程的命令行参数

private static void Main()
{
    foreach (var process in Process.GetProcesses())
    {
        try
        {
            Console.WriteLine(process.GetCommandLine());
        }
        catch (Win32Exception ex) when ((uint)ex.ErrorCode == 0x80004005)
        {
            // Intentionally empty - no security access to the process.
        }
        catch (InvalidOperationException)
        {
            // Intentionally empty - the process exited before getting details.
        }

    }
}

如果不能访问 WMI 如使用的是 dotnet core 2.0 以下版本或需要通过 dotnet core 编译为 Native 就可以尝试不使用 WMI 在 dotnet 获取指定进程的输入命令行

https://stackoverflow.com/a/2633674/6116637

dotnet 获取指定进程的输入命令行

更多 WMI 请看 WMI 博客

.NET/C# 获取一个正在运行的进程的命令行参数 - walterlv

原文地址:https://www.cnblogs.com/lonelyxmas/p/12075838.html

时间: 2024-08-08 23:29:28

2019-11-29-dotnet-通过-WMI-获取指定进程的输入命令行的相关文章

获取指定进程所对应的可执行(EXE)文件全路径(代码)

1 #include "Psapi.h" 2 #pragma comment(lib, "Psapi.lib ")//需要包含头文件哦! 1 /* 功 能:获取指定进程所对应的可执行(EXE)文件全路径 2 * 参 数:hProcess - 进程句柄.必须具有PROCESS_QUERY_INFORMATION 或者 3 PROCESS_QUERY_LIMITED_INFORMATION 权限 4 * sFilePath - 进程句柄hProcess所对应的可执行文件

获取指定进程号,并kill掉

直接上案例: 例子:获取gerrit进程 方法:$ps -aux |grep nginx |grep -v grep |awk '{print $2}'  或者 $ps -ef |grep nginx |grep -v grep |awk '{print $2}' 例子:获取gerrit进程并kill掉 方法:$ps -aux |grep gerrit |grep -v grep |awk '{print "kill -9 " $2}' |sh 或者 $ps -ef |grep ger

矩阵结合律的证明-2019.11.29

学习日志-矩阵 矩阵的乘法 证明矩阵乘法的结合律,即证A(BC)=(AB)C 先令出三个矩阵 A_{mn}; B_{np}; C_(p*q) 先看等式右边(AB)C 新矩阵第i行第j列的元素就是AB相乘后的第i行与C的第j列各元素相乘的和 A的第i行乘以B的第1列如下: \begin{equation} \left[ \begin{array}{cccc} a_{i1} & a_{i2} & - & a_{in} \end{array} \right ] \left[ \begin

Shell命令之ps获取指定进程的进程号

直接看代码 ps aux|grep upload2FTP.sh|grep -v "grep"|awk '{print $2}' 其中awk指定输出第二列内容(centos对应进程号)

如何方便快速在指定文件夹打开命令行

在某个文件夹下,按住shift键,同时鼠标右键,出现如下: 点击即可. 若要以管理员身份打开,请参考: http://www.cnblogs.com/Wayou/p/3359993.html

c# 获取指定目录下的所有文件并显示在网页上

参考文献: FileInfo 的使用  https://msdn.microsoft.com/zh-cn/library/system.io.fileinfo_methods(v=vs.110).aspx 网页表格的生成  http://www.w3school.com.cn/html/html_tables.asp C# 通过文件扩展名获取图标和描述 http://www.csframework.com/archive/2/arc-2-20110514-1478.htm   http://ww

EOJ Monthly 2019.11 E. 数学题(莫比乌斯反演+杜教筛+拉格朗日插值)

传送门 题意: 统计\(k\)元组个数\((a_1,a_2,\cdots,a_n),1\leq a_i\leq n\)使得\(gcd(a_1,a_2,\cdots,a_k,n)=1\). 定义\(f(n,k)\)为满足要求的\(k\)元组个数,现在要求出\(\sum_{i=1}^n f(i,k),1\leq n\leq 10^9,1\leq k\leq 1000\). 思路: 首先来化简一下式子,题目要求的就是: \[ \begin{aligned} &\sum_{i=1}^n\sum_{j=1

windows7命令行终端获取管理员模式随笔

非常感谢http://wenku.baidu.com/view/d0e8d2d2240c844769eaee8a.html 背景: 安装了windows7系统后发现有很多命令在命令行模式下运行不了说没有管理员权限,其实我们在安装系统的过程创建的用户也是一个一般管理员的用户,在平时的工作中系统默认不采用管理员权限来运行程序的,所以有些命令运行不了也就不奇怪了.那怎样才能获得管理员权限呢或者说怎样提升命令行的管理员权限? 方法: 在命令行下用命令runas来提升管理员权限 步骤: 一.首先用命令lu

windows下使用C#获取特定进程网络流量

最近老板接了一个中船重工的项目,需要做一个有关海军软件系统的组件评估项目,项目中有一个子项目需要获取特定进程的各种系统参数,项目使用.NET平台.在获取特定进程各种系统参数时,其它诸如进程ID,进程名,进程私有工作集,进程工作集,进程IO吞吐量,进程CPU占用率等都可以直接使用.NET中的相关API直接获取,例如使用PerformanceCounter对象可以获取进程私有工作集.进程工作集.进程IO吞吐量等,但是对于特定进程的网络上行流量和下行流量却没有办法直接使用.NET中API获取,网上也找