1/5 (3 avis)
Vue 9 918 fois - Téléchargée 560 fois
c un peu long pour metre ici tout le code je met que le début pour donner une idée void main() { PWSTR PathBuf; char BinPath[MAX_PATH]; int i; if(!LoadPrivilege(SE_DEBUG_NAME)) return; if(OpenPort()) { printf("Pid Port Proto Path\n\n"); for(i=0; i < 65534; i++) { //disable idle process if(ResultPorts[0][i].pid != 0) { PathBuf=GetProcessPathByPID(ResultPorts[0][i].pid); memset(BinPath,0,MAX_PATH); wcstombs(BinPath,PathBuf,MAX_PATH); LocalFree(PathBuf); printf("%-6d %-6d Tcp %s\n",ResultPorts[0][i].pid,i,BinPath); } } for(i=0; i < 65534; i++) { if(ResultPorts[1][i].pid != 0) { PathBuf=GetProcessPathByPID(ResultPorts[1][i].pid); memset(BinPath,0,MAX_PATH); wcstombs(BinPath,PathBuf,MAX_PATH); LocalFree(PathBuf); printf("%-6d %-6d Udp %s\n",ResultPorts[1][i].pid,i,BinPath); } } } return; }
16 août 2006 à 16:09
Ton programme fonctionne bien sous win2000 mais seulement avec un compte administrateur et pas avec un compte utilisateur... As tu trouvé une solution?
Steve
27 mai 2004 à 23:51
dans la liste des handles
(de toute facon sous xp ya plus simple)
en fait un netstat affiche pas les pid donc je connai pas dotre solution
(sous win2000)
je vai essayer d'améliorer ca quand jaurai un moment
a+
26 mai 2004 à 00:36
ya peut etre un autre moyen pour récuperer les ports ouverts que de lister tous les handles ouverts et de les interroger?
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.