lancer le programme de messagerie par défaut
Publié : jeu. 01/juil./2004 21:08
Quelqu'un sait comment lancer le programme de messagerie par défaut, mais sans lancer un nouvel email ?
Thx!
Thx!
Forums PureBasic - Français
http://forums.purebasic.com/french/
Code : Tout sélectionner
;Dans la boucle du Repeat
Case #Bouton_messagerie
If RunProgram("c:\Program Files\Outlook Express\msimn.exe")
Else
MessageRequester("No Détection","Aucun logiciel de messagerie détecté")
EndIf
Code : Tout sélectionner
Procedure.s ReadRegKey(OpenKey.l,SubKey.s,ValueName.s)
hKey.l=0
keyvalue.s=Space(255)
datasize.l=255
If RegOpenKeyEx_(OpenKey,SubKey,0,#KEY_READ,@hKey)
keyvalue="0"
Else
If RegQueryValueEx_(hKey,ValueName,0,0,@keyvalue,@datasize)
keyvalue="0"
Else
keyvalue=Left(keyvalue,datasize-1)
EndIf
RegCloseKey_(hKey)
EndIf
ProcedureReturn keyvalue
EndProcedure
programme$=ReadRegKey(#HKEY_LOCAL_MACHINE,"Software\Clients\Mail\"+ReadRegKey(#HKEY_LOCAL_MACHINE,"Software\Clients\Mail","")+"\shell\open\command","")
RunProgram(programme$,"","",0)
MessageRequester("Messagerie par défaut",programme$,0)
Code : Tout sélectionner
RunProgram(GetFilePart(programme$),"","",0)
Code : Tout sélectionner
Procedure.s ReadRegKey(OpenKey.l, SubKey.s, ValueName.s)
hKey.l = 0
keyvalue.s = Space(255)
datasize.l = 255
If RegOpenKeyEx_(OpenKey, SubKey, 0, #KEY_READ, @hKey)
keyvalue = "0"
Else
If RegQueryValueEx_(hKey, ValueName, 0, 0, @keyvalue, @datasize)
keyvalue = "0"
EndIf
RegCloseKey_(hKey)
EndIf
ProcedureReturn keyvalue
EndProcedure
Programme.s = ReadRegKey(#HKEY_LOCAL_MACHINE, "Software\Clients\Mail\" + ReadRegKey(#HKEY_LOCAL_MACHINE, "Software\Clients\Mail", "") + "\shell\open\command", "")
; On nettoie le nom du programme
Programme2.s = RemoveString(Programme, Chr(34))
Pos = Len(Programme2) + 1
Repeat
Pos - 1
Until Mid(Programme2, Pos, 1) = "." Or Pos = 1
Repeat
Pos + 1
Until Mid(Programme2, Pos, 1) = " " Or Pos = Len(Programme2) + 1
Programme2 = Left(Programme2, Pos - 1)
MessageRequester("Messagerie par défaut", "Nom du programme [Registre] = " + Programme + Chr(10) + "Nom du programme [Nettoyé] = " + Programme2, 0)
RunProgram(Programme2)
Code : Tout sélectionner
Procedure.s ReadRegKey(OpenKey.l, SubKey.s, ValueName.s)
hKey.l = 0
keyvalue.s = Space(255)
datasize.l = 255
If RegOpenKeyEx_(OpenKey, SubKey, 0, #KEY_READ, @hKey)
keyvalue = "0"
Else
If RegQueryValueEx_(hKey, ValueName, 0, 0, @keyvalue, @datasize)
keyvalue = "0"
EndIf
RegCloseKey_(hKey)
EndIf
ProcedureReturn keyvalue
EndProcedure
Programme.s = ReadRegKey(#HKEY_LOCAL_MACHINE, "Software\Clients\Mail\" + ReadRegKey(#HKEY_LOCAL_MACHINE, "Software\Clients\Mail", "") + "\shell\open\command", "")
; On nettoie le nom du programme
Programme2.s = RemoveString(Programme, Chr(34))
Pos = Len(Programme2) + 1
Repeat
Pos - 1
Until Mid(Programme2, Pos, 1) = "." Or Pos = 1
Repeat
Pos + 1
Until Mid(Programme2, Pos, 1) = " " Or Pos = Len(Programme2) + 1
Programme2 = Left(Programme2, Pos - 1)
Programme2 = ReplaceString(Programme2, "%ProgramFiles%","c:\Program Files")
MessageRequester("Messagerie par défaut", "Nom du programme [Registre] = " + Programme + Chr(10) + "Nom du programme [Nettoyé] = " + Programme2, 0)
RunProgram(Programme2)