Для того, чтобы было нагляднее: мне нужно создать скрипт, который будет автоматом при помощи командной строки отправлять сообщения. ВОт код моего скрипта:
Код:
#include <GUIConstants.au3>
#include <Date.au3>
#RequireAdmin
GUICreate("TelnetForm", 360, 490)
GUICtrlSetResizing(-1, $GUI_DOCKWIDTH+$GUI_DOCKHEIGHT)
GUICtrlCreateTabItem("")
GUICtrlCreateLabel("Программа для отправки писем при помощи Telnet", 50, 10)
GUICtrlCreateLabel("POP Сервер", 5, 50)
GUICtrlCreateLabel("Отправитель", 5, 80)
GUICtrlCreateLabel("Получатель", 5, 110)
GUICtrlCreateLabel("Тема письма", 5, 140)
$srv = GUICtrlCreateInput ("", 105, 50, 250)
$from = GUICtrlCreateInput ("", 105, 80, 250)
$to = GUICtrlCreateInput ("", 105, 110, 250)
$subj = GUICtrlCreateInput ("", 105, 140, 250)
GUICtrlCreateLabel("Тело письма", 5, 190)
$body = GUICtrlCreateEdit("", 20, 230, 320, 210, $ES_AUTOVSCROLL+$WS_VSCROLL)
$button = GUICtrlCreateButton("Отправка сообщения", 105, 450)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $button
ButtonClick()
EndSwitch
WEnd
Func ButtonClick()
Run("cmd.exe")
ProcessWait("cmd.exe")
SEND("telnet")
SEND("{ENTER}")
Sleep(200)
$sRead = GUICtrlRead($srv)
SEND("o " & $sRead & " 25")
Sleep(200)
Send("{ENTER}")
Sleep(3000)
SEND("HELO W" & "{ENTER}")
$sRead2 = GUICtrlRead($from)
SEND("MAIL FROM: " & "<" & $sRead2 & ">" & "{ENTER}")
Sleep(300)
$sRead3 = GUICtrlRead($to)
SEND("RCPT TO: " & "<" & $sRead3 & ">" & "{ENTER}")
Sleep(300)
Send("DATA" & "{ENTER}")
Sleep(300)
SEND("From: " & "<" & $sRead2 & ">" & "{ENTER}")
SEND("To: " & "<" & $sRead3 & ">" & "{ENTER}")
$sRead5 = GUICtrlRead($subj)
SEND("Subject: " & $sRead5 & "{ENTER}")
$sShortDayName = _DateDayOfWeek( @WDAY, 1 )
$sNewDate = _DateAdd( 'n',0, _NowCalc())
SEND("Date: " & $sShortDayName & ", " & $sNewDate & " " & "{+}0200" & "{ENTER}")
SEND("MIME-Version: 1.0" & "{ENTER}")
SEND("Content-Language: ru")
SEND("{ENTER}" & "{ENTER}")
$sRead4 = GUICtrlRead($body)
SEND($sRead4 & "{ENTER}")
SEND("{ENTER}")
SEND(".")
SEND("{ENTER}")
Sleep(200)
SEND("quit" & "{ENTER}")
Sleep(700)
SEND("{ENTER}" & "{ENTER}")
Sleep(1000)
SEND("quit" & "{ENTER}")
Sleep(500)
SEND("exit" & "{ENTER}")
endFunc
В чем проблема: когда нажимаю на кнопку "отправить" поднимается командная строка. Но при вводе команды "telnet" открывается не стандартный телнет, а новая копия данной программы. В чем может быть причина? возможно я просто неправильно изложил пролему...