Publié : sam. 15/déc./2007 10:21
Je crois que tu utilises une ancienne version de PB en 3.9xx et il y a eu beaucoup de changement depuis. Tu peux quand même essayer ça, avec la gestion d'un timer. Utilises les api.
Ton code :
Ton code :
Code : Tout sélectionner
Global port, nDejavu
port = Val(port$) ; Resultat recevra la valeur du port
nDejavu = 0
Procedure GetMessages()
nMessages = POP3_GetMsgCount()
If nMessages<> 0 And nDejavu = 0:MessageRequester("MasterViewer","j'ai des messages!!!")
For i = 1 To nMessages
result = POP3_ParseMsgHeader( i )
fieldText$ = POP3_HeaderSubject()
If fieldText$=subject$
MessageRequester("MasterViewer","j'ai identifié mon SUBJECT et lancera le sous-programme")
EndIf
Next i
nDejavu = 1
EndIf
EndProcedure
;CHARGER PARAM.TXT ;=============================================================================
If ReadFile(0, "Param.txt")
While Eof(0) = 0
protect1$= ReadString() ;met en mémoire moi pour contrôle si pas déplombé
protect2$= ReadString():protect2$= ReadString():protect2$= ReadString()
username$= ReadString():protect2$= ReadString():protect2$= ReadString()
password$ = ReadString():protect2$= ReadString():protect2$= ReadString()
server$ = ReadString():protect2$= ReadString():protect2$= ReadString()
port$ = ReadString():protect2$= ReadString():protect2$= ReadString()
subject$=ReadString()
Wend
CloseFile(0)
;
If protect1$ <> "MasterViewer - David TURQUIN @2008" ;vérif MOI tjs écrit 'dans param.txt'
MessageRequester("MasterViewer", "Le fichier 'param.txt' a été modifié sans autorisation" , #MB_ICONERROR)
MessageRequester("MasterViewer", "Première ligne = 'MasterViewer - David TURQUIN @2008'" , #MB_ICONERROR)
End
EndIf
Else
MessageRequester("MasterViewer", "Le fichier 'param.txt' n'a pas pu être chargé...", #MB_ICONERROR)
End
EndIf
;INITIALISATION DU PROGRAMME ;=============================================================================
result = POP3_Init() ;initilaiser
If result = 0 :MessageRequester("Erreur!", "Le programme n'a pas réussi à s'initialiser..." , #MB_ICONERROR):EndIf
result = POP3_Connect(server$, port) ;connecter serveur
If result = 0 :MessageRequester("Erreur!", "Problème de connexion au serveur..." , #MB_ICONERROR):EndIf
result = POP3_Logon(username$, password$) ;identifer
If result = 0 :MessageRequester("Erreur!", "Problème d'identification..." , #MB_ICONERROR):EndIf
;FENETRE MENU DU PROGRAMME ;===========================================================================
FicIcon$="Gaby4.ico" ;ouvre ico dans le répertoire en cours
If OpenWindow(0, 0, 0, 0, 0,#PB_Window_Invisible,"MasterViewer")
CreatePopupMenu(1)
MenuItem(1,"Redonner code")
MenuItem(3,"A propos")
MenuItem(4,"Quitter")
OpenSubMenu("Timer"); Crée un sous-menu dans le popup
MenuItem(5,"Stop Timer")
MenuItem(6,"Start Timer")
CloseSubMenu()
AddSysTrayIcon(0, WindowID(0), LoadImage(0, FicIcon$))
EndIf
SetTimer_(WindowID(0),1,3000,@GetMessages()) ;relance la procédure toutes les 3000 millisecondes ou 3 secondes
Repeat
Select WaitWindowEvent()
Case #PB_Event_SysTray
DisplayPopupMenu(1, WindowID(0))
Case #PB_Event_Menu
Select EventMenuID()
Case 1 ; Redonner code
MessageRequester("MasterViewer","Code d'identifaction : "+"xyz")
Case 3 ; A propos
MessageRequester("A propos de...","MasterViewer"+Chr(13)+"Gestionnaire d'identification a distance")
Case 4 ; Quitter
quit=1
Case 5 ; Stop Timer
KillTimer_(0,1)
SetMenuItemState(1, 5, 1) ; case cochée
SetMenuItemState(1, 6, 0) ; case décochée
Case 6 ; Start Timer
SetTimer_(WindowID(0),1,3000,@GetMessages())
SetMenuItemState(1, 6, 1)
SetMenuItemState(1, 5, 0)
EndSelect
EndSelect
Until quit=1
End