2

只是一个快速的。我创建的一个简单工具有一个问题,该工具可以在一段时间内使用一个小框来获取 CPU 使用率,该小框显示正在使用的 CPU 的百分比(我已经为下面的代码删除了 GUI )。

function loop
{
$get = read-host
for($start = 0; $start -le 100;$start++)
{
cls
$pro_percentage = Get-WmiObject win32_processor -computer $get -property Loadpercentage | select loadpercentage
$percentage = "Processor usage is: " + $pro_percentage.loadpercentage + "%"
$percentage
}
}
loop

我创建的 GUI 还有其他一些内容,但我注意到一个主要问题,这适用于我创建的其他 GUI 应用程序。每当按下“开始”按钮从对话框启动脚本时,GUI 就会冻结。我在 GUI 中创建的菜单栏冻结,无法按下其他按钮。

我应该在不同的线程中运行每个函数吗?类似的东西?

谢谢

4

1 回答 1

6

尝试添加:

[System.Windows.Forms.Application]::DoEvents() 

在你的循环中。然而,又快又脏

于 2012-05-29T07:28:18.540 回答