begin process at 2012 05 30 19:16:45
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Divers

 > 

Trouver le path d'un processus > code MSDN semble incorrect


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Trouver le path d'un processus > code MSDN semble incorrect

dimanche 25 avril 2004 à 08:03:44 | Trouver le path d'un processus > code MSDN semble incorrect

Roudy

J'ai tenter de retrouver cela grace a du code de MSDN mais ce code ne semble par fonctionner comme il faut car le .th32ModuleID de PROCESSENTREY32 semble toujours retourner null (0)

je me demandais si quelqu'un aurait un autre moyen

merci

le code de MSDN que je me suis servi est le suivant

#include <windows.h>
#include <tlhelp32.h>
#include <stdio.h>

BOOL GetProcessModule (DWORD dwPID, DWORD dwModuleID,
LPMODULEENTRY32 lpMe32, DWORD cbMe32)
{
BOOL bRet = FALSE;
BOOL bFound = FALSE;
HANDLE hModuleSnap = NULL;
MODULEENTRY32 me32 = {0};

// Take a snapshot of all modules in the specified process.

hModuleSnap = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, dwPID);
if (hModuleSnap == (HANDLE)-1)
return (FALSE);

// Fill the size of the structure before using it.

me32.dwSize = sizeof(MODULEENTRY32);

// Walk the module list of the process, and find the module of
// interest. Then copy the information to the buffer pointed
// to by lpMe32 so that it can be returned to the caller.

if (Module32First(hModuleSnap, &me32))
{
do
{
if (me32.th32ModuleID == dwModuleID)
{
CopyMemory (lpMe32, &me32, cbMe32);
bFound = TRUE;
}
}
while (!bFound && Module32Next(hModuleSnap, &me32));

bRet = bFound; // if this sets bRet to FALSE, dwModuleID
// no longer exists in specified process
}
else
bRet = FALSE; // could not walk module list

// Do not forget to clean up the snapshot object.

CloseHandle (hModuleSnap);

return (bRet);
}

BOOL GetProcessList ()
{
HANDLE hProcessSnap = NULL;
BOOL bRet = FALSE;
PROCESSENTRY32 pe32 = {0};

// Take a snapshot of all processes in the system.

hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);

if (hProcessSnap == (HANDLE)-1)
return (FALSE);

// Fill in the size of the structure before using it.

pe32.dwSize = sizeof(PROCESSENTRY32);

// Walk the snapshot of the processes, and for each process,
// display information.

if (Process32First(hProcessSnap, &pe32))
{
DWORD dwPriorityClass;
BOOL bGotModule = FALSE;
MODULEENTRY32 me32 = {0};

do
{
bGotModule = GetProcessModule(pe32.th32ProcessID,
pe32.th32ModuleID, &me32, sizeof(MODULEENTRY32));

if (bGotModule)
{
HANDLE hProcess;

// Get the actual priority class.
hProcess = OpenProcess (PROCESS_ALL_ACCESS,
FALSE, pe32.th32ProcessID);
dwPriorityClass = GetPriorityClass (hProcess);
CloseHandle (hProcess);

// Print the process's information.
printf( "\nPriority Class Base\t%d\n",
pe32.pcPriClassBase);
printf( "PID\t\t\t%d\n", pe32.th32ProcessID);
printf( "Thread Count\t\t%d\n", pe32.cntThreads);
printf( "Module Name\t\t%s\n", me32.szModule);
printf( "Full Path\t\t%s\n\n", me32.szExePath);
}
}
while (Process32Next(hProcessSnap, &pe32));
bRet = TRUE;
}
else
bRet = FALSE; // could not walk the list of processes

// Do not forget to clean up the snapshot object.

CloseHandle (hProcessSnap);
return (bRet);
}

void main(void)
{
GetProcessList();
}




Cette discussion est classée dans : false, of, bret, me32, pe32


Répondre à ce message

Sujets en rapport avec ce message

Thread fonctionne pas -> je suis beginner en thread :) [ par Roudy ] quelqu'un est capable svp de me dire pkoi le thread part pas svpint WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int n Programme en attente d'une condition... [ par kod32 ] Bonjour,je souhaiterais mettre mon programme (serveur TCP) en attente pour vérifier une condition.J'utilise la détection d'une connection internet (ma do{.................}while(FALSE). [ par oudkaramla ] bonjour tout le mondej'ai un programme qui utilise la boucle do mais combiné avec false comme suitdo{................................}while(FALSE).je vider le buffer de cin pour reutilisation [ par saturne_1606 ] Bonjour a tous!Malgré mes recherches sur le forum, je n'est pas trouver reponse a mon probleme.Bon voila, j'ai surdéfini l'operateur >> pour une class passer de HICON en HBITMAP, pour menu [ par youpiyoyo ] j'aurai besoin de passer un HICON en HBITMAP, pour pouvoir afficher une icone dans un menu j'ai testé avec copyimage sans succes.....voici le bout de EM_GETLINE [ par vecchio56 ] Je dois utiliser le message EM_GETLINE pour récupérrer une ligne d'un Rich Edit.Pour lParam, la MSDN dit"Pointer to the buffer that receives a copy of CHAR écrasé... [ par malik7934 ] Hello,Ecoutez ce problème bizarre: j'ai un prog (avec GMP et Win32) qui plante quand je travaille avec des chiffres très élevés. Je SAIS que ce n'est ado access pour problème d'Eof [ par antoine_1977 ] Salut,Je me connecte à ma db access, je récupère les champs que je veux, mais arrivé à la fin de ma liste ça plante... enfin je catch l'erreur mais c probleme SKD [ par Arnaud16022 ] helloje suis sur VC6 et je voudrais charger des modeles md2 sous openGL. que faire? Évidemment un petit tour chez Digiben!! (bon je sais qu'il existe ecriture 3d [ par mat74 ] salut a ts voila j'ai un petit pb avec l'ecriture 3d en opengl , n'importe quel valeur que je mette ds le 1er param de createfont ne change pas la tai


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 4,540 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales