Процессы, окна

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
v-adix
Постоялец
Постоялец
 
Сообщения: 490
Зарегистрирован: 14.11.2002 (Чт) 15:11

Процессы, окна

Сообщение v-adix » 08.10.2003 (Ср) 11:07

как получить список всех загруженных процессов (в виде explorer.exe hl.exe sss.exe sdfsdf.exe тоесть имена исполняемых файлов, и их заголовки) и завершить любой из них?
или просто получить список всех открытых окон (если процессов невозможно).

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 08.10.2003 (Ср) 11:17

Я, может, буду несколько банален, но посоветую поискать по форуму а также по old.vbstreets.ru

Потому что темы про процессы менуже глаза намозолили.

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 08.10.2003 (Ср) 18:35

Попробуй с FindWindow, FindWindowEx, GetCurrentProcess, GetCurrentProcessId.
Нет меня больше

_NeoN_
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 178
Зарегистрирован: 14.08.2003 (Чт) 9:48
Откуда: Новосибирск

Сообщение _NeoN_ » 08.10.2003 (Ср) 19:31

Public Declare Function EnumWindows Lib "user32" (ByVal lpEnumFunc As Long, ByVal lParam As Long) As Long

lpEnumFunc - адрес твоей процедуры которой будет передаваться управление при перечислении окон.. то есть если есть 100 процесов то твоя процедура 100 раз вызовется(адрес передавать надо так:
address of myproc но процедура myproc должна быть ТОЛЬКО в модуле, не в коде формы, а именно в форме).....

но только жта функция посылается тебя к праотцам(а может и дальше) под winNT (2000, XP)

Ronin_1978
Новичок
Новичок
 
Сообщения: 46
Зарегистрирован: 05.04.2003 (Сб) 14:42
Откуда: Москва

Сообщение Ronin_1978 » 09.10.2003 (Чт) 9:14

Я тут как раз с тем же самым заморачиваюсь...
_NeoN_ писал(а):Public Declare Function EnumWindows Lib "user32" (ByVal lpEnumFunc As Long, ByVal lParam As Long) As Long

EnumWindows выдаёт такое вот:
    ...
    PopOops
    MCI command handling window
    Timer Window
    Session Window
    FBServiceTimer
    Xprt Message Window
    MTDBOpSink
    MTDBOpSink
    ICQMsgAPI Window
    DDE Server Window
    DDE Server Window
    [#Main] - Vypress Chat v1.5.1
    VCcontrol
    \\КАССА\Canon LBP-810
    [#Main] - Vypress Chat v1.5.1
    LingvoLauncher
    icqplus_mainwnd
    Agnitum Outpost Firewall - configuration.cfg
    trashmessagetarget
    ...


И как из этого выцепить открытые окна? :?
... На небесах святые - ты слышишь стоны?
По тебе плачет колокол, а где-то во мраке
На ветру качаются вопросительные знаки... (С) Каста.

v-adix
Постоялец
Постоялец
 
Сообщения: 490
Зарегистрирован: 14.11.2002 (Чт) 15:11

Сообщение v-adix » 09.10.2003 (Чт) 14:54

меня интересует вот что, конкретно:
1) завершить процесс, зная имя exe файла
2) получить список всех открытых окон

в 1 случае я пытался работать с TerminateProcess, но ничего не вышло. точнее, я не знаю точно как работать с terminateprocess. там два параметря PID и exitcode. PID это номер процесса. как его узнать? ф-ция EnumProcesses. как её вызывать? будет ли работать и под xp и под 98?
мне нужно узнать PID зная имя exe файла. я такой ф-ции ещё не нашёл. нашёл только как узнать PID из handle окна, но я не хочу работать с окнами!


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

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

Сейчас этот форум просматривают: Google-бот и гости: 3

    TopList