begin process at 2012 05 30 00:41:55
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

OpenProcess


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

OpenProcess

mardi 4 janvier 2005 à 19:23:59 | OpenProcess

NeoUmbrella

Salut , j'aimerais savoi comment faire pour ouvrir un processus de la maniere
 suivante :
(hList contient l'handle d'une listbox d'une autre application)

unsigned long cProcess;

sThread = GetWindowThreadProcessId(hListBox, &cProcess);
mThread = OpenProcess(PROCESS_ALL_ACCESS, false, cProcess);

Mais j'arrive pas il y'a tout le temps une erreure.
Pouvez vous m'aider ?

NeoUmbrella Corp.

mardi 4 janvier 2005 à 23:14:29 | Re : OpenProcess

NeoUmbrella

En fait j'ecris ca :

long mThread;
unsigned long cProcess,sThread;

sThread = GetWindowThreadProcessId(hListBox, &cProcess);
mThread = (long)OpenProcess(PROCESS_ALL_ACCESS, true, cProcess);

sThread me donne la bonne valeure.
Mais mon probleme se situe au niveau de mThread qui me donne tout le temps
 2000, je ne comprends pas pourquoi.

Heeelp meee plzzzz

NeoUmbrella Corp.

mercredi 5 janvier 2005 à 09:33:24 | Re : OpenProcess

ymca2003

Si OpenProcess ne te renvoi pas NULL, c'est que c'est bon. La valeur en elle-même du HANDLE retourné (nomme le hProcess, plutôt que mThread) n'a aucune signification particulière (sauf pour le système) et peut très bien être la même quel que soit le PID.
mercredi 5 janvier 2005 à 12:51:41 | Re : OpenProcess

NeoUmbrella

Pourtant de cette maniere (vb):

Dim cProcess As Long, sThread As Long, mThread As Long

sThread = GetWindowThreadProcessId(rList, cProcess)
mThread = OpenProcess(PROCESS_READ Or RIGHTS_REQUIRED, False, cProcess)

J'arrive a recupere une autre valeure que 2000 et qui change a chaque fois.

NeoUmbrella Corp.

mercredi 5 janvier 2005 à 13:12:17 | Re : OpenProcess

ymca2003

Peut-être mais comme tu met pas les même paramètres à OpenProcess, ça va être dur de comparer...
mercredi 5 janvier 2005 à 17:16:43 | Re : OpenProcess

NeoUmbrella

Je pense que tu parles de PROCESS_READ Or RIGHTS_REQUIRED
Sachant que leur valeure est :

PROCESS_READ = &H10
RIGHTS_REQUIRED = &HF0000

(&H veut dire que ce sont des nombres hexadecimaux en vb)

Que dois je mettre comme parametre ?

NeoUmbrella Corp.
mercredi 5 janvier 2005 à 17:27:41 | Re : OpenProcess

ymca2003

J'ai fait quelques tests et en effet j'obtient toujours la même valeur pour le handle (peu importe les paramètres et le PID). Mais ce handle est valide alors on s'en fout un peu d'avoir toujours le même...

Par contre si tu ouvre un autre process en ayant le premier handle d'ouvert, tu doit avoir une autre valeur.

Il ne faut pas oublier que les handles n'ont une signification que pour le système alors il peut nous donner n'importe quoi du moment qu'en interne il sait à quoi cela correspond.

mercredi 5 janvier 2005 à 18:01:52 | Re : OpenProcess

NeoUmbrella

Ca serait donc normal qu'avec un code vb j'obtienne 804
et avec ce code la j'obtienne 2000 ?

Car apres je dois utiliser un ReadProcessMemory avec cette handle
comme parametre.


NeoUmbrella Corp.
mercredi 5 janvier 2005 à 18:07:41 | Re : OpenProcess

ymca2003

Réponse acceptée !
Oui car en VB il y a tellement d'autre trucs qui tournent en même temps que les handles ne sont pas les mêmes que dans un prog Win32 simple (il y en a sans doute plus d'ouverts). Mais du moment que OpenProcess ne renvoi pas NULL, c'est bon tu poura l'utiliser dans les fonctions demandant ce hProcess. De plus, si le PID du process a une signification pour l'ensemble des processus du système, le handle donné par OpenProcess n'aura qu'une signification que pour le process appelant (et ses futurs descendant si tu as ajouté l'option bIniherit).
mercredi 5 janvier 2005 à 20:13:30 | Re : OpenProcess

NeoUmbrella

Oki merci beaucoup pour tes explications ymca2003

NeoUmbrella Corp.

1 2

Cette discussion est classée dans : openprocess, cprocess


Répondre à ce message

Sujets en rapport avec ce message



Nos sponsors


Sondage...

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 : 0,140 sec (4)

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