Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   [решено] Можно ли отключить контролировать инет подключение? (http://forum.oszone.net/showthread.php?t=133809)

Reborn21 04-03-2009 16:13 1054809

Можно ли отключить контролировать инет подключение?
 
Сложилась такая задача, что при запуске скрипта первым делом нужно отключить интернет, установить программу и включить интернет, или хотя бы вывести окно подключения. Или может просто есть команда которая блокирует интернет, пока выполняется скрипт, в общем помогите плз :)

beve 04-03-2009 20:36 1055056

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

Reborn21 05-03-2009 00:40 1055266

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

D_Master 05-03-2009 01:01 1055276

Цитата:

Цитата 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)

beve 05-03-2009 01:28 1055292

Вложений: 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.

D_Master 05-03-2009 01:32 1055295

Исправленному верить ;)

Reborn21 05-03-2009 02:23 1055313

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

D_Master 05-03-2009 11:06 1055504

Цитата:

Цитата Reborn21
зачем нужна первая строка #include <IE.au3> »

Подключение библиотеки UDF (без нее не пробовал запускать, на всякий случай оставил)
Цитата:

Цитата Reborn21
и что же это за загадочный файл CNic.exe зачема он нужен? »

Управляет сетевыми подключениями, насколько видно из коментариев оригинального скрипта.

beve 05-03-2009 12:16 1055564

Цитата:

Цитата Reborn21
1) зачем нужна первая строка #include <IE.au3> »

В данном скрипте эта библиотека не нужна...


Время: 03:54.

Время: 03:54.
© OSzone.net 2001-