Что нового

Пинг менеджер

cobra2029

Новичок
Сообщения
54
Репутация
0
Здравствуйте.
Заинтересовала мысль написать программу типа пинг менеджера.
Не буду писать что я сделал т.к. это только усугубит поиск решения.

Итак, пользователь добовляет пк в список пингуемых (заносит ip адресс в файл)

Код:
Case $_Save ; Сохранить
		FileOpen($sFilePath,1)
		FileWriteLine($sFilePath, GUICtrlRead ($IPAddress1)&';'& @CRLF)
		FileClose($sFilePath)


скрипт читает файл и выдаёт результат:
Код:
For $i = 1 To $sLines ; от 1 до количества строк в файле выполнять:
		$command = FileReadLine($sFilePath, $i)
		$split = StringSplit($command, ';', 3)
		Ping($split[0],250)
                if @error Then
					GUICtrlCreateLabel($split[0], 15,10 + ($i - 1) * 30,82,15)
					GUICtrlCreateLabel("PC не в сети", 125,10 + ($i - 1) * 30,82,15)
					GUICtrlSetBkColor(-1,0xFF2021)
				Else
					GUICtrlCreateLabel($split[0], 15,10 + ($i - 1) * 30,82,15)
                    GUICtrlCreateLabel("PC в сети", 125,10 + ($i - 1) * 30,70,15)
                    GUICtrlSetBkColor(-1,0x008200)
                EndIf

		Next
		Sleep ($T_OpR) ;Время  между опросами


Теперь сам вопрос: как сделать чтобы при запуске скрипта, он прочитал файл и вывел на экран след форму:



и пользователь мог в последствие выбрать (поставить галочку) на против тех Ip которые ему нужны )


вот собственно и все.

Заранее спасибо за помощь.
 

zlo-kazan

Скриптер
Сообщения
374
Репутация
100
Думаю это почти, то что нужно:
http://autoit-script.ru/index.php/topic,1764.msg12561.html#msg12561
:thumbs_up:
 
Автор
C

cobra2029

Новичок
Сообщения
54
Репутация
0
это к сожалению далеко не то что мне надо но спасибо вытянул от туда 1 фишку для другого скрипта :smile:


Добавлено:
Сообщение автоматически объединено:

доп. вопрос: восроизведение wav файла, использую
Код:
_WinAPI_PlaySound("AIRPLANE", BitOR($SND_ASYNC, $SND_LOOP, $SND_RESOURCE), _WinAPI_GetModuleHandle(0))

(взял уже пример из FAQ) результат 1 и тот же ошибка:

Код:
C:\Program Files\AutoIt3\Пинг менаджер\play.au3(33,63) : WARNING: $SND_ASYNC: possibly used before declaration.
                _WinAPI_PlaySound("AIRPLANE", BitOR($SND_ASYNC,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\Program Files\AutoIt3\Пинг менаджер\play.au3(33,74) : WARNING: $SND_LOOP: possibly used before declaration.
                _WinAPI_PlaySound("AIRPLANE", BitOR($SND_ASYNC, $SND_LOOP,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\Program Files\AutoIt3\Пинг менаджер\play.au3(33,89) : WARNING: $SND_RESOURCE: possibly used before declaration.
                _WinAPI_PlaySound("AIRPLANE", BitOR($SND_ASYNC, $SND_LOOP, $SND_RESOURCE)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\Program Files\AutoIt3\Пинг менаджер\play.au3(33,63) : ERROR: $SND_ASYNC: undeclared global variable.
                _WinAPI_PlaySound("AIRPLANE", BitOR($SND_ASYNC,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\Program Files\AutoIt3\Пинг менаджер\play.au3 - 1 error(s), 3 warning(s)

в чём проблема? :smile:
ОС: W7
 

zlo-kazan

Скриптер
Сообщения
374
Репутация
100
Поменял строчку
Код:
Global Const $sWav = @ScriptDir & '\Extras\Airplane.wav'

на
Код:
Global Const $sWav = @WindowsDir & '\Media\tada.wav'

Нормально играет.
Win7

У тебя библиотеки
Код:
#Include <APIConstants.au3>
#Include <WinAPIEx.au3>

подключены?


Добавлено:
Сообщение автоматически объединено:

Использовал справку и самые простые функции.. в GUI не силен...

Код:
#include <GUIConstantsEx.au3>
#include <array.au3>

Global $IP[10][3]=[ _
["8.8.8.8",28,0], _ 
["yandex.ru",19,0], _ 
["google.ru",25,0], _ 
["10.7.21.50",24,0], _ 
["10.7.21.51",29,0], _ 
["10.7.27.98",14,0], _ 
["10.7.27.66",28,0], _ 
["10.7.27.114",7,0], _ 
["10.7.27.115",10,0], _ 
["10.7.27.66",1,0] _ 
]
;~ _ArrayDisplay($IP)

$y=25
global $t=TimerInit()
global $sec=1
global $n=UBound($IP)
global $GUI_chekbox[UBound($IP)]
global $GUI_lable[UBound($IP)]
$GUI=GUICreate("GUI",200,$y*$n+20,0,0)
For $i=0 to UBound($IP)-1
	$GUI_chekbox[$i]=GUICtrlCreateCheckbox($IP[$i][0],10,10+$i*25)
	$GUI_lable[$i]=GUICtrlCreateLabel("",100,10+$i*25,30,30)
Next

;~ _ArrayDisplay($GUI_chekbox)
GUISetState()


While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
	EndSwitch
	sleep(1)
	chek()
WEnd



Func chek()
	If TimerDiff($t)>$sec*1000 then
		For $i=0 to $n-1
			If GUICtrlRead($GUI_chekbox[$i]) = $GUI_CHECKED Then
	;~ 			msgbox(0,"ping " & $IP[$i][0],ping($IP[$i][0]))
				$ping=ping($IP[$i][0])
				GUICtrlSetData($GUI_lable[$i],$ping)
			EndIf
		Next
		$t=TimerInit()
	Else
	EndIf
EndFunc
 
Автор
C

cobra2029

Новичок
Сообщения
54
Репутация
0
вопрос со звуком снят. с пингером щас буду пробовать дальше.
 
Верх