Connaître l'état des serveurs .net Messenger Service sans ou

Partagez votre expérience de PureBasic avec les autres utilisateurs.
gansta93
Messages : 1448
Inscription : jeu. 26/févr./2004 11:17
Localisation : Le Village
Contact :

Connaître l'état des serveurs .net Messenger Service sans ou

Message par gansta93 »

Salut à tous,

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
Je voulais au départ faire moi-même les requètes http, mais tout est différent dans la présentation si par exemple le serveur est occupé.
En ce qui concerne ATL.dll, je ne sais pas si ma démarche est bonne en cas d'abscence de celle-ci.