Salut !
Dans mon application client /serveur je voudrais que mon serveur envoi la liste des processus au client mais je vois pas comment faire ...
Salut !
Dans mon application client /serveur je voudrais que mon serveur envoi la liste des processus au client mais je vois pas comment faire ...
Salut
Batch
Tasklist >c:/proc.txt
Le fichier texte contenant les processus est créé à la racine de c:
Reste à importer dans le client et a envoyé au serveur
j' ai eu exactement la même idée mais jme tournerais plus vers les API windows
je sais pas si il yen a une qui traite les process.
EnumProcesses + GetModuleBaseName, tu as un exemple ici.
Côté envoi "pur", ça reste finalement l'envoi d'une liste de chaînes de caractères (+ éventuellement PID, donc un entier non-signé 32 bits) dont on connait la taille à l'avance, rien de bien sorcier donc.
Mac LAK.
___________________________________________________
Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.
Sources et composants Delphi sur mon site, L'antre du Lak.
Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.
Rejoignez-nous sur : ► Serveur de fichiers [NAS] ► Le Tableau de bord projets ► Le groupe de travail ICMO
merci bien de la réponse , j'essaye et je vous tient au courant !
heu probleme: erreur de lieur quand je compile le code [http://msdn.microsoft.com/en-us/libr...8VS.85%29.aspx] avec Borland 6 en expert console...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 [Lieur Erreur] Unresolved external 'EnumProcesses' referenced from D:\PROGRAM FILES\BORLAND\CBUILDER6\PROJECTS\PROCESS2.OBJ [Lieur Erreur] Unresolved external 'EnumProcessModules' referenced from D:\PROGRAM FILES\BORLAND\CBUILDER6\PROJECTS\PROCESS2.OBJ [Lieur Erreur] Unresolved external 'GetModuleBaseNameA' referenced from D:\PROGRAM FILES\BORLAND\CBUILDER6\PROJECTS\PROCESS2.OBJ
Mac LAK.
___________________________________________________
Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.
Sources et composants Delphi sur mon site, L'antre du Lak.
Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.
Rejoignez-nous sur : ► Serveur de fichiers [NAS] ► Le Tableau de bord projets ► Le groupe de travail ICMO
pourtant j'ai inclus ce qui donne :
le texte en dessous du code explique le role du code, désolé si je comprend pas tout je suis encore débutant-intermédiaire
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 #include <windows.h> #include <stdio.h> #include <tchar.h> #include <psapi.h>![]()
Hello,
Rajoute psapi.lib à ton projet. Ça se trouve dans $(BCB)\lib\psdk.
j'ai du mal :
je vais dans projet>importer une biblio...>ajouter je cherche dans le dossier PSDK psapi.lib et j'ai une erreur
:Erreur lors du chrgement de la bibliothèque/DLL du type je suis certain de my prendre comme un pied...
Nan:
Menu Projet -> Ajouter au projet.
Tu sélectionnes "Fichiers bibliothèque (*.lib)" comme type de fichier et tu vas faire un tour dans le sous-répertoire lib\psdk de ton install de Builder.
Ou sinon je pense que tu peux ajouter ceci à ton fichier .h:
Code : Sélectionner tout - Visualiser dans une fenêtre à part #pragma link "psapi.lib"
nan sa me met
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 [Lieur Erreur fatale] Fatal: Unable to open file 'PSAPI.LIB'
Tu as essayé:
Sinon, utilise la méthode de totoche76 mentionné plus haut.
Code : Sélectionner tout - Visualiser dans une fenêtre à part #pragma link "psdk\psapi.lib"
rectification je n'avait pas vu le message de totoche76 !
sa marche maintenant merci beaucoup !
Il me reste plus qu'a envoyé sa au serveur ....
Salut!
Dans la section code source, y a un exemple de gestion de processus, tu pourra y trouver comment lister les processus, c'est ici
++
Merci pour le lien ! avec tout sa j'ai pas mal avancé , mon client liste tous les processus, par contre coté serveur le voudrais récupérer la liste de processus du client pour effectuer un traitement
Coté client :
Code Gestion des ProCess :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 //je récupère la liste des process contenus dans ma listeBox1 AnsiString ListProcess =ListBox1->Items->GetText(); //j' envois une trame contenant différentes OPTION ainsi que la liste des Process ClientSocket1->Socket->SendText(OPTION1+"*"+OPTION2+"*"+OPTION2+"*"+ListProcess):
Coté serveur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 // rafraichir la liste des processus en cours d'executions void TForm1::RefreshProcess() { HANDLE hSnapShot; PROCESSENTRY32 uProcess; bool r; char ExeName[256]; ListBoxProcess->Clear(); hSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPALL,0); uProcess.dwSize = (DWORD) sizeof(PROCESSENTRY32); r = Process32First(hSnapShot, &uProcess); do // Cette boucle énnumère tout les processus { //on cherche le nom de notre application dans le chemin d'accès de l'éxécutable du processus. strcpy(ExeName, uProcess.szExeFile); ListBoxProcess->Items->Add(ExeName); r = Process32Next(hSnapShot, &uProcess); } while ( r ); CloseHandle(hSnapShot); ListBoxProcess->ItemIndex = index; } //---------------------------------------------------------------------------
Je reçoit ma trame complète, cependant la liste des Process arrive en block je voudré juste rajouté un traitement pour que les process reçu avec :Socket->ReceivText(); soit affiché en sautant une ligne ,dans le code RefreshProcess() je ne voit pas ou je pourrait ajouté un caractère à chaque fin de processus .
Partager