Newsgroup: it.comp.programmare.win32
Titolo: ProcessID.....

Ciao a tutti il mio problema è il seguente.... dovrei riuscire ad ottenere
l'identificativo di un processo che sta in esecuzione...
Ho trovato solo l'api getcurrentprocess ...... ma non è quello che mi
serve.... io voglio l'ID di un qualunque processo....
Spero di essere stato chiaro.....
grazie


Date: Sun, 28 Feb 1999 15:45:08 +0100
Non so se risolva la questione, Giovanni non ci ha ancora fatto sapere niente...
_mirko_
PS: Se volete contattarmi in privato, NON ciucciatevi il calzino :).

Se disponi di un handle di finestra puoi usare la funzione
GetWindowThreadProcessId:
DWORD GetWindowThreadProcessId(HWND hWnd,DWORD *pdwProcessId);
Il valore di ritorno è l'ID del thread che ha creato la finestra, mentre il
parametro pdwProcssId punta a una variabile che, dopo il ritorno della
funzione conterrà l'ID del processo.
Stefano.

 Ciao a tutti il mio problema è il seguente.... dovrei riuscire ad ottenere..
Le funzioni consigliate da _Mirko_ funzionano solo che sono funzioni del
kernel e quindi devi prima ottenere i puntatori che le referenziano. Se
conosci l'andle della finestra ti conviene usare la funzione
GetWindowThreadProcessId come consigliato da Stefano.....
A presto.....Giovanni.

[...]
Uh? se parli di quelle nella libreria toolhelp (che pero` non stanno nel kernel)
esiste anche la libreria di importazione th32.lib (per linkarle staticamente e
non a runtime con Get...).


Tutte le funzioni relative al tool help si trovano nel kernel del
sistema operativo, di quesro sono sicuro poiche' c'e' scritto nelle
documentazioni del VC++ 5.0. Non conoscevo la libreria th32.lib,
effettivamente usare la libreria e' piu' rapido comunque a me interessa
solo che il programma giri....... appena ho un po' di tempo libero mi
costruisco una classe che gestisca tutte le funzini che riguardano i
processi.....
Tanto per curiosita' ma tu _Mirko_, cosa fai nella vita? Da quanto ho
potuto capire non c'e' cosa che tu non sappia sul Windows.........
A presto...Giovanni
P.S.: Scusatemi se il mio precedente messaggio e' arrivato tante volte
ma avevo il computer semi-inceppato e continuavo a premere Send senza
avere alcuna risposta...

Oops, in effetti le funzioni toolhelp si trovano in Kernel.dll. Come avrai
capito pero` non era questo il motivo per cui non riuscivi a importarle, bensi`
che non ci sono nella libreria di esportazione (.lib) di Kernel.dll.
Strano pero`, stanno in kernel32.dll ma non in kernel32.lib e di una th32.dll
non c'e` traccia. Invece in win16 stavano in toolhelp.dll. Che ginepraio. Ci
credo io che mi confondo :) 
...tralasciamo i complimenti che senno` arrossisco... {\redface :) }
(comunque grazie, ma non e` vero)


che non ci sono nella libreria di esportazione (.lib) di Kernel.dll.
Certo, se avessi pensato di includere kernel32.lib e se ci fossero state
le funzioni che cercavo lo stesso sistema operativo avrebbe provveduto a
rintracciare i loro puntatori e a fare automaticamente cio' che ho fatto
manualmente io..... (si chiama vtable la tabella che il sistema usa per
tenere traccia dei puntatori delle funzioni all'interno delle dll,
vero????).
Ciao.
Giovanni.

Andiamo sul + difficile .... ;-)
se io ho una finestra......ok gli becco il processo......
ma se voglio beccare il  uno dei thread di questo peocesso e voglio
adirittura  sospenderlo (SuspendThread)......se po fà  o non se po fà ?
byebyte

adirittura  sospenderlo (SuspendThread)......se po fà  o non se po fà ?
Thread32First e Thread32Next?
