Какой метод лучше

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Space
Combo-маньяк
Combo-маньяк
 
Сообщения: 818
Зарегистрирован: 11.01.2007 (Чт) 1:19
Откуда: Украина

Какой метод лучше

Сообщение Space » 22.05.2009 (Пт) 22:11

Получить ID треда активного окна чужого процесса:
метод1:
Код: Выделить всё
Dim MyID As Long, StrangerID As Long, lRet As Long
      lRet = GetForegroundWindow
      StrangerID = GetWindowThreadProcessId(lRet, 0)
      MyID = GetCurrentThreadId
      lRet = AttachThreadInput(StrangerID, MyID, True)
      If lRet Then
'успешно
       lRet = GetFocus 'хендл текущего окна(поля)
       lRet= GetWindowThreadProcessId(lRet, 0)
      End If

метод2:
GetForegroundWindow -> GetWindowThreadProcessId -> GetGUIThreadInfo -> GUITHREADINFO hwndFocus -> GetWindowThreadProcessId(hwndFocus, 0)
рылся в поиске, встречал такие фразы вроде:
AttachThreadInput не всегда срабатывает...

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

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

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

    TopList  
cron