Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Basic / VBA


Информационный Канал Subscribe.Ru


RusFAQ.ru: Программирование на Basic / VBA

Выпуск № 098
от 20.03.2004, 01:50

Администратор:
Имя: Калашников О.А.
URL: Информационный ресурс
ICQ: 68951340
Россия, Москва
О рассылке:
Задано вопросов: 197
Отправлено ответов: 177
Активность: 89.84 %
[Задать вопрос >>][Регистрация эксперта >>]
[Поиск в базе][Обсудить на форуме]


 Список экспертов, ответы которых опубликованы в данном выпуске

Puma
Статус: Опытный
Общий рейтинг: 103.38
[Подробней >>]


 Краткий перечень вопросов

Вопрос № 195. Доброе время суток, уважаемые Эксперты! Как можно получить список всех запущенных приложений (типа к... (ответов: 1)

Вопросов: 1, ответов: 1


 Вопрос № 195

Доброе время суток, уважаемые Эксперты!
Как можно получить список всех запущенных приложений (типа как Alt+Ctrl+Del => диспетчер задач)?
С уважением,
Serzh mailto:sezh@e-mail.ru




Вопрос отправлен: 17.03.2004, 01:43
Отправитель: Serzh (serzh@e-mail.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает Puma

Здравствуйте, Serzh!
Это работающий пример. Поместите на форму контролы: ListBox, Label, Command и назовите их как приведено далее в процедурах *_Click.
Private Declare Function GetWindow Lib "user32" (ByVal hwnd As Long, ByVal wCmd As Long) As Long
Private Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
Private Declare Function GetWindowTextLength Lib "user32" Alias "GetWindowTextLengthA" (ByVal hwnd As Long) As Long
Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" _
(ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal _
lpClassName As String, ByVal lpWindowName As String) As Long
Const WM_CLOSE = &H10
Const GW_HWNDFIRST = 0
Const GW_HWNDNEXT = 2
Sub GetTaskList()
Dim CurrWnd As Long
Dim ListItem As String
Dim Length As Long

'Получаем hWnd, который будет первым в списке
'через него, мы сможем отыскать другие задачи
CurrWnd = GetWindow(Me.hwnd, GW_HWNDFIRST)
'Пока возвращаемый hWnd имеет смысл, выполняем цикл
Do While CurrWnd <> 0
'Получаем длину имени задания по CurrW nd
Length = GetWindowTextLength(CurrWnd)
'Получить имя задачи из списка
ListItem = Space(Length + 1)
Length = GetWindowText(CurrWnd, ListItem, Length + 1)
'Если получили имя задачи, значит добавляем ее в список найденных
If Length > 0 Then
List1.AddItem ListItem
End If
'Переходим к следующей задаче из списка
CurrWnd = GetWindow(CurrWnd, GW_HWNDNEXT)
DoEvents
Loop
End Sub
Private Sub Command1_Click()
Dim hw As Long
hw = FindWindow(vbNullString, List1.Text & Chr(0))
PostMessage hw, WM_CLOSE, 0, 0
End Sub
Private Sub Form_Click()
List1.Clear
GetTaskList
End Sub
Private Sub Form_Load()
Label2.Caption = hwnd
App.Title = "Все задачи"
Label3.Caption = App.Title
Label4.Caption = Me.Caption
GetTaskList
End Sub
Private Sub Label3_Click()
App.Title = InputBox("Введите заголовок")
Label3.Caption = App.Title
End Sub
Private Sub Label4_Click()
Me.Caption = InputBox("Введите заголовок")
Label4.Caption = Me.Caption
End Sub
Private Sub List1_Click()
Dim hw As Long
hw = FindWindow(vbNullString, List1.Text & Chr(0))
Text1 = hw
End Sub


Ответ отправлен: 18.03.2004, 00:07
Отправитель: Puma



Форма отправки вопроса

Внимание!
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

(C) 2002-2003 Команда RusFAQ.ru.

 Персональные данные

Ваше имя:

Ваш e-mail:

Опубликовать мой e-mail в рассылке


 Вопрос и дополнение

Ваш вопрос:


Приложение (если необходимо):


Получить ответов:


 Выбор рассылки

Программисту
Assembler (26)
C / C++ (18)
Perl (4)
Builder / Delphi (19)
Pascal (21)
Basic / VBA (7)
Java / JavaScript (6)
PHP (13)
Криптография (7)
WinAPI (15)
Радиоэлектроника (8)
Пользователю
Windows 95/98/Me (43)
Windows NT/2000/XP (56)
"Железо" (34)
Поиск информации (21)
Администратору
Windows NT/2000/XP (26)
Linux / Unix (13)
Юристу
Гражданское право (13)
Семейное право (12)
Трудовое право (12)
КоАП (9)

Отправить вопрос всем экспертам выбранной рассылки.




Задать вопрос | Регистрация эксперта | Поиск в базе | Чат | Форумы | Новости
Проект экспертов RusFAQ.ru | Фотоальбом | Virus.RusFAQ.ru | Администрирование
Профессиональная WEB-Студия B.I.T.


Яндекс цитирования
© 2001-2004 Россия, Москва. Авторское право: Калашников О.А.

http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу


В избранное