Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: TerminateProcess Добавлено: 17.02.04 18:37  

Автор вопроса:  Load
Не срабатывает функция TerminateProcess (WinXP,Win2000)
Есть идеи?

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, ByVal 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 Sub CloseHandle Lib "kernel32" (ByVal hPass As Long)

Private Sub Form_Load()
Dim Pid&, di&

Pid& = FindWindow(vbNullString, "Project1")
If Pid& <> 0 Then di& = TerminateProcess(Pid&, 0&)
End Sub

'находим id процесса
Function FindProc(strPrilName As String) As Long

Dim hSnapShot As Long
Dim uProcess As PROCESSENTRY32
Dim r As Long

hSnapShot = CreateToolhelpSnapshot(TH32CS_SNAPPROCESS, 0&)
If hSnapShot = 0 Then
Exit Function
End If

uProcess.dwSize = Len(uProcess)
r = ProcessFirst(hSnapShot, uProcess)
Do While r
If InStr(1, uProcess.szExeFile, strPrilName) Then
FindProc = uProcess.th32ProcessID
Call CloseHandle(hSnapShot)
Exit Function
End If

r = ProcessNext(hSnapShot, uProcess)
Loop

Call CloseHandle(hSnapShot)

End Function

Ответить

  Ответы Всего ответов: 1  

Номер ответа: 1
Автор ответа:
 Slay



Вопросов: 27
Ответов: 150
 Web-сайт: www.slaysoft.stormway.ru
 Профиль | | #1
Добавлено: 17.02.04 22:32

под winnt ты должен получить соответствующие привилегии для выполнения TerminateProcess

поковыряй LookupPrivilegeValue ...

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам