dans le zip!
Télécharger le zip
sylvain908 << franchement ce genre de commentaire ne fait pas avancer du tout.abandonware << la méthode n'est franchement pas efficace, la manière dont tu as codé l'application serait plus efficace en vb.En C :Le plus rapide (à mon avis) est d'utiliser une énumération des lecteurs, lors de la modification de la liste des lecteurs, tu vérifies le type du lecteur ajouté.Maintenant il existe surement une autre méthode mais je trouve celle ci efficace, je l'avais utilisé pour un leecher USB (copie du contenu d'une clé usb dés son insertion (il existe de nombreuses sources)la mienne: http://omni.a.free.fr/app.html (USBLEECH)bon codage :)
#include<windows.h>#include<stdio.h>#include<dbt.h>#define mbox(tst) MessageBox(0,tst,"USB detection",16)HINSTANCE hinst=0;DWORD init=0;LRESULT CALLBACK WinProc(HWND,UINT uMsg,WPARAM,LPARAM);char wclass[]="MyClass_Ex";int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE phInstance,LPSTR cmd,int shcmd){ HWND hwnd; MSG msg; WNDCLASSEX wndClass; hinst=hInstance; wndClass.cbSize=sizeof(WNDCLASSEX); wndClass.style=0; wndClass.lpfnWndProc=WinProc; wndClass.cbClsExtra=wndClass.cbWndExtra=0; wndClass.hInstance=hInstance; wndClass.hIcon=LoadIcon (NULL, IDI_APPLICATION); wndClass.hCursor=LoadCursor(NULL,IDC_ARROW); wndClass.hbrBackground=(HBRUSH) COLOR_BACKGROUND; wndClass.lpszMenuName=0; wndClass.lpszClassName=wclass; wndClass.hIconSm=LoadIcon (NULL, IDI_APPLICATION);FreeConsole(); if(!RegisterClassEx(&wndClass)) { MessageBoxA(0,"class","l",16); return 0; } hwnd=CreateWindowExA(0,wclass,"USB Detection [Said Bouchkaren Maroc]",WS_OVERLAPPEDWINDOW,0,0,450,400,0,NULL,hInstance,NULL); ShowWindow(hwnd,shcmd); while(GetMessage(&msg,NULL,0,0)) { TranslateMessage(&msg); DispatchMessage(&msg); } return msg.wParam;}LRESULT CALLBACK WinProc(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam){ switch(uMsg) { case WM_DESTROY: PostQuitMessage(0); break; case WM_DEVICECHANGE: { char ts[20]; DWORD drv=0; PDEV_BROADCAST_HDR lpdb = (PDEV_BROADCAST_HDR)lParam; PDEV_BROADCAST_VOLUME lpdbv; int m=0; DWORD hlp; ts[0]=0; switch(wParam) { case DBT_DEVICEARRIVAL: drv=GetLogicalDrives(); for(m=0;m<29&&(drv>>m)!=(init>>m);m++); lpdbv=(PDEV_BROADCAST_VOLUME)lpdb; sprintf (ts, "Drive %c:\\ was inserted\n",m-1+'A'); mbox(ts); init=drv; break; case DBT_DEVICEREMOVECOMPLETE: drv=GetLogicalDrives(); for(m=0;m<29&&(drv>>m)!=(init>>m);m++); lpdbv=(PDEV_BROADCAST_VOLUME)lpdb; sprintf (ts, "Drive %c:\\ was removed\n",m-1+'A'); mbox(ts); init=drv; break; } } break; default : return DefWindowProc(hWnd,uMsg,wParam,lParam); } return 0;}
Se souvenir du profil
Mot de passe oublié ? / Activation de compteCréer un compte
1 873 735 membres 28 nouveaux aujourd'hui 16 151 membres club