Страница: 1 |
Страница: 1 |
Вопрос: kill explorer
Добавлено: 04.09.05 10:07
Автор вопроса: mr_Frank | Web-сайт:
Помогите мне закрыть explorer из программы
Ответы
Всего ответов: 7
Номер ответа: 1
Автор ответа:
HOOLIGAN
Вопросов: 0
Ответов: 1066
Профиль | | #1
Добавлено: 04.09.05 10:46
Посмотри в msdn SC_CLOSE
Номер ответа: 2
Автор ответа:
mr_Frank
ICQ: 316417
Вопросов: 36
Ответов: 94
Web-сайт:
Профиль | | #2
Добавлено: 04.09.05 13:43
у меня нет msdn
Номер ответа: 3
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #3
Добавлено: 04.09.05 14:50
http://msdn.microsoft.com
Дешевые отмазки
Номер ответа: 4
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #4
Добавлено: 04.09.05 18:52
примеров по убиванию процесса полно, только вот думаю что ты его убъеш, а винда тут же снова запустит (XP точно)
Номер ответа: 5
Автор ответа:
HOOLIGAN
Вопросов: 0
Ответов: 1066
Профиль | | #5
Добавлено: 04.09.05 19:15
Если произошла ошибка в explorer'e, то Винда перезапустит его. Если просто прибить (например из TaskManager'а) то не перезапустится (в ХР тоже), пока сам вручную не запустишь.
Номер ответа: 6
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #6
Добавлено: 04.09.05 23:17
ну тогда без проблем...
' |
' = = = = = = = M A D E B Y H A C K E R = = = = = = |
' icq: 334479038, mail: no_detect@mail.ru |
'===========================================================|
Public proc As PROCESSENTRY32, Snap As Long
Public Declare Function CreateToolhelpSnapshot Lib "kernel32" Alias "CreateToolhelp32Snapshot" (ByVal lFlags As Long, ByVal lProcessID As Long) As Long
Public Declare Function ProcessFirst Lib "kernel32" Alias "Process32First" (ByVal hSnapshot As Long, uProcess As PROCESSENTRY32) As Long
Public Declare Function ProcessNext Lib "kernel32" Alias "Process32Next" (ByVal hSnapshot As Long, uProcess As PROCESSENTRY32) As Long
Public Declare Function TerminateProcess Lib "kernel32" (ByVal hProcess As Long, ByVal uExitCode As Long) As Long
Public Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Public Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Public Const TH32CS_SNAPPROCESS = &H2, TH32CS_SNAPheaplist = &H1, TH32CS_SNAPthread = &H4, TH32CS_SNAPmodule = &H8, TH32CS_SNAPall = TH32CS_SNAPPROCESS + TH32CS_SNAPheaplist + TH32CS_SNAPthread + TH32CS_SNAPmodule, MAX_PATH As Integer = 260
Public 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 * MAX_PATH
End Type
Dim mass() As Long
Dim NP() As String
Public Sub KillProc(ArryProsess$())
'Убивает все процессы которые даны в массиве
ReDim mass(0)
ReDim NP(0)
On Error Resume Next
Snap = CreateToolhelpSnapshot(TH32CS_SNAPall, 0)
proc.dwSize = Len(proc)
TheLoop = ProcessFirst(Snap, proc)
Index = 0
While TheLoop <> 0
NP$(Index) = Replace(proc.szexeFile, Right(proc.szexeFile, 1), ""
mass(Index) = proc.th32ProcessID
Index = Index + 1
ReDim Preserve NP(Index)
ReDim Preserve mass(Index)
TheLoop = ProcessNext(Snap, proc)
Wend
CloseHandle Snap
For i% = 0 To UBound(ArryProsess$)
Kick$ = ArryProsess$(i
For q% = 0 To Index
If LCase(Left(Spliting(NP$(q, "\", Len(Kick$))) = LCase(Kick$) Then
openproc = OpenProcess(1, 0, mass(q)
term = TerminateProcess(openproc, -9)
End If
Next q%
Next i%
End Sub
Dim arr$()
arr$(0) = "explorer.exe"
KillProc arr$
End Sub
Номер ответа: 7
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #7
Добавлено: 04.09.05 23:19
и ещё...
в Private Sub Form_Load()
Dim arr$(0) '!!!
и
If sFullPath = "" Then Exit Function
Dim str1() As String
str1 = Split(sFullPath, point)
Spliting = str1(UBound(str1))
End Function