Liste des connexions actives.
Fonction utilisées:
- GlobalAlloc(...)
- RasEnumConnections(...)
- RasGetProjectionInfo(...)
Source / Exemple :
//-----------------------------------------
// ListConnexion.c
// Necessite rasapi32.lib ou librasapi32.a
//-----------------------------------------
#include <windows.h>
#include "ras.h"
//-----------------------------------------
int WINAPI WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
DWORD i, nbconn, bufsize;
LPRASCONN lprascon;
RASPPPIP raspppip;
CHAR buffer[4096] = "\0";
lprascon = (LPRASCONN)GlobalAlloc(GPTR, sizeof(RASCONN));
lprascon->dwSize = bufsize = sizeof(RASCONN);
if(RasEnumConnections(lprascon, &bufsize, &nbconn) != 0)
{
MessageBox(NULL,
"Erreur fonction RasEnumConnections().",
"ListConnexion",
MB_OK | MB_ICONERROR);
return 1;
}
else
{
for(i = 0; i < nbconn; i++)
{
raspppip.dwSize = bufsize = sizeof(RASPPPIP);
RasGetProjectionInfo(lprascon->hrasconn,
RASP_PppIp,
&raspppip,
&bufsize);
wsprintf(buffer + lstrlen(buffer),
"Connexion n° %d sur %d\n\n"
"- Nom : %s\n"
"- Type : %s\n"
"- Device : %s\n"
"- IP Locale : %s\n"
"- IP Distante : %s\n\n",
i + 1,
nbconn,
lprascon->szEntryName,
lprascon->szDeviceType,
lprascon->szDeviceName,
raspppip.szIpAddress,
raspppip.szServerIpAddress);
lprascon++;
}
if(nbconn)
MessageBox(NULL,
buffer,
"ListConnexion",
MB_OK | MB_ICONINFORMATION);
else
MessageBox(NULL,
"Pas de connexion active !",
"ListConnexion",
MB_OK | MB_ICONEXCLAMATION);
}
return 0;
}
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.