Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
 Аватар для Narkot1k
0 / 0 / 1
Регистрация: 26.01.2011
Сообщений: 33

Работа с системой: поиск/завершение процессов

30.10.2012, 20:13. Показов 1198. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
Option Explicit
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Any, lParam As Any) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function CloseHandle Lib "Kernel32.dll" (ByVal Handle As Long) As Long
Private Declare Function OpenProcess Lib "Kernel32.dll" (ByVal dwDesiredAccessas As Long, ByVal bInheritHandle As Long, ByVal dwProcId As Long) As Long
Private Declare Function TerminateProcess Lib "kernel32" (ByVal hProcess As Long, ByVal uExitCode As Long) As Long
Private Declare Function CreateToolhelpSnapshot Lib "kernel32" Alias "CreateToolhelp32Snapshot" (ByVal lFlags As Long, lProcessID As Long) As Long
Private Declare Function ProcessFirst Lib "kernel32" Alias "Process32First" (ByVal hSnapshot As Long, uProcess As PROCESSENTRY32) As Long
Private Declare Function ProcessNext Lib "kernel32" Alias "Process32Next" (ByVal hSnapshot As Long, uProcess As PROCESSENTRY32) As Long
Private Declare Function GetVersionExA Lib "kernel32" (lpVersionInformation As OSVERSIONINFO) As Integer
Private Type PROCESSENTRY32
dwSize As Long
cntUsage As Long
th32ProcessID As Long
th32DefaultHeapID As Long
th32ModuleID As Long
cntThreads As Long
th32ParentProcessID As Long
pcPriClassBase As Long
dwFlags As Long
szExeFile As String * 260
End Type
Private Type OSVERSIONINFO
dwOSVersionInfoSize As Long
dwMajorVersion As Long
dwMinorVersion As Long
dwBuildNumber As Long
dwPlatformId As Long
szCSDVersion As String * 128
End Type
Private Const PROCESS_ALL_ACCESS = 0
Private Const TH32CS_SNAPPROCESS As Long = 2&
Private Const WINNT As Integer = 2
Private Const WIN98 As Integer = 1
Public KillAppReturn As Boolean
Public Function getVersion() As Integer
Dim udtOSInfo As OSVERSIONINFO
Dim intRetVal As Integer
 
With udtOSInfo
.dwOSVersionInfoSize = 148
.szCSDVersion = Space$(12
End With
 
intRetVal = GetVersionExA(udtOSInfo)
 
getVersion = udtOSInfo.dwPlatformId
End Function
 
Public Function Killapp(myName As String)
Select Case getVersion()
Case WIN98
Killapp9X (myName)
Case WINNT
KillappNT (myName)
End Select
End Function
 
Private Function KillappNT(myName As String)
Dim uProcess As PROCESSENTRY32
Dim rProcessFound As Long
Dim hSnapshot As Long
Dim szExename As String
Dim exitCode As Long
Dim myProcess As Long
Dim AppKill As Boolean
Dim appCount As Integer
Dim I As Integer
On Local Error GoTo Finish
appCount = 0
uProcess.dwSize = Len(uProcess)
hSnapshot = CreateToolhelpSnapshot(TH32CS_SNAPPROCESS, 0&)
rProcessFound = ProcessFirst(hSnapshot, uProcess)
Do While rProcessFound
I = InStr(1, uProcess.szExeFile, Chr(0))
szExename = LCase$(Left$(uProcess.szExeFile, I - 1))
If Right$(szExename, Len(myName)) = LCase$(myName) Then
KillAppReturn = True
appCount = appCount + 1
myProcess = OpenProcess(1&, -1&, uProcess.th32ProcessID)
AppKill = TerminateProcess(myProcess, 0&)
Call CloseHandle(myProcess)
End If
rProcessFound = ProcessNext(hSnapshot, uProcess)
Loop
Call CloseHandle(hSnapshot)
Finish:
KillAppReturn = False
End Function
 
Private Function Killapp9X(myName As String)
Dim uProcess As PROCESSENTRY32
Dim rProcessFound As Long
Dim hSnapshot As Long
Dim szExename As String
Dim exitCode As Long
Dim myProcess As Long
Dim AppKill As Boolean
Dim appCount As Integer
Dim I As Integer
On Local Error GoTo Finish
appCount = 0
uProcess.dwSize = Len(uProcess)
hSnapshot = CreateToolhelpSnapshot(TH32CS_SNAPPROCESS, 0&)
rProcessFound = ProcessFirst(hSnapshot, uProcess)
Do While rProcessFound
I = InStr(1, uProcess.szExeFile, Chr(0))
szExename = LCase$(Left$(uProcess.szExeFile, I - 1))
If Right$(szExename, Len(myName)) = LCase$(myName) Then
KillAppReturn = True
appCount = appCount + 1
myProcess = OpenProcess(PROCESS_ALL_ACCESS, False, uProcess.th32ProcessID)
AppKill = TerminateProcess(myProcess, exitCode)
Call CloseHandle(myProcess)
End If
rProcessFound = ProcessNext(hSnapshot, uProcess)
Loop
Call CloseHandle(hSnapshot)
Finish:
KillAppReturn = False
End Function
 
Private Sub Timer2_Timer()
Killapp "1488.exe"
End Sub
Использую вб 6.0, нашёл код о завершении процесса, но он ничего завершать не хочет, процесс спокойно существует. Таймер настроен. Где ошибка? + Как будет выглядеть правильно такой код:
Visual Basic
1
2
3
4
5
6
7
8
Function ололо()
Dim a as String
a = 1488.exe
b = 282.exe
if существует процесс a Then
завершить процесс b
End If
End Function
и такой :
Visual Basic
1
уничтожить процесс а
Taskkill, pid не предлагать. Нужна в массовых использования.
Всем заранее спасибо.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.10.2012, 20:13
Ответы с готовыми решениями:

Как организовать поиск и завершение процессов?
Как сделать так чтобы программа искала процессы и закрывала их? При чем не один раз а много т.е если нужную программу снова открыть нужно...

Завершение всех запущенных процессов из находящегося в текстовом файле списка запрещенных к запуску процессов
пожалуйста помогите написать батник. Задать в текстовом файле список процессов, запрещенных к запуску. Создать командный файл,...

Поиск и завершение "висящих" процессов
Добрый день. Суть такая, имеем терминальный сервер, есть процессы которые "висят" но отвечают. Их несколько с одинаковым именем. ...

4
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38200 / 21132 / 4310
Регистрация: 12.02.2012
Сообщений: 34,738
Записей в блоге: 14
30.10.2012, 20:59
А права на уничтожение процесса есть? Ты под админом работаешь?
0
 Аватар для Narkot1k
0 / 0 / 1
Регистрация: 26.01.2011
Сообщений: 33
30.10.2012, 21:40  [ТС]
Catstail, да, конечно.
0
64 / 20 / 1
Регистрация: 29.07.2012
Сообщений: 151
31.10.2012, 01:54
Цитата Сообщение от Narkot1k Посмотреть сообщение
Как будет выглядеть правильно такой код
Цитата Сообщение от Narkot1k Посмотреть сообщение
уничтожить процесс а
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
Option Explicit
 
Private Sub Form_Load()
On Error Resume Next
       Dim Process As Object
        For Each Process In GetObject("winmgmts:").ExecQuery("Select * from Win32_Process")
                If Process.Caption Like "notepad.exe" Then
                        Process.Terminate
                End If
        Next
End Sub
1
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
31.10.2012, 02:00
Не вникал, но должно быть похожее с этими кодами:

Как показать занимаемую память процессов, завершить процесс
Завершить сторонний процесс
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
31.10.2012, 02:00
Помогаю со студенческими работами здесь

Работа с файловой системой. Поиск файлов, удаление файл размер которого превышает 100 килобайт
Всем привет! Помогите пожалуйста! Вообщем необходимо реализовать программу , которая будет содержать модуль иерархического поиска файлов...

Завершение процессов
Как в Паскале можно завершить запущенный процесс?

Завершение процессов
Ребята ! нужна ваша помощь !!! Как закрыть все процессы кроме определенных ??? Желательно на примере . Спасибо.

Завершение чужих процессов
Привет всем! Стал заниматься программированием на C# и еще совсем не много знаю. На днях возник вопрос: «Как убивать (завершать) другие...

Завершение дерева процессов
Ребят,дайте код,которым можно завершить дерево процессов в c#


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru