Bonjour,
Je voulais savoir s'il y a une possibilité en C++ de scanner un serveur à fin de récupérer le nom des utilisateurs ayant lancé un processus spécifié (ex: Word),et de récupérer ainsi,leur adresses IP. je cherche une idée pour commencer.

J'ai par exemple ce code qui scanne le serveur pour regarder les adresses Ip qui sont en utilisation,je veux faire un truc pareil qui me retourne les utilisateurs qui ont lancé un processus spécifié tel qu'un programme quelconque voilà
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
#include <winsock2.h>
#include <iphlpapi.h>
#include <stdio.h>
#include <windows.h>
 
#pragma comment(lib, "iphlpapi.lib")
#pragma comment(lib, "ws2_32.lib")
 
int __cdecl main(int argc, char **argv)
{
    DWORD dwRetVal;
    IPAddr DestIp = 0;
    IPAddr SrcIp = 0;      
    ULONG MacAddr[2];      
    ULONG PhysAddrLen = 6;  
 
    char DestIpString[100];
    int mac;
    char *SrcIpString = 0;
 
    BYTE *bPhysAddr;
    int i;
 
    /////
 
 
    for (char nombre=1 ; nombre<255 ; nombre++)
    {
 
    sprintf (DestIpString,"10.66.255.%d",nombre);
 
    /////
 
     DestIp = inet_addr(DestIpString);
 
     memset(&MacAddr, 0xff, sizeof (MacAddr));
 
      printf("Sending ARP request for IP address: %s\n", DestIpString);
 
 
      dwRetVal = SendARP(DestIp, SrcIp, &MacAddr, &PhysAddrLen);
 
      if (dwRetVal == NO_ERROR) {
           bPhysAddr = (BYTE *) & MacAddr;
            if (PhysAddrLen) {
              for (i = 0; i < (int) PhysAddrLen; i++) {
                   if (i == (PhysAddrLen - 1))
                     printf("%.2X\n", (int) bPhysAddr[i]);
                 else
                       printf("%.2X-", (int) bPhysAddr[i]);
             }
         } else
              printf
                 ("Warning: SendArp completed successfully, but returned length=0\n");
 
     } 
      else {
        printf("Error: SendArp failed with error: %d", dwRetVal);
        switch (dwRetVal) {
        case ERROR_GEN_FAILURE:
            printf(" (ERROR_GEN_FAILURE)\n");
            break;
        case ERROR_INVALID_PARAMETER:
            printf(" (ERROR_INVALID_PARAMETER)\n");
            break;
        case ERROR_INVALID_USER_BUFFER:
            printf(" (ERROR_INVALID_USER_BUFFER)\n");
            break;
        case ERROR_BAD_NET_NAME:
            printf(" (ERROR_GEN_FAILURE)\n");
            break;
        case ERROR_BUFFER_OVERFLOW:
            printf(" (ERROR_BUFFER_OVERFLOW)\n");
            break;
        case ERROR_NOT_FOUND:
            printf(" (ERROR_NOT_FOUND)\n");
            break;
        default:
            printf("\n");
            break;
        }
    }
 
}
    return 0;
 
}
merci