UiPath 使用技巧

【UiPath 技巧 06】UiPath 中启动进程、获取进程信

2018-08-30  本文已影响438人  Creator_蔚蓝

问题

有时候我们需要启动进程、关闭进程、获取进程的信息

1. 启动进程
启动进程

注意设置属性:


属性设置

要点:

  1. FileName :填写程序名字,如:"EXCEL.EXE",注意它是字符串形式
  2. WorkingDirectory :填写程序所在的文件夹,如:"C:\Program Files (x86)\Microsoft Office\Office15"
2. 获取进程信息

方法 1, 使用 Get process Activity ,然后会得到当前所有运行中的 Process 的 Collection。

image.png

将结果存储在 colProcess 里面


属性设置 注意 colProcess 的类型

然后添加 ForEach Activity , 并在内部转换成字符串输出,就可以看到当前存在的所有 process

输出 Process 信息

注意:
ForEach 的 TypeArgument 要改成对应的对应的 System.Diagnostics.Process 才会有对应的方法,默认的Object 没有 Process 对应的属性。

默认 TypeArgument 类型

默认是 Object

应该设置成这个:


正确的 TypeArgument

由于前面已经出现过,很容易选错成这个:


错误的 TypeArgument

运行之后的结果如下:

运行结果

注意:括号内的字符串才是进程的名字。以 Excel 进程为例,它的名字是 EXCEL 而不是任务管理器看到的 EXCEL.EXE *32

方法 2 设置 ForEach 的 TypeArgument 之后,直接输出 ProcessName

直接输出 ProcessName processName

方法 3Any 方法省去循环。使用 Colprocess.Any(function(p) p.ProcessName.Contains("EXCEL")) 语句可以直接返回一个布尔值,表示进程是否存在。你可以用在 Assign 或者 IF 语句中使用这个语句。

不用循环

方法 4 判断进程是不是存在,可以用执行 powershell 命令得到进程,并且返回进程名称!如果不存在通过捕获异常的形式判断是否继续打开相关的程序

PowerShell Activity PowerShell 的属性

PowerShell 返回的还是 Process 集合,跟 Get process Activity 的结果一模一样
据说可以通过设置参数来指定返回的数据,暂时没有找到办法

方法 5 Run PowerShell Script Activity,

image.png

然后在 .ps1 文件里输入 Get-Process | %{$_.Name}; ,Output 将返回一个字符串集合,包含了所有 Process 的名字

命令

关闭进程

关闭进程使用 Kill Process Activity .

Kill Process Kill Process 属性

注意:

  • Kill process 遇到不存在的 Process 并不会报错
  • 使用前先评估是否会出问题再直接杀死进程,避免对其它程序或者用户的影响

更多 UiPath 相关的资讯,请关注公众号:UiPath教程

UiPath教程
上一篇下一篇

猜你喜欢

热点阅读