Accueil > > > [WIN32][C][DEV-C++] GRAPH TRANSPARENT DEBIT RESEAU
[WIN32][C][DEV-C++] GRAPH TRANSPARENT DEBIT RESEAU
Information sur la source
Description
Voila une petite source qui affiche un graphique transparent du débit réseau (moyenne sur 1/2 minute) Objectifs: ---------- * modification du curseur * déplacement d'une fenêtre par la souris * dessin de graphiques * récupération des octets téléchargés et envoyés * transparence de fenêtre click gauche = déplacement click droit = quitter Attention modifier "ncard" pour spécifier votre carte réseau si ce n'est pas la 1ère comme d'habitude modifier renommer le fichier ".ex" en ".exe", attention j'ai sélectionné un débit de 800ko/128ko et la première carte réseau pour une utilisation autre il faudra modifier ces variables. enjoy ;)
Source
- //------------------------------------------------------------------------------
- // Projet Graph : mesure du débit entrant/sortant (moyennes)
- // Auteur : Hanteville Nicolas
- // Fichier : proc.c
- // Version : 0.1
- // Date de modification : 20/04/2008
- // Description : code pour exemple
- // Environnement : compatibilité DEVCPP / VISUAL C++ / BORLAND C++ 5.x
- //------------------------------------------------------------------------------
- /*
- Objectifs:
- ----------
- * modification du curseur
- * déplacement d'une fenêtre par la souris
- * dessin de graphiques
- * récupération des octets téléchargés et envoyés
- * transparence de fenêtre
-
-
- click gauche = déplacement
- click droit = quitter
-
- Attention modifier "ncard" pour spécifier votre carte réseau si ce n'est pas la 1ère
-
-
- */
- //------------------------------------------------------------------------------
- #define _WIN32_WINNT 0x0500
- #include <windows.h>
- #include <iphlpapi.h> //-liphlpapi
-
- #pragma comment(lib, "iphlpapi.lib")
- //------------------------------------------------------------------------------
-
- //débit réseau en ko entrant/sortant
- #define debit_dw 800 // ko
- #define debit_up 128 // ko
-
- //tailles de graph + fenêtre
- #define x_refresh 0
- #define y_refresh 0
- #define xx_refresh 264
- #define yy_refresh 95
-
- #define x_cadre_i 150
- #define y_cadre_m 46
-
- //bordure entre les cadres + espacement internes
- #define border 5
- #define espace 3
-
- //sélection de la carte réseau
- #define ncard 0
-
- //nombre de valeurs /graphiques
- #define NB_Item 28
-
- #define szClassName "WindowsApp"
-
-
- BOOL start;
- RECT rect;
- float items[NB_Item];
- float itemo[NB_Item];
- HWND hwnd;
-
- //------------------------------------------------------------------------------
- //timer de mise à jour du schéma + down + upload
- DWORD WINAPI timer(LPVOID lParam)
- {
- unsigned short i;
- PMIB_IFTABLE buffer;
- ULONG size=0;
-
- //instance pour récupération de la structure
- GetIfTable (NULL, &size, TRUE);
- buffer = (PMIB_IFTABLE)GlobalAlloc(GMEM_FIXED, size);
-
- //lecture actuel + init des valeurs
- GetIfTable(buffer, &size, FALSE);
- int in = buffer->table[ncard].dwInOctets;
- int out = buffer->table[ncard].dwOutOctets;
-
- //tant que l'on ne quitte pas on continue
- while(start)
- {
- _sleep(1000);//toutes les secondes maj
-
- //rotation des valeurs
- for (i=0;i<NB_Item-1;i++)
- {
- items[i]=items[i+1];
- itemo[i]=itemo[i+1];
- }
-
- //maj des valeurs
- GetIfTable(buffer, &size, FALSE);
-
- //copie du débit en ko
- items[NB_Item-1]=(buffer->table[ncard].dwInOctets-in)/1024;
- itemo[NB_Item-1]=(buffer->table[ncard].dwOutOctets-out)/1024;
-
- //totaux
- in = buffer->table[ncard].dwInOctets;
- out = buffer->table[ncard].dwOutOctets;
-
- //emplacement de refresh de la forme
- /*rect.left = x_refresh;
- rect.top = y_refresh;
- rect.right = xx_refresh;
- rect.bottom = yy_refresh;*/
-
- //toute le forme ici
- InvalidateRect(hwnd,0/*&rect*/,FALSE);
- UpdateWindow(hwnd);
- }
- GlobalFree(buffer);
- }
-
- //------------------------------------------------------------------------------
- /* This function is called by the Windows function DispatchMessage() */
-
- POINT pt;
- int mouseX,mouseY;
- BOOL bCapture;
-
- LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
- {
- switch (message)
- {
- //gestion du déplacement de la fenêtre
- case WM_LBUTTONDOWN:
- mouseX = LOWORD(lParam);
- mouseY = HIWORD(lParam);
- SetCapture(hwnd);
- bCapture = 1;
- return 0;
- break;
- case WM_LBUTTONUP:
- if(GetCapture() == hwnd)
- {
- ReleaseCapture();
- bCapture = 0;
- GetCursorPos(&pt);
- SetWindowPos(hwnd, 0, pt.x - mouseX, pt.y - mouseY, 0, 0, SWP_NOZORDER | SWP_NOSIZE);
- }
- break;
- case WM_MOUSEMOVE:
- if(bCapture)
- {
- pt.x = LOWORD(lParam);
- pt.y = HIWORD(lParam);
- ClientToScreen(hwnd, &pt);
- SetCursor( LoadCursor( NULL , IDC_SIZEALL ));//icone de déplacement
- SetWindowPos(hwnd, 0, pt.x - mouseX, pt.y - mouseY, 0, 0, SWP_NOZORDER | SWP_NOSIZE);
- }
- break;
- //----
-
- //on quit par un click droit
- case WM_RBUTTONDOWN:
- start=0;
- PostQuitMessage (0);
- break;
-
- //dessin du graphique + fenêtre
- case WM_PAINT:
- {
- PAINTSTRUCT ps;
- HDC hdc=BeginPaint(hwnd,&ps);
-
- HBRUSH Hb1 = CreateSolidBrush(RGB(0, 150, 0)); //vert
- HBRUSH Hb2 = CreateSolidBrush(RGB(150, 0, 0)); //rouge
- int a;
- unsigned int taillephrag,nbnb;
- unsigned short val,val2;
- float moy=0,moyout=0;
-
- //rect de contour global
- Rectangle(hdc,0,0,xx_refresh,yy_refresh);
- //les 2 autres rectangles
- Rectangle(hdc,border,border,x_cadre_i,y_cadre_m);
- Rectangle(hdc,border,y_cadre_m+espace,x_cadre_i,yy_refresh-border);
-
- for (a=0;a<NB_Item;a++)
- {
- moy+=items[a];
- moyout+=itemo[a];
-
- //position de la barre d'état
- val2 = 8+a*(5);
-
- //down
- val =y_cadre_m-(y_cadre_m-8)*items[a]/debit_dw;
- if (val<8)val=8;
- SelectObject(hdc,Hb1);
- Rectangle(hdc,val2,val,val2+4,y_cadre_m);
-
- //up
- val =yy_refresh-border-(y_cadre_m-8)*itemo[a]/debit_up;
- if (val<52)val=52;
- SelectObject(hdc,Hb2);
- Rectangle(hdc,val2,val,val2+4,yy_refresh-5);
- }
-
- moy = moy/NB_Item;
- moyout= moyout/NB_Item;
-
- //on ajoute les écritures max et min
- char tmpMoy[256];
-
- //min
- rect.top = yy_refresh-20;
- rect.bottom = yy_refresh-border;
- rect.left = x_cadre_i+espace;
- rect.right = xx_refresh-border;
- FillRect(hdc, &rect, GetSysColorBrush(COLOR_WINDOW));
- SetTextColor(hdc, GetSysColor(COLOR_MENUTEXT));
- //1000 car au dessus de 999.99
- if (moyout<1000)sprintf(tmpMoy,"up:%5.2fKo/s",moyout);
- else if (moyout<1024000)sprintf(tmpMoy,"up:%5.2fMo/s",moyout/1024.0);
- else sprintf(tmpMoy,"up:%5.2fGo/s",moyout/1048576.0);
- DrawText(hdc,tmpMoy,strlen(tmpMoy), &rect, DT_VCENTER);
-
- //max
- rect.top = border;
- rect.bottom = (y_cadre_m+espace)*2;
- if (moyout<1000)sprintf(tmpMoy,"dw:%5.2fKo/s",moy);
- else if (moyout<1024000)sprintf(tmpMoy,"dw:%5.2fMo/s",moy/1024.0);
- else sprintf(tmpMoy,"dw:%5.2fGo/s",moy/1048576.0);
- DrawText(hdc,tmpMoy,strlen(tmpMoy), &rect, DT_VCENTER);
-
- //libération
- DeleteObject(Hb1);
- DeleteObject(Hb2);
- EndPaint(hwnd,&ps);
- }
- break;
- case WM_DESTROY:
- start=0;
- PostQuitMessage (0);
- break;
- default:
- return DefWindowProc (hwnd, message, wParam, lParam);
- }
-
- return 0;
- }
-
- //------------------------------------------------------------------------------
- int WINAPI WinMain (HINSTANCE hThisInstance,HINSTANCE hPrevInstance,LPSTR lpszArgument,int nFunsterStil)
- {
- MSG messages;
- WNDCLASSEX wincl;
-
- wincl.hInstance = hThisInstance;
- wincl.lpszClassName = szClassName;
- wincl.lpfnWndProc = WindowProcedure;
- wincl.style = CS_DBLCLKS;
- wincl.cbSize = sizeof (WNDCLASSEX);
- wincl.hIcon = LoadIcon (NULL, IDI_APPLICATION);
- wincl.hIconSm = LoadIcon (NULL, IDI_APPLICATION);
- wincl.hCursor = LoadCursor (NULL, IDC_ARROW);
- wincl.lpszMenuName = NULL;
- wincl.cbClsExtra = 0;
- wincl.cbWndExtra = 0;
- wincl.hbrBackground = (HBRUSH) COLOR_BACKGROUND;
-
- if (!RegisterClassEx (&wincl))
- return 0;
-
- //fenêtre sans icone dans la barre des tâche
- hwnd = CreateWindowEx (WS_EX_LAYERED|WS_EX_NOACTIVATE|WS_EX_TOPMOST,szClassName,"Windows App",WS_POPUP,900,200,xx_refresh,yy_refresh,HWND_DESKTOP,NULL,hThisInstance,NULL);
-
- //on affiche la fenêtre
- ShowWindow (hwnd, 1);
-
- //définition de l'état de transparence (0-255), 255= opaque
- SetLayeredWindowAttributes(hwnd,0,150,0x02);
-
- //timer maj
- start=1;
- CreateThread(NULL,0,timer,0,0,0);
-
- //définision de la région a afficher ici non utile car = fenêtre
- //HRGN region = CreateRectRgn(x_refresh,y_refresh,xx_refresh,yy_refresh);
- //SetWindowRgn(hwnd,region,1);
-
- bCapture=0;
-
- while (GetMessage (&messages, NULL, 0, 0))
- {
- TranslateMessage(&messages);
- DispatchMessage(&messages);
- }
-
- return messages.wParam;
- }
//------------------------------------------------------------------------------
// Projet Graph : mesure du débit entrant/sortant (moyennes)
// Auteur : Hanteville Nicolas
// Fichier : proc.c
// Version : 0.1
// Date de modification : 20/04/2008
// Description : code pour exemple
// Environnement : compatibilité DEVCPP / VISUAL C++ / BORLAND C++ 5.x
//------------------------------------------------------------------------------
/*
Objectifs:
----------
* modification du curseur
* déplacement d'une fenêtre par la souris
* dessin de graphiques
* récupération des octets téléchargés et envoyés
* transparence de fenêtre
click gauche = déplacement
click droit = quitter
Attention modifier "ncard" pour spécifier votre carte réseau si ce n'est pas la 1ère
*/
//------------------------------------------------------------------------------
#define _WIN32_WINNT 0x0500
#include <windows.h>
#include <iphlpapi.h> //-liphlpapi
#pragma comment(lib, "iphlpapi.lib")
//------------------------------------------------------------------------------
//débit réseau en ko entrant/sortant
#define debit_dw 800 // ko
#define debit_up 128 // ko
//tailles de graph + fenêtre
#define x_refresh 0
#define y_refresh 0
#define xx_refresh 264
#define yy_refresh 95
#define x_cadre_i 150
#define y_cadre_m 46
//bordure entre les cadres + espacement internes
#define border 5
#define espace 3
//sélection de la carte réseau
#define ncard 0
//nombre de valeurs /graphiques
#define NB_Item 28
#define szClassName "WindowsApp"
BOOL start;
RECT rect;
float items[NB_Item];
float itemo[NB_Item];
HWND hwnd;
//------------------------------------------------------------------------------
//timer de mise à jour du schéma + down + upload
DWORD WINAPI timer(LPVOID lParam)
{
unsigned short i;
PMIB_IFTABLE buffer;
ULONG size=0;
//instance pour récupération de la structure
GetIfTable (NULL, &size, TRUE);
buffer = (PMIB_IFTABLE)GlobalAlloc(GMEM_FIXED, size);
//lecture actuel + init des valeurs
GetIfTable(buffer, &size, FALSE);
int in = buffer->table[ncard].dwInOctets;
int out = buffer->table[ncard].dwOutOctets;
//tant que l'on ne quitte pas on continue
while(start)
{
_sleep(1000);//toutes les secondes maj
//rotation des valeurs
for (i=0;i<NB_Item-1;i++)
{
items[i]=items[i+1];
itemo[i]=itemo[i+1];
}
//maj des valeurs
GetIfTable(buffer, &size, FALSE);
//copie du débit en ko
items[NB_Item-1]=(buffer->table[ncard].dwInOctets-in)/1024;
itemo[NB_Item-1]=(buffer->table[ncard].dwOutOctets-out)/1024;
//totaux
in = buffer->table[ncard].dwInOctets;
out = buffer->table[ncard].dwOutOctets;
//emplacement de refresh de la forme
/*rect.left = x_refresh;
rect.top = y_refresh;
rect.right = xx_refresh;
rect.bottom = yy_refresh;*/
//toute le forme ici
InvalidateRect(hwnd,0/*&rect*/,FALSE);
UpdateWindow(hwnd);
}
GlobalFree(buffer);
}
//------------------------------------------------------------------------------
/* This function is called by the Windows function DispatchMessage() */
POINT pt;
int mouseX,mouseY;
BOOL bCapture;
LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
//gestion du déplacement de la fenêtre
case WM_LBUTTONDOWN:
mouseX = LOWORD(lParam);
mouseY = HIWORD(lParam);
SetCapture(hwnd);
bCapture = 1;
return 0;
break;
case WM_LBUTTONUP:
if(GetCapture() == hwnd)
{
ReleaseCapture();
bCapture = 0;
GetCursorPos(&pt);
SetWindowPos(hwnd, 0, pt.x - mouseX, pt.y - mouseY, 0, 0, SWP_NOZORDER | SWP_NOSIZE);
}
break;
case WM_MOUSEMOVE:
if(bCapture)
{
pt.x = LOWORD(lParam);
pt.y = HIWORD(lParam);
ClientToScreen(hwnd, &pt);
SetCursor( LoadCursor( NULL , IDC_SIZEALL ));//icone de déplacement
SetWindowPos(hwnd, 0, pt.x - mouseX, pt.y - mouseY, 0, 0, SWP_NOZORDER | SWP_NOSIZE);
}
break;
//----
//on quit par un click droit
case WM_RBUTTONDOWN:
start=0;
PostQuitMessage (0);
break;
//dessin du graphique + fenêtre
case WM_PAINT:
{
PAINTSTRUCT ps;
HDC hdc=BeginPaint(hwnd,&ps);
HBRUSH Hb1 = CreateSolidBrush(RGB(0, 150, 0)); //vert
HBRUSH Hb2 = CreateSolidBrush(RGB(150, 0, 0)); //rouge
int a;
unsigned int taillephrag,nbnb;
unsigned short val,val2;
float moy=0,moyout=0;
//rect de contour global
Rectangle(hdc,0,0,xx_refresh,yy_refresh);
//les 2 autres rectangles
Rectangle(hdc,border,border,x_cadre_i,y_cadre_m);
Rectangle(hdc,border,y_cadre_m+espace,x_cadre_i,yy_refresh-border);
for (a=0;a<NB_Item;a++)
{
moy+=items[a];
moyout+=itemo[a];
//position de la barre d'état
val2 = 8+a*(5);
//down
val =y_cadre_m-(y_cadre_m-8)*items[a]/debit_dw;
if (val<8)val=8;
SelectObject(hdc,Hb1);
Rectangle(hdc,val2,val,val2+4,y_cadre_m);
//up
val =yy_refresh-border-(y_cadre_m-8)*itemo[a]/debit_up;
if (val<52)val=52;
SelectObject(hdc,Hb2);
Rectangle(hdc,val2,val,val2+4,yy_refresh-5);
}
moy = moy/NB_Item;
moyout= moyout/NB_Item;
//on ajoute les écritures max et min
char tmpMoy[256];
//min
rect.top = yy_refresh-20;
rect.bottom = yy_refresh-border;
rect.left = x_cadre_i+espace;
rect.right = xx_refresh-border;
FillRect(hdc, &rect, GetSysColorBrush(COLOR_WINDOW));
SetTextColor(hdc, GetSysColor(COLOR_MENUTEXT));
//1000 car au dessus de 999.99
if (moyout<1000)sprintf(tmpMoy,"up:%5.2fKo/s",moyout);
else if (moyout<1024000)sprintf(tmpMoy,"up:%5.2fMo/s",moyout/1024.0);
else sprintf(tmpMoy,"up:%5.2fGo/s",moyout/1048576.0);
DrawText(hdc,tmpMoy,strlen(tmpMoy), &rect, DT_VCENTER);
//max
rect.top = border;
rect.bottom = (y_cadre_m+espace)*2;
if (moyout<1000)sprintf(tmpMoy,"dw:%5.2fKo/s",moy);
else if (moyout<1024000)sprintf(tmpMoy,"dw:%5.2fMo/s",moy/1024.0);
else sprintf(tmpMoy,"dw:%5.2fGo/s",moy/1048576.0);
DrawText(hdc,tmpMoy,strlen(tmpMoy), &rect, DT_VCENTER);
//libération
DeleteObject(Hb1);
DeleteObject(Hb2);
EndPaint(hwnd,&ps);
}
break;
case WM_DESTROY:
start=0;
PostQuitMessage (0);
break;
default:
return DefWindowProc (hwnd, message, wParam, lParam);
}
return 0;
}
//------------------------------------------------------------------------------
int WINAPI WinMain (HINSTANCE hThisInstance,HINSTANCE hPrevInstance,LPSTR lpszArgument,int nFunsterStil)
{
MSG messages;
WNDCLASSEX wincl;
wincl.hInstance = hThisInstance;
wincl.lpszClassName = szClassName;
wincl.lpfnWndProc = WindowProcedure;
wincl.style = CS_DBLCLKS;
wincl.cbSize = sizeof (WNDCLASSEX);
wincl.hIcon = LoadIcon (NULL, IDI_APPLICATION);
wincl.hIconSm = LoadIcon (NULL, IDI_APPLICATION);
wincl.hCursor = LoadCursor (NULL, IDC_ARROW);
wincl.lpszMenuName = NULL;
wincl.cbClsExtra = 0;
wincl.cbWndExtra = 0;
wincl.hbrBackground = (HBRUSH) COLOR_BACKGROUND;
if (!RegisterClassEx (&wincl))
return 0;
//fenêtre sans icone dans la barre des tâche
hwnd = CreateWindowEx (WS_EX_LAYERED|WS_EX_NOACTIVATE|WS_EX_TOPMOST,szClassName,"Windows App",WS_POPUP,900,200,xx_refresh,yy_refresh,HWND_DESKTOP,NULL,hThisInstance,NULL);
//on affiche la fenêtre
ShowWindow (hwnd, 1);
//définition de l'état de transparence (0-255), 255= opaque
SetLayeredWindowAttributes(hwnd,0,150,0x02);
//timer maj
start=1;
CreateThread(NULL,0,timer,0,0,0);
//définision de la région a afficher ici non utile car = fenêtre
//HRGN region = CreateRectRgn(x_refresh,y_refresh,xx_refresh,yy_refresh);
//SetWindowRgn(hwnd,region,1);
bCapture=0;
while (GetMessage (&messages, NULL, 0, 0))
{
TranslateMessage(&messages);
DispatchMessage(&messages);
}
return messages.wParam;
}
Historique
- 20 avril 2008 15:49:54 :
- - new name
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
obtenir la souris dans un prog console en C et C++ [ par Stepharcher ]
Bonjour !J'aurais besoin de savoir comment récupérer la souris dans un programme console en C et en C++. J'aimerais aussi savoir si on peux diriger le
Changer le curseur de souris... [BCB] :)) [ par CodeNeo ]
Hello tout le mondeJe sais que c'est idiot comme question mais bon...J'ai commencer un casse brique en DirectX et j'ai créer un curseur de souris...Co
Changer le curseur souris par une image [ par vodkapomme43 ]
Bonjour,Je développe un petit doom en openGl (j'utilise visual c++) et j'aimerais juste savoir comment changer le curseur de la souris par u
probleme de souris en plein ecran [ par Adeon ]
Adeon j'ai un probleme, des que je passe mes jeux en plein ecran j'ai le curseur de la souris qui est creer et ca me gache mes b
curseur de souris [ par equimose ]
salut vous tousje sui toujours en sdi avec VC++et je voudrai changer mon curseur de souris ( que j'ai creer moi meme) lorsque je click sur mon menuCom
click souris [ par c2millet ]
Bonjours a tous,Je voudrais positionner mon curseur au milieu de ma fenetre et générer un click .je c qu'il faut utiliser la fonction SetCursorPos pou
Curseur de la souris avec opengl/glut [ par mondrone ]
comment faire pour rendre la souris invisible avec opengl et ou glut ? J'ai deja vu qu'on peut changer le curseur, mais pas qu'on peut soit mettre une
Curseur de la souris... [ par dbiare ]
Bonjour, Je travail sous Visual C++6. Dans mon application, j’ai une boite de dialogue et parallèlement j’ai un ‘Thread’ qui tourne en tache de fond.
Tablette graphique: WACOM desactive la saisie du curseur [ par bordeaux ]
Bonjour,je ne pense pas que ce message obtiendra des reponses, mais je le post tout de meme.Il concerne un programme que j'ai developpe et qui permet
curseur de souris [ par equimose ]
--//Equimose//--Salut à tous ! J'ai besoin de savoir programmer un curseur de souris qui change lorsque je clique sur chaque bouton de ma boite dial
|
Derniers Blogs
[WP7] DYNAMICALLY CHANGE STARTUP PAGE[WP7] DYNAMICALLY CHANGE STARTUP PAGE par KooKiz
Let's say that you want to allow the user to customize the startup page of your application. You can easily change the startup page by editing the 'NavigationPage' attribute in the manifest file. But the manifest cannot be modified once the applicatio...
Cliquez pour lire la suite de l'article par KooKiz SESSION SILVERLIGHT 5 3D : SLIDES ET DEMOSSESSION SILVERLIGHT 5 3D : SLIDES ET DEMOS par Groc
Durant les techdays, j'ai eu le plaisir d'animer une session sur Silverlight 5 et la 3D avec Simon Ferquel. Comme promis, voici nos slides et mes démos (celles avec le viper BSG) ici et là. Pour mémoire, les démos utilisent toutes le viper BSG...
Cliquez pour lire la suite de l'article par Groc [TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES par gpommier
Suite à la session que j'ai présenté sur WebMatrix 2, vous pouvez trouver les slides ici, ainsi que les démos en packages nuget : démos1 et démos2 J'en profite pour remercier chaleureusement tous ceux qui sont venus très nombreux à cette sess...
Cliquez pour lire la suite de l'article par gpommier [SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning
|