-
AutoIt
(
http://forum.oszone.net/forumdisplay.php?f=103)
Можно ли отключить контролировать инет подключение?
Сложилась такая задача, что при запуске скрипта первым делом нужно отключить интернет, установить программу и включить интернет, или хотя бы вывести окно подключения. Или может просто есть команда которая блокирует интернет, пока выполняется скрипт, в общем помогите плз :)
|
Вот на этом сайте по автоустановке программ: http://sanjaalone.h15.ru/au3.php имеются скрипты автоустановки различных программ. Скачай такое - Pragma 4.xx ru (и 5.xx ru/en). Там в архиве есть скрипт: autoit-pragma5.au3. Вот в нем при регистрации pragmы тоже идет отключение интернет соединения, а потом включение. ТО что нужно тебе.
|
Спасибо большое, но я уже сижу часа 2 что-то не получается у меня так сделать в моем скрипте :( Можете показать мне пожалуйста на простом примере, например - отключить интернет, открыть блокнот, написать там привет, включить интернет?
|
Цитата:
Цитата Reborn21
отключить интернет, открыть блокнот, написать там привет, включить интернет? »
|
По идее, так:
Код:
$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)
|
Вложений: 1
Цитата:
Цитата D_Master
Но что-то он у меня не захотел инет подключать (может из-за какой-то моей ошибки или из-за того, что у меня Windows 7) »
|
У меня на windows xp pro sp2 работает , но нужно вместо запуска блокнота командой: RunWait("notepad.exe") написать хоть так: MsgBox(0,"Привет","Интернет выключен, но после закрытия этого сообщения включится!",4). Ибо с командой RunWait("notepad.exe") инет не включается до тех пор пока блокнот не выключен, D_Master, поправь плиз.
P.S. Для тех кто будет когдато то читать данную тему и пробовать на работоспособность описанный выше скрипт D_Master, то в директорию со скриптом нужно положить програмку CNic.exe.
|
Спасибо вам большое, действительно работает и только с файлом CNic.exe, но можно еще пару вопросов чтоб все стало ясно )
1) зачем нужна первая строка #include <IE.au3>
2) и что же это за загадочный файл CNic.exe зачема он нужен?
|
Цитата:
Цитата Reborn21
зачем нужна первая строка #include <IE.au3> »
|
Подключение библиотеки UDF (без нее не пробовал запускать, на всякий случай оставил)
Цитата:
Цитата Reborn21
и что же это за загадочный файл CNic.exe зачема он нужен? »
|
Управляет сетевыми подключениями, насколько видно из коментариев оригинального скрипта.
|
Цитата:
Цитата Reborn21
1) зачем нужна первая строка #include <IE.au3> »
|
В данном скрипте эта библиотека не нужна...
|
Время: 03:54.
© OSzone.net 2001-