powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / управление чужим окном
25 сообщений из 33, страница 1 из 2
управление чужим окном
    #35137018
max_111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Необходимо в стандартном окне выбора файла указать путь к файлу и нажать кнопку "Открыть".
Подскажите как это сделать?

авторобсуждалось - в поиск
ничего нет подходящего
...
Рейтинг: 0 / 0
управление чужим окном
    #35137197
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Стандартное окно где ? В нотепаде ?
sendkeys, dde и т.д.
Или же пишите подробно. Что и зачем.
...
Рейтинг: 0 / 0
управление чужим окном
    #35137282
max_111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в ie на странице эмулирую клик по обьекту iput file, в открывшееся окно выбор файла мне нужно вставить путь к файлу и нажать кнопку сохранить.
...
Рейтинг: 0 / 0
управление чужим окном
    #35137609
max_111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
up
...
Рейтинг: 0 / 0
управление чужим окном
    #35137640
max_111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот попробывал что то слепить из примера, но не хочет
...
Рейтинг: 0 / 0
управление чужим окном
    #35137642
max_111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Any) As Long
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 hWndParent As Long, ByVal hWndChildAfter As Long, ByVal lpClassName As String, ByVal lpWindowName As String)

Private Const WM_SETTEXT = &HC

Private Sub Command1_Click()
Dim lhWnd As Long
Dim Fhwnd As Long
Fhwnd = FindWindow(vbNullString, "Form1")
lhWnd = FindWindow(Fhwnd, Text1.hwnd)
SendMessage lhWnd, WM_SETTEXT,  0 , "Новый текст"
End Sub
...
Рейтинг: 0 / 0
управление чужим окном
    #35138142
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
max_111в ie на странице эмулирую клик по обьекту iput file, в открывшееся окно выбор файла мне нужно вставить путь к файлу и нажать кнопку сохранить.
Зачем в IE эмулировать, если им можно управлять. Разместите его на форме и через DOM управляйте им.
...
Рейтинг: 0 / 0
управление чужим окном
    #35138243
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
max_111в ie на странице эмулирую клик по обьекту iput file, в открывшееся окно выбор файла мне нужно вставить путь к файлу и нажать кнопку сохранить.Это абсолютно лишнее.
Код: plaintext
document.getElementById("если есть").value="c:\file.txt"
...
Рейтинг: 0 / 0
управление чужим окном
    #35138279
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Разве input file разрешает так делать ? Так же можно все файлы с компа юзера утащить.
...
Рейтинг: 0 / 0
управление чужим окном
    #35138329
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хм, действительно не позволяет. Я был уверен, что нельзя лишь скрипту.
...
Рейтинг: 0 / 0
управление чужим окном
    #35157487
max_111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
big-duke Разместите его на форме и через DOM управляйте им.
Это в смысле как?
...
Рейтинг: 0 / 0
управление чужим окном
    #35159356
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Размещаете на форме webbrowser и через его DOM управляете им.
...
Рейтинг: 0 / 0
управление чужим окном
    #35159465
max_111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
big-dukeРазмещаете на форме webbrowser и через его DOM управляете им.

не представляю себе как это возможно...

может все таки поможете по первому посту авторНеобходимо в стандартном окне выбора файла указать путь к файлу и нажать кнопку "Открыть".
...
Рейтинг: 0 / 0
управление чужим окном
    #35159731
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
управление чужим окном
    #35161364
max_111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
То что я понял, это то, что вы пытаетесь обьяснить мне, что заполнить этот обьект невозможно и события клик у него нет. Ссылки ведут на HTML и JavaScript, но мне вроде это не надо...
Я спршивал о том как заполнить "текстовое поле" и нажать кнопку "открыть" програмно, на VB, а как мне показалось, вы пытаетесь мне обьяснить это на HTML и скриптах, код я тоже выложил выше, внем я могу определить окно по его названию, но вот обьект "текстовое поле" и кнопку "отправить" у меня определить не получается. Вот это я и хотел узнать.
...
Рейтинг: 0 / 0
управление чужим окном
    #35161421
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Текстовые поля и кнопки в броузере - не окна , поэтому FindWindow и иже с ним не пройдут. Управление этими объектами осуществляется либо через DOM, либо (раз уж input file защищен) через тупое позиционирование курсора и
Код: plaintext
Private Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long) 
...
Рейтинг: 0 / 0
управление чужим окном
    #35161452
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блин, затупил. Диалог стандартный, так что FindWindow, EnumChildWindows, SendMessage + WM_SETTEXT и т.д.
...
Рейтинг: 0 / 0
управление чужим окном
    #35161518
max_111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я это и спрашивал в первом посте. Наверно меня не поняли...
Вот я добился как найти окно "выбора файла", могу его переименовать, но к нужным оьбектам ну никак не въеду...
Вот проект прикрепил, может вам так будел легче мне деревянному объяснить...
...
Рейтинг: 0 / 0
управление чужим окном
    #35162673
Letter_D
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В Form2:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Private Sub Command1_Click()
Dim lhWnd As Long
Dim Fhwnd As Long
Dim Fhwnd2 As Long
Fhwnd = FindWindow(vbNullString, "Выбор файла")
Fhwnd2 = FindWindowEx(Fhwnd,  0 , "ComboBoxEx32", vbNullString)
SendMessage Fhwnd2, WM_SETTEXT,  0 , ByVal "Новый текст"
End Sub
...
Рейтинг: 0 / 0
управление чужим окном
    #35162755
max_111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо.
А как вы узнали что к текстовому полю нужно обратится ComboBoxEx32 ?
...
Рейтинг: 0 / 0
управление чужим окном
    #35162782
Letter_D
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посмотрел класс нужного окна.
У меня, как и у многих здесь, для просмотра всех процессов и окон своя прибамбасина есть... :))
...
Рейтинг: 0 / 0
управление чужим окном
    #35162820
max_111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
это типа SPY++ ?
вот для отправки текста используют WM_SETTEXT , а для того чтобы нажать кнопку что нужно отправить?
...
Рейтинг: 0 / 0
управление чужим окном
    #35162836
Letter_D
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Const BM_CLICK = &HF5
...
Рейтинг: 0 / 0
управление чужим окном
    #35162851
max_111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите пожалуйста где можно узнать эти все "команды"(хотябы часть)?
...
Рейтинг: 0 / 0
управление чужим окном
    #35163174
max_111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пытаюсь нажать на кнопку "открыть", но ругается что несовпадение типов

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Dim lhWnd As Long
Dim Fhwnd As Long
Dim Fhwnd2 As Long
Fhwnd = FindWindow(vbNullString, "Выбор файла")
Fhwnd2 = FindWindowEx(Fhwnd,  0 , "ComboBoxEx32", vbNullString)
SendMessage Fhwnd2, WM_SETTEXT,  0 , ByVal "Текст"

lhWnd = FindWindowEx(Fhwnd,  0 , "Button", "Открыть")
SendMessage lhWnd, BM_CLICK,  0 ,  0 
подсвечивает
SendMessage lhWnd, BM_CLICK, 0, 0

Что я сделал не так?
...
Рейтинг: 0 / 0
25 сообщений из 33, страница 1 из 2
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / управление чужим окном
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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