Red de conocimiento informático - Problemas con los teléfonos móviles - Código VB que protege el proceso

Código VB que protege el proceso

Form1:

k pública como booleana

sub privada form_load()

timer1.enabled=k

fin de sub

Private Sub Timer1_Timer()

Si SeeProcess(App.EXEName) <> 2 Entonces

'Se ha cerrado otro proceso

Finalizar si

End Sub

Moudle1:

Opción explícita

'Declarar API

Const pública TH32CS_SNAPPROCESS = &H2&< / p>

Tipo público PROCESSENTRY32

dwSize durante el tiempo

cntUsage durante el tiempo

th32ProcessID durante el tiempo

th32DefaultHeapID durante el tiempo

p>

th32ModuleID mientras

cntThreads mientras

th32ParentProcessID mientras

pcPriClassBaseAs Long

dwFlags como Largo

szExeFile como cadena * 260

Tipo de fin

Declaración pública Sub CloseHandle Lib " kernel32" (ByVal hPass As Long)

Función de declaración pública CreateToolhelp32Snapshot Lib "kernel32" (ByVal dwFlags mientras, ByVal th32ProcessID mientras) mientras

Función de declaración pública Process32First Lib "kernel32" (ByVal hSnapShot mientras, lppe como PROCESSENTRY32) mientras< / p>

Proceso de función de declaración pública32Next Lib "kernel32" (ByVal hSnapShot siempre, lppe como PROCESSENTRY32) Mientras

Proceso de función de declaración pública32Next Lib "kernel32" (ByVal hSnapShot mientras, lppe como PROCESSENTRY32) Mientras

Función de declaración pública OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal blnheritHandle As Long, ByVal dwAppProcessId As Long) As Long

Sub Main()

atenuar t como formulario1

Si Trim(Command) = "/js" Entonces

establecer t = Nuevo Formulario1

t.k=true

Otro

<

p>Shell App.Path & "\amp" & App.amp ".exe /js"

End If

End Sub

'Ver el especificación Nombre del proceso

Función SeeProcess(sProcess As String) Como Entero

Dim lSnapShot AsLong As Long

Dim lNextProcess As Long

Dim sum como entero

Dim tPE como PROCESSENTRY32

suma = 0

lSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0&)

Si lSnapShot < > -1 Entonces

tPE.dwSize = Len(tPE)

lNextProcess = Process32First(lSnapShot, tPE)

Hacer mientras lNextProcess

Si sProcess & ".exe" = Left(tPE.szExeFile, InStr(1, tPE.szExeFile, Chr(0 ))- 1) entonces

suma = suma + 1

End If

lNextProcess = Process32Next(lSnapShot, tPE)

Bucle

CloseHandle (lSnapShot)

Bucle

CloseHandle (lSnapShot)

Finalizar si

SeeProcess = suma

Finalizar función