cmd下运行PowerShell命令,以及获取程序名和ID的shell命令

就不说那么多废话了,起初我发现powershell可以获取到计算机中程序的所有安装得软件名称和ID,获取这些信息的命令如下:

Get-StartApps

但是发现有些信息可能会因为太长而显示不全,最后的字符会显示成'...',这是我们在powershell命令后面加上一个参数’|format-list‘,这样就能够正常的显示,命令如下:

 Get-StartApps |format-list

我在程序中想要获取这些信息,就只能使用程序去运行这个命令。这里有两个思路:1.通过通信管道,执行cmd命令,获取返回的输出信息;2,通过将信息保存下来,然后再去读取保存的文件来获取对应的信息。

我采用的第二种方法:

注:自己编译的程序一般是32位的程序,打开的powershell也就是32位的,但是32位的有的命令不支持,所以这里调起powershell需要注意,应该带上路径去调用powershell:

%SystemRoot%\sysnative\WindowsPowerShell\v1.0\powershell.exe

cmd下运行PowerShell命令

PowerShell -Command "& {Get-StartApps |format-list}"

我这里使用的是 winexec的方式调用的 所以最后的代码如下:

winexec('cmd.exe /c %SystemRoot%\sysnative\WindowsPowerShell\v1.0\powershell.exe -Command "& {Get-StartApps |format-list}" -t > %Temp%\StartApps.txt',SW_HIDE);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值