Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


вариант для аутглюка:
Код: Выделить весь код
_OESetMAPIWarn(0) ; Отключаем предупреждения Outlook Express
$res = _OESendMail("mail@mail.ru", "Theme", "TEXT", "c:\boot.ini")

Func _OESendMail($sMailTo, $sSubj="", $sText="", $sFile="")
    Local $tSession = DllStructCreate("hwnd hSession")
    Local $pSession = DllStructGetPtr ($tSession)

    Local $tMAPIMessage = DllStructCreate("long Rsvr;ptr Subj;ptr Text;ptr Type;ptr DateRcv;ptr CnvrsID;long Flags;long Orig;long RcpCount;ptr Rcps;long FileCount;long Files")
    Local $tMAPIRecip   = DllStructCreate("long Rsvr;long Class;ptr Name;ptr Addr;long EIDSize;long EntryID")
    Local $tMAPIFile    = DllStructCreate("long Rsvr;long Flags;long Pos;ptr Path;ptr Name;ptr Type")

    Local $tMAPIRecipAddr = DllStructCreate("char["& StringLen($sMailTo)+1 &"]")
    Local $pMAPIRecipAddr = DllStructGetPtr($tMAPIRecipAddr)
    DllStructSetData($tMAPIRecipAddr, 1, $sMailTo)
    DllStructSetData($tMAPIRecip, "Addr",$pMAPIRecipAddr)

    Local $tMAPIMessageSubj = DllStructCreate("char["& StringLen($sSubj)+1 &"]")
    Local $pMAPIMessageSubj = DllStructGetPtr($tMAPIMessageSubj)
    DllStructSetData($tMAPIMessageSubj, 1, $sSubj)
    DllStructSetData($tMAPIMessage, "Subj",$pMAPIMessageSubj)

    Local $tMAPIMessageText = DllStructCreate("char["& StringLen($sText)+1 &"]")
    Local $pMAPIMessageText = DllStructGetPtr($tMAPIMessageText)
    DllStructSetData($tMAPIMessageText, 1, $sText)
    DllStructSetData($tMAPIMessage, "Text",$pMAPIMessageText)

    Local $tMAPIFilePath = DllStructCreate("char["& StringLen($sFile)+1 &"]")
    Local $pMAPIFilePath = DllStructGetPtr($tMAPIFilePath)
    DllStructSetData($tMAPIFilePath, 1, $sFile)
    DllStructSetData($tMAPIFile, "Path",$pMAPIFilePath)

    DllStructSetData($tMAPIMessage, "RcpCount", 1)
    DllStructSetData($tMAPIMessage, "FileCount", 1)
    DllStructSetData($tMAPIMessage, "Rcps", DllStructGetPtr($tMAPIRecip))
    DllStructSetData($tMAPIMessage, "Files", DllStructGetPtr($tMAPIFile))
    DllStructSetData($tMAPIRecip, "Class", 1)

    $Ret = DllCall(@ProgramFilesDir &"\Outlook Express\MSOE.DLL", "int", "MAPISendMail", _
        "hwnd", 0, "hwnd", 0, "ptr", DllStructGetPtr($tMAPIMessage), "int", 0, "int", 0 )
    Return $Ret[0]
EndFunc

Func _OESetMAPIWarn($iFlag = True)
    Local $iRes, $sKey
    Local Const $sRoot = "HKEY_CURRENT_USER\Identities"
    Local Const $sMail = "\Software\Microsoft\Outlook Express\5.0\Mail"
    If $iFlag <>0 Then $iFlag=1

    For $i= 1 to 10
        $sKey = RegEnumKey($sRoot, $i)
        If @error then ExitLoop
        $iRes = RegWrite($sRoot &"\"& $sKey & $sMail, "Warn on Mapi Send","REG_DWORD", $iFlag)
    Next

    Return $iRes
EndFunc

Отправлено: 12:45, 23-10-2008 | #1015