Я пишу сценарий для использования winzip из powershell, но у меня проблемы с щелчком мыши в адресной строке диалогового окна.Диалоговое окно Powershell Mouseclick
Я решил проблему с использованием метода 7zip, но хочу узнать другой метод.
(У меня есть 2 экрана, следовательно, координаты мыши). Я попытался создать новую оболочку только для диалогового окна, но это не сработает. Что я делаю не так?
ОБНОВЛЕНИЕ: Когда я устанавливаю 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})
жаль, что так прямо об этом, но в чем смысл этого? если вы хотите, чтобы пользователь мог выбрать файл в gui, вы могли бы просто использовать диалог с файлом, а затем передать путь к почтовому приложению. – Paul
У меня есть много ежедневных папок с файлами PDF и другими файлами. PDF-файлы и никакой другой файл должны быть заархивированы и загружены где-то. У меня есть другой сценарий, который изолирует PDF-файлы, и мне нужно их застегнуть. После поиска решений PowerShell для zipping я пришел к выводу, что подделка пользователя - это решение, которое я наиболее способен реализовать. (Это Day2 из моего использования powershell) –
Если я могу, я бы предложил, чтобы было намного проще автоматизировать версию командной строки, скажем, 7-Zip, которая более или менее предназначена для этой цели. –