Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB6 > Работа с окнами! HELP!!!


Автор: KAPAM6A 4.12.2012, 15:16
Добрый день, а может и ночь дорогие форумчане) У меня возникла проблема с выводом заголовка окна. Нашёл хэндл окна и через функцию GetWindowText вытаюсь получить текст заголовка, но возвращается мне лишь длина этого заголовка (GetWindowTextLength). Перечитал кучу форумов и исходников, вроде всё правильно но результат всё тот-же. Что мне делать??? Очень нужна ваша помощь!

Код

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetWindow Lib "user32" (ByVal hWnd As Long, ByVal wCmd As Long) As Long
Private Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hWnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
Private Declare Function GetWindowTextLength Lib "user32" Alias "GetWindowTextLengthA" (ByVal hWnd As Long) As Long

Dim hndl As String
Dim s As String
Dim с As Integer

Private Sub Command1_Click()
hndl = FindWindow(vbNullString, "TestForm") ' определем хэндл окна

c = GetWindowTextLength(hndl) 'получаем длину заголовка
s = Space(c + 1) 'создаем строку-приемник для заголовка
c = GetWindowText(hndl, s, c + 1)  'получаем заголовок
MsgBox c
End Sub


Вот вот такой простой кодец а резултат получить не могу  smile 

Автор: Akina 4.12.2012, 15:23
Хендл - число, блин... какого лешего под него стринговая переменная?

Автор: KAPAM6A 4.12.2012, 15:59
Akina, спасибо конечно, просто поторопился а потом не заметил  smile . Я поменял String на Long но проблема не решилась!

Автор: Akina 4.12.2012, 16:11
Ага, едем дальше... почему всё, что у тебя декларировано как Long, используется как Integer?


Автор: KAPAM6A 5.12.2012, 14:01
Спасибо, разобрался но дело было не в типах данных... потом вообще переделал и теперь получаю значение с помощью SendMessage   smile 
Ещё вопрос да бы не создовать новую тему. Как отловить нажатие на кнопку(button)? Рыл инет но что то не нашёл ни чего по этому вопросу.

Автор: Akina 5.12.2012, 14:21
Цитата(KAPAM6A @  5.12.2012,  15:01 Найти цитируемый пост)
Ещё вопрос да бы не создовать новую тему.

Перечитайте Правила. Особенно пункт 10. Затем исправьте свою ошибку.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)