PRINCIPALE > LISTA DELLE AREE DI DISCUSSIONE > VISUAL BASIC: DOMANDE GENERALI > MESSAGGIO

Eseguire una ricerca veloce nell' archivio delle risorse di Visual Basic Italia®: 

Preso dall'archivio...

Premere il pulsante sotto per accedere direttamente ad un articolo o ad un esempio preso in modo casuale dall'archivio.

Ultimo e-book pubblicato:

"INTRODUZIONE AI CSS"

Lo scopo del CSS language è quello di controllare lo stile dei vari elementi che concorrono a formare un
documento HTML.
Si può operare in tre modi collegamento ad un foglio di stile esterno;definizione degli stili all'inizio
del documento utilizzo della proprietà style all'interno di un Tag HTML (embedded style). Questo e-book introduttivo
servirà per apprendere tali nozioni fondametali dei fogli di stile.


Prezzo: € 0.0.

Presentazione:
REAL SOFTWARE RILASCIA LA VERSIONE 5.0 di REALbasic per Windows






Gorizia, 5 maggio 2003 - Active, distributore in esclusiva di REALSoftware, Austin, Tx, annuncia la disponibilità di REALbasic 5.0 per Windows, uno strumento per lo sviluppo semplice da usare che permette agli utenti Windows di tutti i livelli di creare applicazioni personalizzate e di compilarle sia per la piattaforma Windows che per quella Macintosh.
[>>]

http://www.active-software.com

Contatti. Utilizzare l'email generica per domande relative al sito:
Porre domande relative al sito
oppure scrivere ad un responsabile di area.
Responsabile del sito: >Andrea Martelli
Responsabile area "Corso di VB":
> Giorgio Abraini

Messaggio



x Fabrizio Tornaboni
LordTzeentch 16/01/2006
Difficoltà: Facile

Per Fabrizio Tornaboni:

ho pensato anke ad un'altro metodo, quello di prima termina solo processi ke hanno una window, ma se per caso vorresti terminare un processo senza window, tipo explorer, allora nn puoi utilizzare il codice ke ti ho dato in precedenza. Ti riporto il secondo esempio.

in un modilo bas:

Public Const TH32CS_SNAPPROCESS As Long = 2&
Public Const 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
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 Sub CloseHandle Lib "Kernel32" _
(ByVal hPass As Long)

nel form:

Dim Processo As Variant

Function TerminaProcesso(NomeProcesso As String)
For Each Processo In GetObject("winmgmts:").InstancesOf("win32_process")
If Processo.Name = NomeProcesso Then Processo.Terminate
Next
End Function

Private Sub Form_Load()
Dim KillProcesso As String
Dim hSnapShot As Long
Dim uProcess As PROCESSENTRY32
Dim r As Long

NomeProcessoDaTerminare = "calc.exe"

hSnapShot = CreateToolhelpSnapshot(TH32CS_SNAPPROCESS, 0&)
If hSnapShot = 0 Then Exit Sub
uProcess.dwSize = Len(uProcess)
r = ProcessFirst(hSnapShot, uProcess)
Do While r
Processoattivo = uProcess.szExeFile
PosPA = InStr(UCase(Processoattivo), ".EXE") + 3
KillProcesso = Mid(Processoattivo, 1, PosPA)

If InStr(UCase(Processoattivo), UCase(NomeProcessoDaTerminare)) > 0 Then
TerminaProcesso KillProcesso
End If
r = ProcessNext(hSnapShot, uProcess)
Loop
Call CloseHandle(hSnapShot)

End Sub


ecco così dovrebbe andare. Buon Lavoro.