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

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

Аватара для DImaN!

Ветеран


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

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


Для того, чтобы было нагляднее: мне нужно создать скрипт, который будет автоматом при помощи командной строки отправлять сообщения. ВОт код моего скрипта:
Код: Выделить весь код
#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" открывается не стандартный телнет, а новая копия данной программы. В чем может быть причина? возможно я просто неправильно изложил пролему...

-------
It's only after we've lost everything that we're free to do anything... Блог


Последний раз редактировалось DImaN!, 05-02-2009 в 16:08.


Отправлено: 15:55, 05-02-2009 | #7