Войти

Показать полную графическую версию : [решено] Можно ли отключить контролировать инет подключение?


Reborn21
04-03-2009, 16:13
Сложилась такая задача, что при запуске скрипта первым делом нужно отключить интернет, установить программу и включить интернет, или хотя бы вывести окно подключения. Или может просто есть команда которая блокирует интернет, пока выполняется скрипт, в общем помогите плз :)

beve
04-03-2009, 20:36
Вот на этом сайте по автоустановке программ: http://sanjaalone.h15.ru/au3.php имеются скрипты автоустановки различных программ. Скачай такое - Pragma 4.xx ru (и 5.xx ru/en). Там в архиве есть скрипт: autoit-pragma5.au3. Вот в нем при регистрации pragmы тоже идет отключение интернет соединения, а потом включение. ТО что нужно тебе.

Reborn21
05-03-2009, 00:40
Спасибо большое, но я уже сижу часа 2 что-то не получается у меня так сделать в моем скрипте :( Можете показать мне пожалуйста на простом примере, например - отключить интернет, открыть блокнот, написать там привет, включить интернет?

D_Master
05-03-2009, 01:01
отключить интернет, открыть блокнот, написать там привет, включить интернет? »
По идее, так:
$aNetCon = _GetActiveConnectionsArray() ; получение массива всех активных сетевых соединений
; Отключение всех активных сетевых соединений
For $i = 1 To UBound($aNetCon) - 1
_OnOffConnection($aNetCon[$i], False)
Next

MsgBox(0,"Привет","Интернет выключен, но после закрытия этого сообщения включится!", 4)

For $i = 1 To UBound($aNetCon) - 1
_OnOffConnection($aNetCon[$i], True)
Next

; Ф-ция получения массива всех активных сетевых соединений
Func _GetActiveConnectionsArray()
Local $sConnections, $sDelim = "|"

$oNetSharingManager = ObjCreate("HNetCfg.HNetShare.1")
If Not IsObj($oNetSharingManager) Then
MsgBox(48, "_GetActiveConnectionsArray: Error", "Can't create HNetCfg.HnetShare.1 object.")
Exit
EndIf

$oConnectionCollection = $oNetSharingManager.EnumEveryConnection
For $oItem In $oConnectionCollection
$oNCProps = $oNetSharingManager.NetConnectionProps($oItem)
If $oNCProps.Status = 2 Then ; соединение в подключенном состоянии
If $sConnections <> "" Then
$sConnections = $sConnections & $sDelim & $oNCProps.Name
Else
$sConnections = $oNCProps.Name
EndIf
EndIf
Next

Return StringSplit($sConnections, $sDelim, 1)
EndFunc

; Ф-ция включения/отключения сетевых соединений
Func _OnOffConnection($sConnectionName, $bAction)
Local $cnic = @ScriptDir & "\cnic.exe"
If $bAction Then
RunWait($cnic & ' "' & $sConnectionName & '" -c', @ScriptDir, @SW_HIDE) ; включить
Else
RunWait($cnic & ' "' & $sConnectionName & '" -d', @ScriptDir, @SW_HIDE) ; отключить
EndIf
EndFunc
Но что-то он у меня не захотел инет подключать (может из-за какой-то моей ошибки или из-за того, что у меня Windows 7)

beve
05-03-2009, 01:28
Но что-то он у меня не захотел инет подключать (может из-за какой-то моей ошибки или из-за того, что у меня Windows 7) »
У меня на windows xp pro sp2 работает, но нужно вместо запуска блокнота командой: RunWait("notepad.exe") написать хоть так: MsgBox(0,"Привет","Интернет выключен, но после закрытия этого сообщения включится!",4). Ибо с командой RunWait("notepad.exe") инет не включается до тех пор пока блокнот не выключен, D_Master, поправь плиз.

P.S. Для тех кто будет когдато то читать данную тему и пробовать на работоспособность описанный выше скрипт D_Master, то в директорию со скриптом нужно положить програмку CNic.exe.

D_Master
05-03-2009, 01:32
Исправленному верить ;)

Reborn21
05-03-2009, 02:23
Спасибо вам большое, действительно работает и только с файлом CNic.exe, но можно еще пару вопросов чтоб все стало ясно )
1) зачем нужна первая строка #include <IE.au3>
2) и что же это за загадочный файл CNic.exe зачема он нужен?

D_Master
05-03-2009, 11:06
зачем нужна первая строка #include <IE.au3> »
Подключение библиотеки UDF (без нее не пробовал запускать, на всякий случай оставил)
и что же это за загадочный файл CNic.exe зачема он нужен? »
Управляет сетевыми подключениями, насколько видно из коментариев оригинального скрипта.

beve
05-03-2009, 12:16
1) зачем нужна первая строка #include <IE.au3> »
В данном скрипте эта библиотека не нужна...




© OSzone.net 2001-2012