Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Заголовок окна и название процесса 
:(
    Опции темы
amt
Дата 5.2.2009, 21:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 249
Регистрация: 26.10.2004
Где: г. Волгоград

Репутация: 3
Всего: 3



Привет всем!
С помощью следующего кода получаю список запущенных процессов.

Код

Sub ListRunningAppsWindows()
  Dim lngForeGdWnd As Long
  Dim lngNextWnd As Long
  Dim strBuffer As String
  Dim strMsg As String
  Dim lngLen As Long
  
'Получение дескриптора активного окна.
  lngForeGdWnd = GetForegroundWindow()
  If lngForeGdWnd <> 0 Then
    lngNextWnd = GetWindow(lngForeGdWnd, GW_HWNDFIRST)
    
    Do
      strBuffer = String(255, 0)

'Получение заголовка окна.
      lngLen = GetWindowText(lngNextWnd, strBuffer, Len(strBuffer))
      strBuffer = Left(strBuffer, lngLen)
      If strBuffer <> "" Then
        strMsg = strMsg & strBuffer & vbCr
        List1.AddItem strBuffer
      End If

'Получение следующего окна по порядку их отображения на экране.
      lngNextWnd = GetWindow(lngNextWnd, GW_HWNDNEXT)
    Loop Until lngNextWnd = 0


  End If
End Sub


Но есть проблема: например, запущено окно проводника и для него я получаю строку заголовка, например, "Мои документы", а процесс его запустивший есть "explorer.exe".
Но заголовок запущенного проводника может меняться.
Так как же узнать действительно имя запущенного ПРОЦЕССА, а не заголовок окна?

Заранее блогодарен

Это сообщение отредактировал(а) amt - 5.2.2009, 21:30
--------------------
С точки зрения банальной эрудиции не каждый индивидуум способен игнорировать тенденции парадоксальных эмоций.
PM MAIL   Вверх
TEH3OP
Дата 9.2.2009, 02:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 18.7.2008

Репутация: нет
Всего: 1



Если тебе нужен список, то это делается через Module32First и Module32Next.


PS: твой код не работает, т.к. нет деклараций WinAPI функций.
PM MAIL   Вверх
amt
Дата 9.2.2009, 20:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 249
Регистрация: 26.10.2004
Где: г. Волгоград

Репутация: 3
Всего: 3



Цитата

твой код не работает, т.к. нет деклараций WinAPI функций.

Декларацию функция я просто не включил, чтобы незагромождать код

И проблема  не в том чтобы список получить или отдельное окно найти, а чтобы определить истинное название процесса, а не заголовок запущенного им окна.

Цитата

Module32First и Module32Next.


а что это за модули: как их подключать и как ими пользоваться?
--------------------
С точки зрения банальной эрудиции не каждый индивидуум способен игнорировать тенденции парадоксальных эмоций.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0810 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.