作者peardog ( ^ _< )
看板C_Sharp
标题[问题] 取得工作管理员的命令列(1000P)
时间Wed Jul 11 20:19:09 2018
各位大哥大姊好,小弟我有个问题想请教
如何在程式内取得工作管理员的命令列(物件名称+引数)
https://imgur.com/Km79VUA
我主要是想要抓到命令列的引数
试过两种方法
第一种:
Process.GetProcesses()
这个可以找到所有执行中的process
但是没有引数,只能取得process的完整路径(process.MainModule.FileName)
例如 C:\Users\user1\Desktop\新文字文件.txt
而且有时候会跳例外 Win32Exception
第二种:
new ManagementObjectSearcher("SELECT CommandLine FROM Win32_Process))
这方法可以取得跟工作管理员一样的命令列
但是无法抓到所有的process(只有32位元)
请问有办法找到本机目前执行的所有处理序的命令列吗?
就像工作管理员那样
Ps
已解答 欢迎提出更好的解法
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 219.70.179.63
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_Sharp/M.1531311552.A.91C.html
1F:推 jun112561: 第一次知道工作管理员有命令列这东西... 07/11 20:49
2F:→ smmoon: Can I get command line arguments of other processes07/12 08:58
3F:→ smmoon: 标题下的好 问题没烦恼...07/12 08:59
4F:→ peardog: 这方法我用过了 command line 会是空的07/12 11:51
5F:→ peardog: 目前我是自己发现跟权限有关07/12 11:53
6F:→ peardog: 以系统管理员身份执行才能抓到所有process的命令列07/12 11:54
※ 编辑: peardog (118.166.71.111), 07/12/2018 12:00:43