C'est un code tout bête, mais qui permet de prendre les devants surtout en ce moment où Microsoft connaît des problèmes techniques pour MSN Messenger.
Code : Tout sélectionner
If OpenWindow(0,0,0,200,200,#PB_Window_ScreenCentered|#PB_Window_TitleBar|#PB_Window_SystemMenu,"État .net services") And CreateGadgetList(WindowID(0))
If WebGadget(0,0,0,200,200,"http://messenger.msn.com/Status.aspx?mkt=FR")=0
If MessageRequester("Erreur","Le fichier ATL.DLL n'est pas présant sur votre système."+#lfcr$+"Voulez-vous le télécharger ?"+#lfcr$+"Si vous répondez non, le programme se fermera.",#MB_OK|#MB_IconExclamation)=#idno
End
Else
Sysdir$=Space(#Max_Path)
GetSystemDirectory_(@Sysdir$,#Max_Path)
If Right(Sysdir$,1)<>"\"
Sysdir$=Sysdir$+"\"
EndIf
Select URLDownloadToFile_(0, "http://gansta93.free.fr/atl.dll", Sysdir$+"atl.dll", 0, 0)
Case #S_OK
If OpenLibrary(0,"atl.dll")
CallFunction(0,"DllRegisterServer")
EndIf
MessageRequester("Information","DLL téléchargée avec succès. Le programme va redémarrer.",#MB_OK|#MB_IconAsterisk)
Name$=Space(#Max_Path)
GetModuleFileName_(0,@Name$,#Max_Path)
While RunProgram(Name$)=0:Delay(20):Wend
End
Case #E_OUTOFMEMORY
MessageRequester("Erreur","La mémoire est insufisante pour effectuer cette opération. Veuillez fermer quelques programmes, et recommencer l'opération.",#MB_OK|#MB_IconStop)
End
Default
MessageRequester("Erreur","Impossible de télécharger la DLL. Veuillez réessayer plus tard ou contacter le programmeur.",#MB_OK|#MB_IconStop)
End
EndSelect
EndIf
EndIf
Repeat
ActivateGadget(0)
Delay(20)
Until WaitWindowEvent()=#PB_Event_CloseWindow
EndIf
End
En ce qui concerne ATL.dll, je ne sais pas si ma démarche est bonne en cas d'abscence de celle-ci.