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

-
-
- Сообщения: 13
- Зарегистрирован: 20.01.2004 (Вт) 23:05
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

-
-
- Сообщения: 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
Кто сейчас на конференции
Сейчас этот форум просматривают: AhrefsBot, Google-бот, SemrushBot, Yandex-бот и гости: 5