AllApi

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
tigrix
Начинающий
Начинающий
 
Сообщения: 13
Зарегистрирован: 20.01.2004 (Вт) 23:05

AllApi

Сообщение tigrix » 08.02.2004 (Вс) 23:51

Если ктонибудь знает как с помощью API Функций можно: Отслеживать Где пользователь счас находиться (Окно, кнопка, лист, таб) также их текст или состояние текущее например если это CheckBox .... Короче максимально инфы. Кто что знает про это дело, черкните плиз, Я буду очень благодарен

<Sergey>
Начинающий
Начинающий
 
Сообщения: 16
Зарегистрирован: 08.02.2004 (Вс) 3:25
Откуда: Одесса

Сообщение <Sergey> » 09.02.2004 (Пн) 3:40

Ты имеешь ввиду для твоей прогр. или вообще? если для твоей, то есть функция GetFocus, возвр. hWnd фокусного окна, дальше в цикле перебираешь все контролы формы, для определения типа можно использовать оператор TypeOf.

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 09.02.2004 (Пн) 18:58

Поставь на форму таймер и текстбокс побольше, у которого Multiline = True и ScrollBars = 3.

Код: Выделить всё
Private Declare Function WindowFromPoint Lib "user32" Alias "WindowFromPoint" (ByVal xPoint As Long, ByVal yPoint As Long) As Long
Private Declare Function GetCursorPos Lib "user32" Alias "GetCursorPos" (lpPoint As POINTAPI) 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 Type POINTAPI
X As Long
Y As Long
End Type

Sub Form_Load()
Timer1.Interval = 1
End Sub

Sub Timer1_Timer()
Static OldHWnd As Long
Dim NewHWnd As Long
Dim Point As POINTAPI
Dim lClass As Long, sClass As String

GetCursorPos Point
DoEvents
NewHWnd = WindowFromPoint(Point.X, Point.Y)
DoEvents
If NewHWnd <> OldHWnd Then
sClass = Space(256)
lClass = GetClassName(NewHWnd, sClass, 256)
Text1.Text = "hWnd = " & NewHWnd & Space(5) & "ClassName = " & Left$(sClass, lClass) & vbCrLf: OldHWnd = NewHWnd
End If
DoEvents
End Sub
Нет меня больше


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

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

Сейчас этот форум просматривают: Google-бот и гости: 6

    TopList  
cron