Страница: 1 |
Вопрос: Как определить заголовок активного окна? | Добавлено: 05.04.08 01:12 |
Автор вопроса: ![]() |
Нужно определить заголовк актвного окна и (текст) сохранить в переменную. Как это организовать?
Ах да, извините мне мою лень)) Как определить путь к исполняемой программе. т.е. к своему экзешнику? |
Ответы | Всего ответов: 8 |
Номер ответа: 1 Автор ответа: ![]() ![]() ![]() ![]() Вечный Юзер! ICQ: uu@jabber.cz Вопросов: 120 Ответов: 3302 |
Профиль | Цитата | #1 | Добавлено: 05.04.08 01:18 |
1.
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 Private Sub Form_Activate() 'KPD-Team 1999 'URL: http://www.allapi.net/ 'E-Mail: KPDTeam@Allapi.net Dim MyStr As String 'Create a buffer MyStr = String(GetWindowTextLength(Me.hwnd) + 1, Chr$(0)) 'Get the window's text GetWindowText Me.hwnd, MyStr, Len(MyStr) MsgBox MyStr End Sub 2. App.Path |
Номер ответа: 2 Автор ответа: ![]() ![]() ICQ: 9580088 Вопросов: 13 Ответов: 1078 |
Web-сайт: Профиль | Цитата | #2 | Добавлено: 05.04.08 02:48 |
Спасибо!
Но не совсем, то что я хотел)) Нужно определить заголовок активного окна чужой программы) Вот пытаюсь, но не получается почему: Private Declare Function GetActiveWindow Lib "user32" () 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 Private Sub Timer1_Timer() Dim MyStr As String Dim hWnd As Long hWnd = GetActiveWindow() MyStr = String(GetWindowTextLength(hWnd) + 1, Chr$(0)) GetWindowText hWnd, MyStr, Len(MyStr) Label1.Caption = MyStr End Sub тут я использовал GetActiveWindow - она вроди как должна определять хендл чужого окошка?) |
Номер ответа: 3 Автор ответа: ![]() ![]() ICQ: 9580088 Вопросов: 13 Ответов: 1078 |
Web-сайт: Профиль | Цитата | #3 | Добавлено: 05.04.08 02:50 |
Прога, снова определяет только свой заголовок, а когда фокус пропадает вообще ничего нет! |
Номер ответа: 4 Автор ответа: ![]() ![]() ICQ: 9580088 Вопросов: 13 Ответов: 1078 |
Web-сайт: Профиль | Цитата | #4 | Добавлено: 05.04.08 02:54 |
Или нужно SetActiveWindow юзать? |
Номер ответа: 5 Автор ответа: ![]() ![]() ICQ: 9580088 Вопросов: 13 Ответов: 1078 |
Web-сайт: Профиль | Цитата | #5 | Добавлено: 05.04.08 03:10 |
Хм... странно, но мой код работает в некоторых приложениях а в некоторых нет)) С чем это связано? |
Номер ответа: 6 Автор ответа: ![]() ![]() ![]() ![]() ICQ: 249094859 Вопросов: 0 Ответов: 310 |
Профиль | Цитата | #6 | Добавлено: 05.04.08 07:56 |
Вообще-то GetActiveWindow возвращает активное окно потока, вызвавщего эту функцию, так что это всегда будет твое окно. А то, что тебе надо это GetForegroundWindow |
Номер ответа: 7 Автор ответа: ![]() ![]() ICQ: 9580088 Вопросов: 13 Ответов: 1078 |
Web-сайт: Профиль | Цитата | #7 | Добавлено: 06.04.08 01:49 |
Спасибо огромное!) |
Номер ответа: 8 Автор ответа: ![]() ![]() ICQ: 9580088 Вопросов: 13 Ответов: 1078 |
Web-сайт: Профиль | Цитата | #8 | Добавлено: 06.04.08 01:49 |
Данке шон! Всё работает)) |
Страница: 1 |
|