Newsgroup: it.comp.programmare.win32
Titolo: Processi attivi

Salve a tutti,
volevo sapere come vedere in W98 tutti i processi attivi e NON le finestre,
ma proprio i
processi, non so cosa fare perchè sull'msdn c'è scritto solamente come fare
per vederli
in w95 (ma usa delle api per w95 ONLY) e in NT4 e tutti i due metodi non
possono
essere utilizzati su w98 (parlo di process32first, toolhelp...createsnapshot
e per nt psapi.dll)
grazieeeeee
Que


??? Le varie Process32First,Process32Next e gli snapshot sono delle API
ToolHelp32  sono richiamabili benissimo anche da windows 98!
Non capisco quale sia il tuo problema, in genere si parla di sistemi 9x e
NT, dove quella X indica che il tutto vale sia per 95 che 98!
Non so che linguaggio usi, ma visto che io conosco solo il pascal (e lavoro
in Delphi) ti scriverò 2 linee di codice con quello.
procedure TForm1.Button1Click(Sender: TObject);
var hSnapShot : integer;
    EProcess : TPROCESSENTRY32;
    NotLast : Boolean;
begin
    hSnapShot:= CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
    If hSnapShot <> -1 Then
    Begin
    EProcess.dwSize:= sizeof(EProcess);
    NotLast := Process32First(hSnapShot, EProcess);
      Repeat
         Listbox1.items.add(EProcess.szExeFile + ' - ' +
IntToStr(EProcess.th32ProcessID));
         NotLast := Process32Next(hSnapShot, EProcess)
      Until NotLast=False;
    end;
CloseHandle(hSnapShot);
End;
Questo ti fa vedere sia il percorso dell'eseguibile che il PID del processo,
poi aggiungi/rimuovi quello che + ti interessa!
Importante, ricorda di chiamare CloseHandle per lo snapshot del processo!
Ciao
--
- Carlo -
BSSoftware Tips Mailing-List Support

NT, dove quella X indica che il tutto vale sia per 95 che 98!
si si, lo so che la X sta per 5-8 ecc.... ma sull'msdn si parla SOLO di
metodo per
95, NT4 e W2000, se provo a compilare  (ora sto col C++) una routine che usa
tali api (con relativi header inclusi) ottengo solo errori, il compilatore
si rifiuta
e mi identifica tali api solo come api per W95 e non me le fa usare sul 98
Que

>#Include <tlhelp32.h>
Scusate....dimenticavo che il C è case sensitive...
#include <tlhelp32.h>
:)


Que
Hai incluso la unit tlhelp32?
Andando per logica....
#Include <tlhelp32.h>
Ciao


#include <tlhelp32.h>
Hmmm.. probabilmente 
#include <tlhelp32.hpp>
trattandosi di unit Delphi, automaticamente generate come header C++.
--
Andrea Laforgia (
andrea_...@bigfoot.com
)
-----------------------------------------------------
"There is nothing better for understanding a kangaroo
 than seeing it jump." [D.Grune, C.J.H. Jacobs]
-----------------------------------------------------

trattandosi di unit Delphi, automaticamente generate come header C++.
Io ci ho provato....ma non  sapendo il C! :)


Ciao
mmmmm il file giusto č tlhelp32.h ma continua a rifiutarsi......misteri di
win
Que
grazie mille comunque

il minor numero di errori che sono riuscito ad ottenere è stato:
error LNK2001: unresolved external symbol _CreateToolhelp32Snapshot@8
e basta, considerate che l'inclue è messo bene
cosa posso fare?
Que

mmmmm il file giusto è tlhelp32.h ma continua a rifiutarsi......misteri di
Ripeto : se la unit delphi e' tlhelp32, il file giusto e'
tlhelp32.hpp.


tlhelp32.hpp.
No, scusate, chiaramente e' tlhelp32.h


 Que
Non vorrei dire sciocchezze, ma oltre al file di intestazione (che per lo
sviluppo in SDK e` #include <tlhelp32.h>) e` necessario includere la
libreria, cioe` "th32.lib".
In VC++ io di solito faccio:
#ifdef _MSC_VER
  #pragma comment(lib,"th32.lib")  // Libreria ToolHelp
#endif
#include <windows.h>
#include <tlhelp32.h>
Anche in Delphi dovrebbe esistere una modalita` analoga.
susanna

grazie, io pure uso VC++
era quello che mancava, grazie ancora :)
Que

Anche in Delphi dovrebbe esistere una modalita` analoga.
in Delphi invece è sufficiente includere la unit tlhelp32, poi magari è la
unit stessa che implementa quella operazione!


Forse hai una versione vecchia del vcpp che non ha nel kernel32.lib
l'export della funzione CreateToolhelp32Shapshot
Tradotto: prova a compilarlo sulla 5.0 o la 6.0