Connaître l'état des serveurs .net Messenger Service sans ou
Publié : dim. 23/janv./2005 22:40
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.
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.
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.