Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Автоустановачный софт Добавлено: 11.04.09 13:41  

Автор вопроса:  Sergey
Может кто видел софт устанавливающийся без вмешательства пользователя так вот я нахожу hWnd окна функцией FindWindow, а как найти упр. эл. на этой форме (например найти hWnd кнопки с текстом "Далее >>" и программно нажать её или ввести текст в текстбокс?

Ответить

  Ответы Всего ответов: 6  

Номер ответа: 1
Автор ответа:
 Sergey



Вопросов: 5
Ответов: 9
 Профиль | | #1 Добавлено: 11.04.09 13:52
  1. Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
  2. Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
  3. Private Const WM_SETTEXT = &HC
  4. Private Sub Command1_Click()
  5. Call SendMessage(FindWindow(vbNullString, "VBNet - Форум - Автоустановачный софт - Opera"), &HC, 0, ByVal "Мммммм - Opera")
  6. End Sub

Ответить

Номер ответа: 2
Автор ответа:
 Sergey



Вопросов: 5
Ответов: 9
 Профиль | | #2 Добавлено: 11.04.09 13:52
Это изменит текст

  1. Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
  2. Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
  3. Private Const WM_SETTEXT = &HC
  4. Private Sub Command1_Click()
  5. Call SendMessage(FindWindow(vbNullString, "VBNet - Форум - Автоустановачный софт - Opera"), &HC, 0, ByVal "Мммммм - Opera")
  6. End Sub

Ответить

Номер ответа: 3
Автор ответа:
 maza_____



ICQ: 9968842 

Вопросов: 40
Ответов: 337
 Web-сайт: vkontakte.ru/id25563295 добавляйтесь в друзья))
 Профиль | | #3
Добавлено: 11.04.09 13:58
Прикольно. а как текстобокс другой проги текст ввести или на кнопку нажать?

Ответить

Номер ответа: 4
Автор ответа:
 Sergey



Вопросов: 5
Ответов: 9
 Профиль | | #4 Добавлено: 11.04.09 16:39
Всё было просто


  1. Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
  2. 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
  3. Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
  4. Private Const BM_SETSTATE = &HF3
  5. Private Const WM_KILLFOCUS = &H8
  6. Dim hWndParent, hWndChild
  7. Public A()
  8. Sub Search()
  9. hWndParent = FindWindow(vbNullString, "00")
  10. hWndChild = FindWindowEx(hWndParent, 0, vbNullString, "Íàçàä")
  11. End Sub
  12. Sub Press()
  13. SendMessage hWndChild, BM_SETSTATE, -1, 0
  14. SendMessage hWndChild, WM_KILLFOCUS, 0, 0
  15. End Sub

Ответить

Номер ответа: 5
Автор ответа:
 Smith



ICQ: adamis@list.ru 

Вопросов: 153
Ответов: 3632
 Профиль | | #5 Добавлено: 11.04.09 19:00
Вот тебе
[SOURCE]
FormhWnd = FindWindow(...)
ControlhWnd = FindWindowEx (FormhWnd, "button", "Ok")
[\SOURCE]

Ответить

Номер ответа: 6
Автор ответа:
 Sergey



Вопросов: 5
Ответов: 9
 Профиль | | #6 Добавлено: 12.04.09 09:13
http://www.vbnet.ru/forum/show.aspx?id=186948

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам