Сб Кайгородов
17 сообщений
#16 лет назад
"Необходимо отловить процесс у каждого пользователя в отдельности NewsReader.exe, затем активировать окно с этим процессом поверх всех окон (сделать его активным) и послать этому процессу команду, которая в программе NewsReader.exe заточена под горячие клавиши F2 и F5. "

возможно ли это сделать, если да, то подскажите как. ПОЖАЛУЙСТА
Сб Кайгородов
17 сообщений
#16 лет назад
Вроде нашел решение, только проверить пока не могу, вдруг кому понадобиться

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Private Const HWND_TOPMOST = -1
Private Const HWND_NOTOPMOST = -2
Private Const SWP_NOSIZE = &H1
Private Const SWP_NOMOVE = &H2
Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Const KEYEVENTF_KEYUP = &H2
Dim g As Long
Private Sub Command1_Click()
g = FindWindow(vbNullString, "Имя окна(в ковычках)"
SetWindowPos g, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE Or SWP_NOMOVE
keybd_event "Код кнопки(без ковычек)", 0, 0, 0
keybd_event "Код кнопки(без ковычек)", 0, KEYEVENTF_KEYUP, 0
End Sub
Мухаметшин Д.
196 сообщений
#16 лет назад
Visual Basic ...
А мы в школе на нем программировали, хороший язык для изучения программирования.
Сб Кайгородов
17 сообщений
#16 лет назад
Он так же неплох в программировании, то что в школе это малость
Сергей Попов
15 сообщений
#16 лет назад
Visual Basic ничем неотличается от того-же Delphi
а для реализации сложных задач в любом случае надо использовать winapi

у меня был проект - закрыть окно файрвола аутпост
я делал так:
1) просматривал текущие окна в цикле с нужным тайтлом
2)через setparent подключал его к своему проекту

дальше можно окном и его дочерними окнами управлять как угодно
(потом естественно установить родителя прежним для окна)

способ работал пока невышла новая версия аутпоста
Руслан Aia
51 сообщение
#16 лет назад
Если заголовок окна уникальный и фиксированный, т.е. никак и никогда не меняется - тогда найденный пример сработает. Если же может быть несколько окон с одним и тем же заголовком, нужно перебирать все окна процесса, определять какое нужное... Если что, пишите мне в приват, я помогу с VB6, WinAPI.
Сб Кайгородов
17 сообщений
#16 лет назад
Спасибо всем, решение своей проблемы нашел, в случае чего знаю к кому обратиться. надеюсь не буду беспокоить по пустякам