VISUAL BASIC Как передать путь файла диалоговому окну чужой программы
Суть задачи: есть запущенная сторонняя программа с главным окном "Ansoft HFSS - Project1"
Этой программе передается фокус, эмулируется комбинация клавиш, которая открывает диалоговое окно с выбором файла "Run Script" - показано на фото. . В это диалоговое окно (а точнее в графу Имя файла) нужно вставить путь файла из буфера, и нажать Энтер (открыть файл) .
До вставки все работает, путь файла сохраняется в буфере, после открытия диалогового окна дальше ничего не происходит, то ли фокус не передается то ли не пойми чего... .
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim OFD As New OpenFileDialog With {.Filter = "VBSript|*.vbs"}
OFD.InitialDirectory = "D:\" ' Выбор файла и получение его полного пути
If OFD.ShowDialog = Windows.Forms.DialogResult.OK Then
Clipboard.SetText(OFD.FileName) ' Копировать путь файла в буфер обмена
End If
End Sub
Private Sub Button3_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button3.Click
AppActivate("Ansoft HFSS - Project1") 'Фокус на запущенное окно
' Далее эмуляция клавиш и открытие диалогового окна "Run Script"
My.Computer.Keyboard.SendKeys("%", True)
My.Computer.Keyboard.SendKeys("T", True)
My.Computer.Keyboard.SendKeys("s", True)
SendKeys.Send("^V") ' Вставка пути файла из буфера НЕ РАБОТАЕТ
SendKeys.Send("{enter}")
End Sub
путь будет постоянно меняться, поэтому сделал через буфер, активация диалогового окна ничего не дает, возможно, надо как-то по-другому
вставить путь из буфера пытался через эмуляцию контрал+в - почему то не срабатывает, вообще никакие действия с диалоговым окном не срабатывают... .
хотя по умолчанию когда оно открывается строка ввода активна и вручную можно вставить из буфера