Как вычислить handle окна Program Manager?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
extHack
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 94
Зарегистрирован: 04.06.2005 (Сб) 12:31
Откуда: 127.0.0.1

Как вычислить handle окна Program Manager?

Сообщение extHack » 21.12.2005 (Ср) 13:44

Хелп, нужен именно handle Program Manager. Чтобы API функция MessageBox принимала этот хендл, а не проги моей. А то в таск менеджере уже бесит.

Я парсил все handl'ы есть другой способ, или оптимизировнный?
n/a

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 21.12.2005 (Ср) 15:09

Хм. А шойто?
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 21.12.2005 (Ср) 15:54

Находинь PID Program Manager'а а потом по етому PID находишь нужное. Быстрее наверно никак(ИМХО)
Изображение

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: Как вычислить handle окна Program Manager?

Сообщение alibek » 21.12.2005 (Ср) 16:12

extHack писал(а):Я парсил все handl'ы есть другой способ, или оптимизировнный?

А как можно парсить handle? Не поделишься секретом?
Lasciate ogni speranza, voi ch'entrate.

extHack
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 94
Зарегистрирован: 04.06.2005 (Сб) 12:31
Откуда: 127.0.0.1

Сообщение extHack » 22.12.2005 (Чт) 10:03

поделюсь

Код: Выделить всё
Public Declare Function EnumWindows Lib "user32" (ByVal lpEnumFunc As Long, ByVal lParam As Long) As Long
Public Declare Function GetClassName Lib "user32" Alias "GetClassNameA" (ByVal hwnd As Long, ByVal lpClassName As String, ByVal nMaxCount As Long) As Long
Public Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long

Public Function EnumWindowProc(ByVal hwnd As Long, ByVal lParam As Long) As Long
   
  'Define local variables
  Dim nSize As Long
  Dim sTitle As String
  Dim sClass As String
  Dim sHwnd As String
  Dim pos As Integer
  Dim iPad As Integer
  Dim incHandle As String
  Dim defHandle As String
 
  'Error handler
  On Error Resume Next
 
  'Clear sTitle and sClass 20h symbol
  sTitle = Space(MAX_PATH)
  sClass = Space(MAX_PATH)
 
  'Call function's
  Call GetClassName(hwnd, sClass, MAX_PATH)
  Call GetWindowText(hwnd, sTitle, MAX_PATH)
 
  'Math positions
  pos = InStr(sClass, Chr(0))
  If pos Then
      sClass = Left(sClass, pos - 1)
  End If
   
  pos = InStr(sTitle, Chr(0))
  If pos Then
      sTitle = Left(sTitle, pos - 1)
  End If
 
  'Get data
  sClass = Left(Trim(sClass) & Space(38), 38)
  sHwnd = Left(Trim(CStr(hwnd)) & Space(10), 10)
  sTitle = Left(Trim(sTitle) & Space(34), 34)
   
  'Format title
  incHandle = LTrim(sTitle)
  incHandle = RTrim(incHandle)
  incHandle = LCase(incHandle)
 
  'Find handle of program manager
  'before, incHandle formatting to empty
  'format. If handle found -> add to prgHandle
  If incHandle = "program manager" Then
    defHandle = sHwnd
    prgHandle = Val(LTrim(RTrim(sHwnd)))
  End If

  'Send answer
  EnumWindowProc = 1

End Function
n/a

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 22.12.2005 (Чт) 12:52

А в чем выражается парсинг?
Значение глагола parse -- проводить стркутурный анализ, разбирать предложение.
Как можно парсить Handle, который является числом?
Lasciate ogni speranza, voi ch'entrate.

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 22.12.2005 (Чт) 12:52

Общий смысл явления ясен.

Не понятно, при чем тут парсинг? Почему бы не назвать это инжектингом или маршалингом? Или скажем, нахождением алгебраического дополнения к базисному минору?
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 22.12.2005 (Чт) 15:19

Не придирайтесь к словам. Человек сказать красиво хотел, а вы...
Изображение

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 22.12.2005 (Чт) 15:37

Сказал глупость. Мы придираемся не потому, что мы такие крутые и умные, а чтобы ошибки не плодились.

Я тоже могу сказать "астрофизический хендл хук-токена". Красиво?

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 22.12.2005 (Чт) 15:44

Красиво но непонятно (слово Token входит в декларации 14 API из тех, что видны из стандартной базы(Microsoft Visual Studio\COMMON\Tools\Winapi\WIN32API.txt) ). Да, ты прав.
Изображение

RUSYA
Обычный пользователь
Обычный пользователь
 
Сообщения: 84
Зарегистрирован: 22.07.2005 (Пт) 20:17
Откуда: Харьков

Сообщение RUSYA » 25.12.2005 (Вс) 6:32

У диспетчера задач заголовк окна есть... и есть FindWinow, если я конечно вопрос правельно понял...
А как оно на самом деле - Х.З. !

vvs_adm
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1492
Зарегистрирован: 03.02.2005 (Чт) 3:45
Откуда: оттуда ;)

Сообщение vvs_adm » 25.12.2005 (Вс) 7:02

alibek писал(а):Как можно парсить Handle, который является числом?
Проверить, является ли Handle простым числом или составным. Если составным - разбить на множители. Множители представить в двоичном виде и ... :lol:
Никогда не откладывай на завтра то, что можно ... отложить на послезавтра!


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

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

Сейчас этот форум просматривают: SemrushBot и гости: 152

    TopList