Как закрыть программу?

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

Как закрыть программу?

Сообщение sQx » 19.03.2004 (Пт) 14:21

Как закрыть программу в Windows, знаея ее путь или имя окна??
Высшая мудрость - знать самого себя.
Ученый человек - сосуд, мудрец - источник.
Что разумно, то действительно, и что действительно, то разумно.
Знание - сила, всезнание - слабость.
Я знаю только то, что ничего не знаю.

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

Сообщение RayShade » 19.03.2004 (Пт) 15:22

Наиболее вероятным представлется 2 пути:

1. По имени окна находим окно и через sendmessage посылаем ему WM_QUIT

2. По пути в списке процессов через enumprocesses отыскиваем ее процесс и сносим его через terminateprocess. На 2000+ можно просто проенумерить WMI класс Win32_Process и убить нужный методом .terminate

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

Сообщение v-adix » 19.03.2004 (Пт) 15:31

можно подробнее с terminate process ?

Alfa
Бывалый
Бывалый
 
Сообщения: 249
Зарегистрирован: 12.01.2003 (Вс) 20:15
Откуда: Россия, Красноярск

Сообщение Alfa » 19.03.2004 (Пт) 15:58

Declare Function GetWindowThreadProcessId Lib "user32" Alias "GetWindowThreadProcessId" (ByVal hwnd As Long, lpdwProcessId As Long) As Long
Declare Function OpenProcess Lib "Kernel32.dll" (ByVal dwDesiredAccessas As Long, ByVal bInheritHandle As Long, ByVal dwProcId As Long) As Long
Declare Function TerminateProcess Lib "kernel32" Alias "TerminateProcess" (ByVal hProcess As Long, ByVal uExitCode As Long) As Long
Declare Function CloseHandle Lib "kernel32" Alias "CloseHandle" (ByVal hObject As Long) As Long
Const PROCESS_ALL_ACCESS = &H1F0FFF

Sub KillByhWnd(ByVal hWnd as Long)
dim h1 as long, h2 as long
GetWindowThreadProcessId hWnd, h1
h2 = openprocess(PROCESS_ALL_ACCESS, false, h1)
TerminateProcess(h2)
CloseHandle(h2)
End Sub

(Поиск)
Изображение

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

Сообщение v-adix » 20.03.2004 (Сб) 12:10

а можно как нибудь зная exe файл проги ?

SeRRg
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 343
Зарегистрирован: 25.11.2003 (Вт) 20:14
Откуда: Тюмень!

Сообщение SeRRg » 20.03.2004 (Сб) 13:31

Не это?
Вложения
Closer.zip
(2.18 Кб) Скачиваний: 51
VB - это звучит!

sQx
Философ
Философ
 
Сообщения: 365
Зарегистрирован: 08.08.2002 (Чт) 19:23

Сообщение sQx » 20.03.2004 (Сб) 13:33

А как закрыть ДОС-прогу в ХП. В окне выводится путь к проге (досовский), я его узнаю вот читать здесь: http://bbs.vbstreets.ru/viewtopic.php?t=6287

Нужен конкретный пример, который работает! :!:
Высшая мудрость - знать самого себя.
Ученый человек - сосуд, мудрец - источник.
Что разумно, то действительно, и что действительно, то разумно.
Знание - сила, всезнание - слабость.
Я знаю только то, что ничего не знаю.


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

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

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

    TopList  
cron