如何使用 python 脚本从其他应用程序关闭弹出窗口 window
How to close a pop-up window from other application with python script
我正在自动化 Aspen Plus 模拟和 post- 使用 Python 处理结果。为了进行放大分析、敏感性研究和解决优化问题;我必须多次迭代 运行 aspen 模拟。
这样,我用win32com.client来管理它。它工作得很好,但有时 aspen 会显示一个弹出窗口 windows 告诉所有许可证都在使用中,中断程序流程:
如果我手动关闭它,程序会继续运行。所以我正在考虑编写一个脚本来自动执行此操作,但我不知道该怎么做。
我试图终止、终止、发送信号到进程。但没有任何效果,因为杀死 AspenPlus.exe 进程,停止程序。
这里是一些示例 powershell 代码,您可以使用它来检查 Aspen 进程是否 运行 以及 window 是否打开然后通过 sendKey 函数发送适当的密钥来关闭它
$isAspenOpen = Get-Process Aspen*
if($isAspenOpen = $null){
# Aspen is already closed run code here:
}
else {
$isAspenOpen = Get-Process AspenPlus*
# while loop makes sure all Aspen windows are closed before moving on to other code:
while($isAspenOpen -ne $null){
Get-Process aspen* | ForEach-Object {$_.CloseMainWindow() | Out-Null }
sleep 5
If(($isAspenOpen = Get-Process aspen*) -ne $null){
Write-Host "Aspen is Open.......Closing Aspen"
$wshell = new-object -com wscript.shell
$wshell.AppActivate("Aspen Plus")
$wshell.Sendkeys("%(Esc)")
$isAspenOpen = Get-Process Aspen*
}
}
#Aspen has been closed run code here:
}
感谢 Psychon Solutions!有用!!我从 python 开始使用它,如下所示:
import win32com.client as win32
shell = win32.Dispatch("WScript.Shell")
shell.AppActivate("All licenses are in use")
shell.Sendkeys("%{F4}", 0)
现在我只需要改进代码就可以自动完成任务。
我正在自动化 Aspen Plus 模拟和 post- 使用 Python 处理结果。为了进行放大分析、敏感性研究和解决优化问题;我必须多次迭代 运行 aspen 模拟。
这样,我用win32com.client来管理它。它工作得很好,但有时 aspen 会显示一个弹出窗口 windows 告诉所有许可证都在使用中,中断程序流程:
如果我手动关闭它,程序会继续运行。所以我正在考虑编写一个脚本来自动执行此操作,但我不知道该怎么做。
我试图终止、终止、发送信号到进程。但没有任何效果,因为杀死 AspenPlus.exe 进程,停止程序。
这里是一些示例 powershell 代码,您可以使用它来检查 Aspen 进程是否 运行 以及 window 是否打开然后通过 sendKey 函数发送适当的密钥来关闭它
$isAspenOpen = Get-Process Aspen*
if($isAspenOpen = $null){
# Aspen is already closed run code here:
}
else {
$isAspenOpen = Get-Process AspenPlus*
# while loop makes sure all Aspen windows are closed before moving on to other code:
while($isAspenOpen -ne $null){
Get-Process aspen* | ForEach-Object {$_.CloseMainWindow() | Out-Null }
sleep 5
If(($isAspenOpen = Get-Process aspen*) -ne $null){
Write-Host "Aspen is Open.......Closing Aspen"
$wshell = new-object -com wscript.shell
$wshell.AppActivate("Aspen Plus")
$wshell.Sendkeys("%(Esc)")
$isAspenOpen = Get-Process Aspen*
}
}
#Aspen has been closed run code here:
}
感谢 Psychon Solutions!有用!!我从 python 开始使用它,如下所示:
import win32com.client as win32
shell = win32.Dispatch("WScript.Shell")
shell.AppActivate("All licenses are in use")
shell.Sendkeys("%{F4}", 0)
现在我只需要改进代码就可以自动完成任务。