В поисках классов

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
claymen
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 159
Зарегистрирован: 14.04.2006 (Пт) 16:07
Откуда: КЫРГЫЗСТАН г.Бишкек

В поисках классов

Сообщение claymen » 04.05.2008 (Вс) 6:04

Как нужно искать процесс по частичному названию заголовка окна.
Код: Выделить всё
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetClassName Lib "user32" Alias "GetClassNameA" (ByVal hwnd As Long, ByVal lpClassName As String, ByVal nMaxCount As Long) As Long

Private Sub Form_Load()
    Dim WinWnd As Long, Ret As String, RetVal As Long, lpClassName As String
    Ret = InputBox("Enter the exact window title:" + Chr$(13) + Chr$(10) + "Note: must be an exact match")
    WinWnd = FindWindow(vbNullString, Ret)
    lpClassName = Space(256)
    RetVal = GetClassName(WinWnd, lpClassName, 256)
    WinClass=Left$(lpClassName, RetVal)
End Sub

Из этого кода я могу определить заголовок окна процесса и его класс, но это срабатывает только если я знаю полное (точное) название окна, иначе WinWnd и WinClass ничего не находят.
Подскажите мне plz. Можно ли найти процесс, зная только его Class?
И, можно ли найти процесс, зная только несколько слов из имени окна процесса?
и начинали мы все чайниками, но потом...

dr.MIG
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1441
Зарегистрирован: 18.12.2004 (Сб) 9:53
Откуда: г.Ярославль

Сообщение dr.MIG » 04.05.2008 (Вс) 7:57

FindWindow как раз и может искать окно только по его классу (первый параметр), только по его заголовку (второй параметр), либо по тому и другому сразу. Что касается поиска по части заголовка окна, то тут, имхо, выход один -- перебирать все окна, получать их заголовки и проверять встречается ли в них искомая комбинация слов.
Salus populi suprema lex


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot, Yandex-бот и гости: 42

    TopList