Автор
Sergey2210
Осваивающий
- Сообщения
- 263
- Репутация
- 31
Я нашёл пример клиента который подклюсчается к ICQ и решил сделать видео поток между двумя клиентами,вообщем написал скрипт,при выключеном режиме скрипт создаёт картинку (например рабочего стола) открывает картинку,переводит в бинарный код и передаёт другому клиенту,а при статусе подключен скрипт выдаёт ошибку и выходит,что я не правильно сделал?
Код:
#include <GUIConstants.au3>
#include <ScreenCapture.au3>
#include <EditConstants.au3>
#include <WindowsConstants.au3>
#include <ICQ.au3>
$User = @ScriptDir & "\User.ini"
If Not FileExists($User) Then
IniWrite($User,"socket","server","login.icq.com:5190")
IniWrite($User,"socket","uin","")
IniWrite($User,"socket","pass","")
IniWrite($User,"socket","master","")
IniWrite($User,"proxy","enable","0")
IniWrite($User,"proxy","address","")
IniWrite($User,"proxy","type","")
EndIf
$server = IniRead ($User, "socket", "server", '')
$uin = IniRead ($User, "socket", "uin", '')
$pass = IniRead ($User, "socket", "pass", '')
$master = IniRead ($User, "socket", "master", '')
$Status = ICQConnect($server, $uin, $pass)
$GUI = GUICreate("", 605, 340, -1, -1, BitOR($WS_SYSMENU,$WS_BORDER), $WS_EX_TOOLWINDOW)
GUISetBkColor(0xFFFFFF)
GUICtrlCreateGroup("Команда:", 10, 5, 270, 50)
$Commands = GUICtrlCreateInput("", 20, 25, 250, 20)
$Pic = GUICtrlCreateIcon("",-1,13,287,16,16)
$online = GUICtrlCreateLabel("", 30, 288, 80, 20)
If $Status = 1 Then
GUICtrlSetImage($Pic,@ScriptDir & "\shellICQ.dll", 1)
GUICtrlSetData ($online," Подключен")
EndIf
If $Status = 0 Then
GUICtrlSetImage($Pic,@ScriptDir & "\shellICQ.dll", 2)
GUICtrlSetData ($online," Отключен")
EndIf
GUISetState()
AdlibRegister("_sendICQMSG",1000)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
ICQClose()
Exit
EndSwitch
$ICQ_msg = ICQReadMsg()
if $ICQ_msg<>0 Then
if $ICQ_msg[0] = $master Then
GUICtrlSetData ($Commands,$ICQ_msg[1], 1)
EndIf
EndIf
WEnd
Func _sendICQMSG()
_ScreenCapture_Capture(@ScriptDir & "\screen.bmp")
$Search = FileFindFirstFile(@ScriptDir & "\screen.bmp")
While 1
$line = FileFindNextFile($Search)
If @error Then ExitLoop
$Text = FileRead($line)
WEnd
$Binary = StringToBinary($Text)
$ICQmessage = $Binary
ICQSendMsg($master,$ICQmessage)
GUICtrlSetData ($Commands,$ICQmessage, 1); записываем в историю
GUICtrlSetState ($Commands, $GUI_FOCUS)
EndFunc