Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как в текстовое поле другой программы вписать текст? / 3 сообщений из 3, страница 1 из 1
10.01.2012, 16:08
    #37607822
donpauls
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в текстовое поле другой программы вписать текст?
Как в текстовое поле другой программы вписать программно текст и нажать Ентер?
В каком направлении копать?
...
Рейтинг: 0 / 0
10.01.2012, 16:30
    #37607869
BelowZero
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в текстовое поле другой программы вписать текст?
donpaulsКак в текстовое поле другой программы вписать программно текст и нажать Ентер?
В каком направлении копать? я в своё время мог программно добавить в друзья чела позвонить от его имени кому-нить и отправить от его имени сообщение себе в скайпе имитируя при помощи sendkeys tab alt и ещё нескольких полезных клавиш) - минус - окно долю секунды будет мелькать перед пользователем, т.к. необходим фокус.
кроме того, можешь прописать в параметрах при открытии чужой программы то, что нужно(параметры разбирались в некоторых моих и чужих топиках на форуме), тогда посторонняя прога будет запускаться с уже введёнными нужными данными. недостатков в обращении нет, но врят ли всё можно сделать при помощи параметров...
...
Рейтинг: 0 / 0
11.01.2012, 11:31
    #37608876
Дмит
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в текстовое поле другой программы вписать текст?
Простой пример:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Integer, ByVal lParam As Any) As Long
Private Const WM_CHAR = &H102
Private Const WM_SETTEXT = &HC
Private Const VK_RETURN = &HD
Private Const EM_SETSEL = &HB1
Sub ui()
Dim hwnd As Long, wnd As Long
    Call Shell("notepad", vbNormalFocus) 'запускаем блокнот
    hwnd = FindWindow(vbNullString, "Безымянный - Блокнот") 'получаем hwnd окна блокнота по заголовку
    wnd = FindWindowEx(hwnd, ByVal 0&, "Edit", vbNullString) 'получаем hwnd текстбокса блокнота
    Call SendMessage(wnd, WM_SETTEXT, 0, "Привет") 'изменяем текст в текст боксе на "Привет"
    Call SendMessage(wnd, EM_SETSEL, 6, "") 'сдвигаем курсор на 6 знаков
    Call SendMessage(wnd, WM_CHAR, VK_RETURN, vbNullString) 'нажимаем Enter
End Sub
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как в текстовое поле другой программы вписать текст? / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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