Показать полную графическую версию : [Архив - Часть 1.2] AutoIt скрипты
Как мне осуществить сохранение файла (c.tmp), в текущем каталоге? т.е в том каталоге где и находится сам скрипт. Но чтобы ненужно было указывать полный путь, так как запускаться скрипт будет постоянно с разных мест.
Смотри в списке макро папок (в данном случае @ScriptDir)
$var = FileOpenDialog("Выбирите архив...", "", "Zip (*.zip)")
FileWrite(@ScriptDir&"\c.tmp", $var)
DenchikK
12-07-2006, 03:47
Подскажите пожалуйста, как можно совместить работу такого (примерного)
скрипта. На основе поставленной в ней задачи, хочу научится некоторым
нужным впоследствии, рабочим скриптам. Так что не удевляйтесь
возможной несуразности его (скрипта) логики.
По частям он работает, но как совместить его работу, моего ума, хелпов
и статей форума явно не достаточно...
Идея вот в чём:
1. Выбираю первую или вторую колонку, и/или ставлю вручную нужные
галочки.
2. Жму на "Кнопка Выбора".
3. Если надо, повторяю п.1 и/или п.2 для выбора другой колонки.
4. Жму "Выполнить" - выполняются соответствующие чекбоксам операции.
5. Нажатия на кнопку "Выход" должно приводить к выходу из скрипта на
любом этапе.
6. Не знаю, как придумать, чтоб при повторном нажатии на "Кнопка
Выбора" происходил бы select / deselect чекбокса.
Вроде бы смог понятно обяснить...
Вот скрипт:
#include <GUIConstants.au3>
Opt("GUICoordMode", 1)
GUICreate("Учусь Работать С Чекбоксами", 400, 300)
$checkCN1 = GUICtrlCreateCheckbox ("CHECKBOX 1", 10, 10, 120, 20)
$checkCN2 = GUICtrlCreateCheckbox ("CHECKBOX 2", 10, 30, 120, 20)
$checkCN3 = GUICtrlCreateCheckbox ("CHECKBOX 3", 10, 50, 120, 20)
$checkCN4 = GUICtrlCreateCheckbox ("CHECKBOX 4", 130, 10, 230, 20)
$checkCN5 = GUICtrlCreateCheckbox ("CHECKBOX 5", 130, 30, 230, 20)
$checkCN6 = GUICtrlCreateCheckbox ("CHECKBOX 6", 130, 50, 230, 20)
$Start = GUICtrlCreateButton("Выполнить", 10, 100, 120, 20)
$Close = GUICtrlCreateButton("Выход", 10, 120, 120, 20)
$button_1 = GUICtrlCreateButton ("Кнопка Выбора ", 10, 150, 120, 20)
$group_1 = GUICtrlCreateGroup ("Группа", 5, 175, 120, 95)
GUIStartGroup()
$radio_1 = GUICtrlCreateRadio ("Первая Колонка", 10, 190, 120, 20)
$radio_2 = GUICtrlCreateRadio ("Вторая Колонка", 10, 205, 120, 20)
$radioval1 = 0 ; We will assume 0 = first radio button selected, 2 = last button
$radioval2 = 2
GUISetState ()
While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
Exit
Case $msg = $GUI_EVENT_MINIMIZE
MsgBox(0,"", "Dialog minimized",2)
Case $msg = $GUI_EVENT_MAXIMIZE
MsgBox(0,"", "Dialog restored",2)
Case $msg = $button_1
if $radioval1 = 0 then
ControlCommand ( 'Учусь Работать С Чекбоксами', '', 'Button1', 'Check', '' )
ControlCommand ( 'Учусь Работать С Чекбоксами', '', 'Button2', 'Check', '' )
ControlCommand ( 'Учусь Работать С Чекбоксами', '', 'Button3', 'Check', '' )
EndIf
if $radioval1 = 1 then
ControlCommand ( 'Учусь Работать С Чекбоксами', '', 'Button4', 'Check', '' )
ControlCommand ( 'Учусь Работать С Чекбоксами', '', 'Button5', 'Check', '' )
ControlCommand ( 'Учусь Работать С Чекбоксами', '', 'Button6', 'Check', '' )
EndIf
; Назначение этих двух строчек я не понимаю...
Case $msg >= $radio_1 AND $msg <= $radio_2
$radioval1 = $msg - $radio_1
EndSelect
WEnd
;************************************************************************
#cs
----------------------
While 1
$msg = GUIGetMsg()
If $msg = $GUI_EVENT_CLOSE Or $msg = $Close Then
Exit
ElseIf $msg = $Start Then
If GUICtrlRead($checkCN1) = 1 Then
MsgBox(0,"Установка","Чекбокс 1",1)
EndIf
If GUICtrlRead($checkCN2) = 1 Then
MsgBox(0,"Установка","Чекбокс 2",1)
EndIf
If GUICtrlRead($checkCN3) = 1 Then
MsgBox(0,"Установка","Чекбокс 3",1)
EndIf
If GUICtrlRead($checkCN4) = 1 Then
MsgBox(0,"Установка","Чекбокс 4",1)
EndIf
If GUICtrlRead($checkCN5) = 1 Then
MsgBox(0,"Установка","Чекбокс 5",1)
EndIf
If GUICtrlRead($checkCN6) = 1 Then
MsgBox(0,"Установка","Чекбокс 6",1)
EndIf
EndIf
WEnd
----------------------
#ce
bogomolv
12-07-2006, 09:35
DenchikK
Вроде бы смог понятно обяснить...
Наоборот :)
По частям он работает, но как совместить его работу, моего ума, хелпов
и статей форума явно не достаточно.
По каким частям? Что нужно совмещать?
5. Нажатия на кнопку "Выход" должно приводить к выходу из скрипта на
любом этапе.
Этапе чего? У тебя нет никаких этапов. Если тебя интересует прекращение (отмена) выполняемого действия, то такая возможность зависит от самого выполняемого действия.
6. Не знаю, как придумать, чтоб при повторном нажатии на "Кнопка
Выбора" происходил бы select / deselect чекбокса.
Это придумали за тебя и назвали оператором GUICtrlSetState
Case $msg = $button_1
If GUICtrlRead($checkCN1)=$GUI_CHECKED Then
GUICtrlSetState($checkCN1,$GUI_UNCHECKED)
Else
GUICtrlSetState($checkCN1,$GUI_CHECKED)
EndIF
; Назначение этих двух строчек я не понимаю...
Ну, так не ставь их!
DenchikK
12-07-2006, 12:55
bogomolv
Попробуйте, пожалуйста, запустить мой скрипт - всё наглядно увидите. ;-)
;Назначение этих двух строчек я не понимаю...
Ну, так не ставь их!
Ну так не работает без них! :-)
Ладно - попробую ещё понятнее объяснить:
Как видно по моему скрипту - есть одна часть, которая выполняется, и вторая - закоментированная. Это я думаю видно и понятно. Первая (незакоментированная) часть в зависимости от того, какая из RadioButton выбрана, выделяет три левых или правых чекбокса - то же вроде должно быть понятно. Вторая, закоментированная, часть показывает, что с выделенными чекбоксами делать. И если запустить скрипт в том виде, как у меня он дан, можно увидеть - что первая часть (отметка чекбоксов) работает. Если закоментитровать первую часть, и раскоментировать вторую - видим что и вторая часть так же выполняет свою функцию, что на неё возложена.
Теперь немного понятнее стало какие части и что нужно совмещать?
Может и не так, как у меня записано, принцип того, что должно получится, ясен?
Добавлено:
Всё, вопрос снимается - разобрался, как это всё работает (вроде-как).
Видать жара и недосып дают о себе знать ;-) Вот что в итоге вышло:
#include <GUIConstants.au3>
GUICreate("Учусь Работать С Чекбоксами", 400, 300)
$checkCN1 = GUICtrlCreateCheckbox ("CHECKBOX 1", 10, 10, 120, 20)
$checkCN2 = GUICtrlCreateCheckbox ("CHECKBOX 2", 10, 30, 120, 20)
$checkCN3 = GUICtrlCreateCheckbox ("CHECKBOX 3", 10, 50, 120, 20)
$checkCN4 = GUICtrlCreateCheckbox ("CHECKBOX 4", 130, 10, 230, 20)
$checkCN5 = GUICtrlCreateCheckbox ("CHECKBOX 5", 130, 30, 230, 20)
$checkCN6 = GUICtrlCreateCheckbox ("CHECKBOX 6", 130, 50, 230, 20)
$Start = GUICtrlCreateButton("Выполнить", 10, 100, 120, 20)
$Close = GUICtrlCreateButton("Выход", 10, 120, 120, 20)
$button_1 = GUICtrlCreateButton ("Кнопка Выбора ", 10, 150, 120, 20)
$group_1 = GUICtrlCreateGroup ("Группа", 5, 175, 120, 95)
GUIStartGroup()
$radio_1 = GUICtrlCreateRadio ("Первая Колонка", 10, 190, 120, 20)
$radio_2 = GUICtrlCreateRadio ("Вторая Колонка", 10, 205, 120, 20)
$radioval1 = 0 ; We will assume 0 = first radio button selected, 2 = last button
$radioval2 = 2
GUISetState ()
While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE Or $msg = $Close
Exit
Case $msg = $GUI_EVENT_MINIMIZE
MsgBox(0,"", "Dialog minimized",2)
Case $msg = $GUI_EVENT_MAXIMIZE
MsgBox(0,"", "Dialog restored",2)
Case $msg = $button_1
if $radioval1 = 0 then
If GUICtrlRead($checkCN1)=$GUI_CHECKED Then
GUICtrlSetState($checkCN1,$GUI_UNCHECKED)
Else
GUICtrlSetState($checkCN1,$GUI_CHECKED)
EndIF
If GUICtrlRead($checkCN2)=$GUI_CHECKED Then
GUICtrlSetState($checkCN2,$GUI_UNCHECKED)
Else
GUICtrlSetState($checkCN2,$GUI_CHECKED)
EndIF
If GUICtrlRead($checkCN3)=$GUI_CHECKED Then
GUICtrlSetState($checkCN3,$GUI_UNCHECKED)
Else
GUICtrlSetState($checkCN3,$GUI_CHECKED)
EndIF
EndIf
if $radioval1 = 1 then
If GUICtrlRead($checkCN4)=$GUI_CHECKED Then
GUICtrlSetState($checkCN4,$GUI_UNCHECKED)
Else
GUICtrlSetState($checkCN4,$GUI_CHECKED)
EndIF
If GUICtrlRead($checkCN5)=$GUI_CHECKED Then
GUICtrlSetState($checkCN5,$GUI_UNCHECKED)
Else
GUICtrlSetState($checkCN5,$GUI_CHECKED)
EndIF
If GUICtrlRead($checkCN6)=$GUI_CHECKED Then
GUICtrlSetState($checkCN6,$GUI_UNCHECKED)
Else
GUICtrlSetState($checkCN6,$GUI_CHECKED)
EndIF
EndIf
; Назначение этих двух строчек я не понимаю...
Case $msg >= $radio_1 AND $msg <= $radio_2
$radioval1 = $msg - $radio_1
Case $msg = $Start
If GUICtrlRead($checkCN1) = 1 Then
MsgBox(0,"Установка","Чекбокс 1",1)
EndIf
If GUICtrlRead($checkCN2) = 1 Then
MsgBox(0,"Установка","Чекбокс 2",1)
EndIf
If GUICtrlRead($checkCN3) = 1 Then
MsgBox(0,"Установка","Чекбокс 3",1)
EndIf
If GUICtrlRead($checkCN4) = 1 Then
MsgBox(0,"Установка","Чекбокс 4",1)
EndIf
If GUICtrlRead($checkCN5) = 1 Then
MsgBox(0,"Установка","Чекбокс 5",1)
EndIf
If GUICtrlRead($checkCN6) = 1 Then
MsgBox(0,"Установка","Чекбокс 6",1)
EndIf
EndSelect
WEnd
XXXler
Смотри в списке макро папок (в данном случае @ScriptDir)
Огромное Спасибо!
Есть такой вопрос:
Как по команде IniWrite, записывать строчки в файл конфигурации, но не в самый конец раздела, а, например, во вторую строчку заданного раздела?
И ещё, при команде IniRead, возвращается
Значение указанного ключа или <стандартное значение>, если указанный ключ отсутствует. (справка)
А как можно проверить совпадает ли указанная строка (или ключь в разделе) с существующей строкой в файле конфигурации? (*.ini) - и если совпадает, то нужно выполнить определённые действия (например, показать сообщение по MsgBox).
Как по команде IniWrite, записывать строчки в файл конфигурации, но не в самый конец раздела, а, например, во вторую строчку заданного раздела?
С помошью только IniWrite - никак
А как можно проверить совпадает ли указанная строка (или ключь в разделе) с существующей строкой в файле конфигурации? (*.ini) - и если совпадает, то нужно выполнить определённые действия (например, показать сообщение по MsgBox).
строки здесь причем? Если используем Ini файл, так и работаем с Секция\Параметр\Значение, со строками как таковыми работа невозможна.
Если надо сравнить одно значение:
If IniRead($File,"Section","Parameter","Default Value")="Текст для сравнения" Then MsgBox(0,"","Значение совпадает")
DenchikK
13-07-2006, 12:46
Creat0R
А как можно проверить совпадает ли указанная строка (или ключь в разделе) с существующей строкой в файле
конфигурации? (*.ini) - и если совпадает, то нужно выполнить определённые действия (например, показать сообщение по
MsgBox).
Так пойдёт?
$var = IniRead("boot.ini", "boot loader", "timeout", "")
if $var = 5 then
MsgBox(0,"Информация", "Запись существует",2)
else
MsgBox(0,"Информация", "Запись не существует",2)
endif
Exit
XXXler
С помошью только IniWrite - никак
Мне в принципе не важно с помощью чего, главное как такое сделать?
А на счёт строк, так дело в том, что мне нужно проверить именно ключь, а не значение. Т.е пусть даже восспользоваться другой командой, и обращаться к файлу как к обычному (например, как к файлу *.txt), но чтобы сравнить указанный текст со строкой в файле.
DenchikK
Так пойдёт?
Таким образом у меня в любом случае выводится сообщение “Запись не существует”, и ключь в файле не проверяется... или я просто что-то не так делаю?
if $var = 5 then
Разве IniRead возвращает значение 5, судя по справке, оно возвращает либо значение указанного ключа, либо значение которое приютствует у ключа в указанном разделе.
Может найдешь что тебе именно нужно:
;~ Условия поиска
$Sect="Имя_секции"
$Param="Имя_параметра"
$Val="Значение_параметра"
$File="Имя_файла"
If Not FileExists($File) Then Exit 1
;~ Поиск по имени секции
$SecList=IniReadSectionNames($File)
For $i=1 To $SecList[0]
If $SecList[$i]=$Sect Then MsgBox(0,"","Секция "&$Sect&" существует")
Next
;~ Поиск по имени параметра в любой секции
$SecList=IniReadSectionNames($File)
For $i=1 To $SecList[0]
$ParList=IniReadSection($File,$SecList[$i])
For $y=1 To $ParList[0][0]
If $ParList[$y][0]=$Param Then MsgBox(0,"","Параметр "&$Param&" существует в секции "&$SecList[$i])
Next
Next
;~ Поиск по значению параметра в любой секции
$SecList=IniReadSectionNames($File)
For $i=1 To $SecList[0]
$ParList=IniReadSection($File,$SecList[$i])
For $y=1 To $ParList[0][0]
If $ParList[$y][1]=$Val Then MsgBox(0,"","Значение "&$Val&" существует в параметре "&$ParList[$y][0]&", секции "&$SecList[$i])
Next
Next
;~ Поиск по имени секции и параметра
If IniRead($File,$Sect,$Param,"А вот и нет такого параметра")<>"А вот и нет такого параметра" Then MsgBox(0,"","Параметр "&$Param&" существует в секции "&$Sect)
;~ Поиск по имени секции, параметра и значения
If IniRead($File,$Sect,$Param,"А вот и нет такого параметра")=$Val Then MsgBox(0,"","Значение "&$Val&" существует в параметре "&$Param&", секции "&$Sect)
XXXler
Огромное спасибо! помогло!
Появился у меня интерес к такому вопросу - Можно ли каким то образом, воспринимать переданный ключь (рефферер) из другой программы, и чтобы скрипт распознавал, и если это определённый ключь, то что-то должно происходить. Т.е, например, скрипт был вызван из контекстного меню определённой программы, и при этом вызове, был указан ключ (Пример: Item, "Script" = Execute program, "Script.exe", "%A") - И теперь, скрипт должен распознать этот ключь, и если был передан именно этот ключь, то скрипт продолжит заданные действия в цепочке, а если ключь не совпадает, т.е если не был передан именно этот ключ, или вообще не был передн ключь, то должен происходить выход из цепочки (Do....Until...)
P.S:
Как делать цепочку\выход с неё, продолжение действии и т.д, я уже знаю, и мне нужно только узнать, как распозновать тот самый ключь (рефферер).
И ещё вот что хотел узнать, кто-то знает, где мможно посмотреть на разные структуры скриптов, например, для чекбоксов, для передачи результата из выбранного файла\каталога через FileOpenDialog, в затемнённое поле GUI интерфейса, и тому подобное (что-то вроде преведённого XXXler'ом в посте на один выше чем мой).
как распозновать тот самый ключь (рефферер).
команданая строка обрабатывется с пом. переменной $CmdLine, которая возвращает массив значений, где $CmdLine[0] количество параметров, $CmdLine[1], $CmdLine[2], $CmdLine[3] - параметры (в командной строке м\у параметрами разделитель - пробел, если параметр с пробелом внутри, его надо заключить в кавычки).
Обработка коммандной строки выглядит примерно так:
For $i=1 To $CmdLine[0]
Select
Case CmdLine[$i]="Параметр_1"
....
Case CmdLine[$i]="Параметр_2"
....
......
Case CmdLine[$i]="Параметр_n"
....
EndSelect
Next
XXXler
Ещё раз огромное Сенкс за наводку!
Вот как мне впринципе нужно было:
Select
Case $CmdLine[1] = 1
MsgBox(0, "", "ok 1")
Case $CmdLine[1] = 2
MsgBox(0, "", "ok 2")
Case $CmdLine[1] = 3
MsgBox(0, "", "ok 3")
EndSelect
Тут, Меседжь боксы естественно для примера, мне требуются совсем инные действия :).
Если запустить из внешней программы, этот скрипт с ключём, например 1, то будет сообщение: "ок 1", если с ключём 2, то естественно сообщение будет "ок 2" и т.д.
--------------------------
У меня остался один открытый вопрос, и буду очень благодарен если сможешь помочь (очень нужно):
*Вопрос который я уже задавал:
Как по команде IniWrite, записывать строчки в файл конфигурации, но не в самый конец раздела, а, например, во вторую строчку заданного раздела?
Но мне НЕ важно по какой команде (просто я думал что раз уж файл ини, значит нужно именно этой командой).
Dirk Diggler
16-07-2006, 22:34
Никак. Только написать свою функцию.
Dirk Diggler
Только написать свою функцию.
А как это сделать?
Уважаемый bogomolv!
Большое спасибо за скрипт по настройке dial-up подключений. Когда я давным давно видел его на форуме не думал что он пригодится.
Поясните пожалуйста некоторые моменты, которые у меня не получаются.
Итак, подключение создается, но:
Не стоит галочка "использовать правила набора номера" - как ее поставить?
Код страны или региона почему-то США, как сделать Россию?
Dirk Diggler
17-07-2006, 20:54
Creat0R. Для начала прочитать всё-таки книжку по информатике и хелп к AutoIt3
bogomolv
18-07-2006, 01:08
VelDmi
Не "выкай". Настаиваю именно на этой форме общения. Тем более, что двухлетнее знакомство дает право обращаться "на ты" даже за пределами интернета.
Не стоит галочка "использовать правила набора номера" - как ее поставить?
;Настройка "Свойства" соединения
$pbk='@AppDataCommonDir@\Microsoft\Network\Connections\Pbk\rasphone.pbk'
$co=IniReadSectionNames($pbk)
For $i=1 to $co[0]
IniWrite ($pbk, $co[$i], 'DataEncryption', '8')
IniWrite ($pbk, $co[$i], 'ShowMonitorIconInTaskBar', '1')
IniWrite ($pbk, $co[$i], 'ConnectBPS', '460800')
IniWrite ($pbk, $co[$i], 'Speaker', '0')
IniWrite ($pbk, $co[$i], 'AreaCode', $cod)
IniWrite ($pbk, $co[$i], 'CountryCode', $ccod)
IniWrite ($pbk, $co[$i], 'CountryID', $ccod)
IniWrite ($pbk, $co[$i], 'UseDialingRules', '1')
$phone2= IniRead($ini, $con[$i],'Phone_Number2','')
If $phone2<>'' Then
IniWrite ($pbk, $co[$i], 'Comment','@CRLF@PhoneNumber=$phone2$@CRLF@AreaCode=$cod$@CRLF@CountryCode=$ccod$@CRLF@CountryID=$cc od$@CRLF@UseDialingRules=0@CRLF@Comment=')
EndIF
;это выделено для Creat0R в качестве примера того, как записать в ini-файл параметры в нужной последовательности
Next
Код страны или региона почему-то США, как сделать Россию?
Уточни, что имеешь ввиду.
Если код страны как параметр драйвера модема, так этот скрипт драйверы не настраивает.
Если же Area_Code и Country_Code, то это коды выхода на межгород и международную связь. У меня там, наверное, были жестко забиты код саратовские - 8452 и 7. В приведенном выше кусочке скрипта Area_Code и Country_Code определяются переменными $cod и $ccod.
(Кстати, а на какой мой скрипт настройки интернет ты ссылаешься? Давай ПМ, вышлю свеженький.)
Большое спасибо за скрипт по настройке dial-up подключений. Когда я давным давно видел его на форуме не думал что он пригодится.
А как же ты настривал соединения? Хотя, даже не удивляюсь. И в знакомом тебе обсуждении на хоботе, и здесь возможности автоматической настройки соединений почему-то мало кого интересуют.
Creat0R
Глянь в скрипт. Там есть пример того, как можно записать в ini-файл параметры в нужной последовательности.
bogomolv
Глянь в скрипт. Там есть пример того, как можно записать в ini-файл параметры в нужной последовательности.
Спсибо, но дело в том, что мне нужно не именно последовательность, а помещение ключа со значением, в указанную строку определённого рздела. Т.е, мне нужно поместить ключь (со значением), допустим в середину раздела, и это единственный ключь который будет добвляться за один сеанс (запуска скрипта).
Вот так (см. код ниже), мне удалось во второй раздел ini файла, поместить ключ со значением, но уже не в конец раздела, а в его начало:
$co=IniReadSectionNames("Test.ini")
For $i=2 to $co[0]
IniWrite ("Test.ini", $co[$i], "Test" , "OK")
Next
Мне нужно как то узнать, каким образом я могу монипулировать помещением ключа в нужную строку (именно заданного раздела).
Буду очень благодарен если сможешь помочь!
И спасибо за внимание (за пример, и за попытку помочь).
Dirk Diggler
Для начала прочитать всё-таки книжку по информатике и хелп к AutoIt3
Справку почти всю прочёл, но у меня голова начинает пухнуть, когда перечитываю снова и снова один и тот же пример\объяснение и т.д....
А на счёт книжки по информатике - как это связанно с AutoIt? или эта книжка предназначена для него?, тогда дай пожалуйста полное название этой книжки, или по возможности, линк по которому я смог бы её скачать...
bogomolv
Привет! Использовал этот скрипт:
$f = FileOpen(@TempDir & '\ispcnfg.ins', 2)
FileWriteLine($f, '[Entry]')
FileWriteLine($f, 'Entry_Name=otts')
FileWriteLine($f, '')
FileWriteLine($f, '[Phone]')
FileWriteLine($f, 'Dial_As_Is=yes')
FileWriteLine($f, 'Phone_Number=8w770')
FileWriteLine($f, 'Area_Code=')
FileWriteLine($f, 'Country_Code=7')
FileWriteLine($f, 'Country_ID=7')
FileWriteLine($f, '')
FileWriteLine($f, '[Device]')
FileWriteLine($f, 'Type=modem')
FileWriteLine($f, '')
FileWriteLine($f, '[User]')
FileWriteLine($f, 'Name=otts')
FileWriteLine($f, 'Password=otts')
FileWriteLine($f, 'Display_Password=no')
FileWriteLine($f, '')
FileWriteLine($f, '[ConnectionSettings]')
;FileWriteLine($f, 'ApplyInsToConnection='&$con[$i])
FileWriteLine($f, '')
FileClose($f)
Run(@ComSpec&' /C Start %temp%\ispcnfg.ins','',0)
WinWaitActive('Мастер подключения к Интернету')
Send('{ENTER}')
WinWaitActive('Мастер подключения к Интернету','Завершена подготовка')
Send('{ENTER}')
$pbk=@AppDataCommonDir & '\Microsoft\Network\Connections\Pbk\rasphone.pbk'
IniWrite ($pbk, 'otts', 'UseDialingRules', '1')
IniWrite ($pbk, 'otts', 'CountryCode', '7')
IniWrite ($pbk, 'otts', 'CountryID', '7')
IniWrite ($pbk, 'otts', 'ConnectBPS', '115200')
IniWrite ($pbk, 'otts', 'AreaCode', '')
IniWrite ($pbk, 'otts', 'RedialSeconds', '3')
IniWrite ($pbk, 'otts', 'RedialAttempts', '100')
В итоге подключение настраивается, и даже галочка ставится, но при нажатии свойства->правила выскакивает окно изменение местонахождения, там где указывают код города и регион.
Уточни, что имеешь ввиду.
Если код страны как параметр драйвера модема, так этот скрипт драйверы не настраивает.
Если же Area_Code и Country_Code, то это коды выхода на межгород и международную связь.
При использовании файла *.ins в котором даже прописаны все параметры все равно получается США с кодом города 805. Может и правда от дров модема зависит. Поэтому после правлю rasphone.pbk по твоему совету. Вроде галки поставились где надо, но местоположение все равно спрашивает.
Кстати, а на какой мой скрипт настройки интернет ты ссылаешься? Давай ПМ, вышлю свеженький.
Намылил тебе по этому поводу.
А как же ты настривал соединения? Хотя, даже не удивляюсь. И в знакомом тебе обсуждении на хоботе, и здесь возможности автоматической настройки соединений почему-то мало кого интересуют.
А вот так вот вручную и настраивал. Пока не принесли подряд 3 компьютера. Только тогда понял насколько рутинная эта операция.
Creat0R,
Как по команде IniWrite, записывать строчки в файл конфигурации, но не в самый конец раздела, а, например, во вторую строчку заданного раздела?
пложение самого раздела в файле тоже критично?
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.