我正在编写一个脚本来使用来自powershell的winzip,但是我在对话框的地址栏中单击鼠标时遇到问题。
我使用7zip方法解决了这个问题,但我想学习另一种方法。
(我有2个屏幕因此鼠标的坐标)。我尝试为对话框创建一个新shell,但这不起作用。我做错了什么?
更新:当我将Sleep 1放在点击前面时,电脑会发出声音。我是否处理焦点问题?
Add-Type -AssemblyName System.Windows.Forms
$screen = [System.Windows.Forms.SystemInformation]::VirtualScreen
$screen | Get-Member -MemberType Property
$Width=$screen.Width
$height=$screen.Height
& "C:\Program Files (x86)\WinZip\WINZIP32.EXE"
$wshell = New-Object -ComObject wscript.shell;
$wshell.AppActivate('Winzip Pro')
Sleep 1
$wshell.SendKeys('% ')
$wshell.SendKeys('x')
$wshell.SendKeys('%')
$wshell.SendKeys('o')
$wshell.SendKeys('p')
[Windows.Forms.Cursor]::Position = "2600,40"
Sleep 1
$wshell.SendKeys( {ClickLeft})
#$Dialog = New-Object -ComObject wscript.shell;
#$Dialog.AppActivate('Zip')
#Sleep 1
#$Dialog.Sendkeys({ClickLeft})
答案 0 :(得分:0)
我想出了如何使用鼠标而不是通过7zip命令界面压缩文件。
第一步是复制这个问题的最佳答案中所见的功能 power shell : how to send middle mouse click?
每当我想要鼠标点击时,我都会编写脚本 Click-MouseButton -button left
代替左边,也可以输入右边或中间
然后发送包含路径和名称的字符串,然后移动并单击鼠标。