Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Вставка данных диалоговому окну чужой программы / 3 сообщений из 3, страница 1 из 1
04.03.2014, 14:43
    #38577819
rempaul
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вставка данных диалоговому окну чужой программы
Всем привет. Очень нужна помощь в написании программы.

Суть задачи: есть запущенная сторонняя программа с главным окном "Ansoft HFSS - Project1"
Этой программе передается фокус, эмулируется комбинация клавиш, которая открывает диалоговое окно с выбором файла "Run Script" - показано на фото.



В это диалоговое окно (а точнее в графу Имя файла) нужно вставить путь файла из буфера, и нажать Энтер (открыть файл) .
До вставки все работает, путь файла сохраняется в буфере, после открытия диалогового окна дальше ничего не происходит, то ли фокус не передается этому окну то ли не пойми чего... .

Вставить путь из буфера пытался через эмуляцию контрал+в - почему то не срабатывает, вообще никакие действия с диалоговым окном не срабатывают... .
хотя по умолчанию когда оно открывается строка ввода активна и вручную можно вставить из буфера
AppActivate перед вставкой тоже не срабатывает.
Буду рад любой помощи/любым подсказкам.

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
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") 'Фокус на запущенное окно

' Далее эмуляция клавиш Alt+T+S и открытие диалогового окна "Run Script"
My.Computer.Keyboard.SendKeys("%", True)
My.Computer.Keyboard.SendKeys("T", True)
My.Computer.Keyboard.SendKeys("S", True)

' Далее не работает
My.Computer.Keyboard.SendKeys("^V", True) ' Эмуляция ctrl+V
My.Computer.Keyboard.SendKeys("{enter}")
End Sub



Модератор: Тема перенесена из форума "Visual Basic".
...
Рейтинг: 0 / 0
04.03.2014, 15:13
    #38577860
Сон Веры Павловны
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вставка данных диалоговому окну чужой программы
Не мучайтесь со своим велосипедом, используйте готовое: http://inputsimulator.codeplex.com/
...
Рейтинг: 0 / 0
04.03.2014, 18:04
    #38578139
rempaul
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вставка данных диалоговому окну чужой программы
А можно подробнее, как установить эту библиотеку? Добавил ссылку на длл - при объявлении все равно объект не задан....
Может что-то не так делаю?
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Вставка данных диалоговому окну чужой программы / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]