|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » запись аргументов в формате файлов INF |
|
запись аргументов в формате файлов INF
|
Ветеран Сообщения: 842 |
Исходный текст файла:
[Version] Signature=$Windows NT$ [DefaultInstall] AddReg=Add.Reg [Add.Reg] HKLM,"Software\Classes\FSTFile\Shell\Open\Command","",0x00004000,"C:\FL.exe" "%1" А так же изменить SubKey: "Software\Classes\FSTFile\Shell\Open\Command" и тип данных: 0x00004000 на другие значения. Если посмотреть на формат, то получается: ROOT, SubKey, KeyName, Type, значение... с последним параметром могут быть сложности, так как он зависит от типа данных и может содержать пробелы и всякие знаки... Вообщем кто имеет что сказать? ![]() |
|
------- Отправлено: 22:56, 13-10-2011 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата semiono:
|
|
Отправлено: 02:12, 14-10-2011 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 842
|
Профиль | Отправить PM | Цитировать Например, в файл
D:\DVD\i386\HIVESYS.INF в секцию [AddReg] нужно добавить строки: HKLM,"SYSTEM\CurrentControlSet\Services\VgaSave\Device0","DefaultSettings.BitsPerPel",0x00010001,32 HKLM,"SYSTEM\CurrentControlSet\Services\VgaSave\Device0","DefaultSettings.XResolution",0x00010001,1024 HKLM,"SYSTEM\CurrentControlSet\Services\VgaSave\Device0","DefaultSettings.YResolution",0x00010001,768 HKLM,"SYSTEM\CurrentControlSet\Control\Video\{23A77BF7-ED96-40EC-AF06-9B1F4867732A}\0000","DefaultSettings.BitsPerPel",0x00010001,32 HKLM,"SYSTEM\CurrentControlSet\Control\Video\{23A77BF7-ED96-40EC-AF06-9B1F4867732A}\0000","DefaultSettings.XResolution",0x00010001,1024 HKLM,"SYSTEM\CurrentControlSet\Control\Video\{23A77BF7-ED96-40EC-AF06-9B1F4867732A}\0000","DefaultSettings.YResolution",0x00010001,768 Но если там уже есть эти параметры реестра, то нужно только изменить их значения чтобы строки не дублировались. Это типично для формата INI, только здесь отсутствует знак равенства: DefaultSettings.BitsPerPel=32 |
------- Последний раз редактировалось semiono, 14-10-2011 в 03:45. Отправлено: 03:17, 14-10-2011 | #3 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Цитата semiono:
_RegFileWrite(@ScriptDir & '\File.reg', 'Add.Reg', 1, 'данные... 0x00000000 | "C:\zzzz" | 00 01 02 03 итп.') Func _RegFileWrite($sFile, $sSect, $iKey, $sValue) Local $sReadFile, $sReadSect, $aSplit, $sTmpSect, $i, $hFile $sReadFile = FileRead($sFile) If Not @extended Then Return SetError(1) EndIf $sReadSect = StringRegExpReplace($sReadFile, "(?s).*?(\Q[" & $sSect & "]\E.*?)[\r\n]*(\[.*|$)", "\1") $aSplit = StringSplit(StringStripCR($sReadSect), @LF) For $i = 1 To $aSplit[0] If $i = $iKey + 1 Then $sTmpSect &= $sValue & @CRLF Else $sTmpSect &= $aSplit[$i] & @CRLF EndIf Next $sReadFile = StringReplace($sReadFile, $sReadSect, StringTrimRight($sTmpSect, 2)) $hFile = FileOpen($sFile, 2) If $hFile = -1 Then Return SetError(2) EndIf FileWrite($hFile, $sReadFile) FileClose($hFile) EndFunc |
|
------- Альберт Эйнштейн P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©» http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community Отправлено: 03:55, 14-10-2011 | #4 |
Ветеран Сообщения: 842
|
Профиль | Отправить PM | Цитировать а продолжение можно попросить?
Найти: [AddReg] HKLM,"SYSTEM\CurrentControlSet\Services\VgaSave\Device0","DefaultSettings.BitsPerPel" и добавить значение: ,0x00010001,32 должно получиться так: [AddReg] HKLM,"SYSTEM\CurrentControlSet\Services\VgaSave\Device1","DefaultSettings.BitsPerPel",0x00010001,16 HKLM,"SYSTEM\CurrentControlSet\Services\VgaSave\Device2","DefaultSettings.BitsPerPel",0x00010001,16 ; ... HKLM,"SYSTEM\CurrentControlSet\Services\VgaSave\Device0","DefaultSettings.BitsPerPel",0x00010001,32 ; ... HKLM,"SYSTEM\CurrentControlSet\Services\VgaSave\Device0","zzDefaultSettings.BitsPerPel",0x00010001,1 6 ; ... Если файл не существует его нужно создать, если секция не существует её нужно создать, если строка не найдена её нужно создать. Я не сразу сообразил, прошу прощения, тут похоже лучше всего поделить строку на две части, для поиска взять всю ссылку реестра, а для редактирования значение и тип параметра, так как значение всегда привязанно к типу данных. И обязательно нужен поиск, так как указание номера строки неудобно в больших файлах когда номера строк вообще не известны и не фиксированны. Не знаю насколько это сложно, но мне бы хотелось такой скрипт иметь. |
|
------- Последний раз редактировалось semiono, 14-10-2011 в 22:42. Отправлено: 22:31, 14-10-2011 | #5 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Цитата semiono:
![]() |
|
------- Альберт Эйнштейн P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©» http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community Отправлено: 00:22, 19-10-2011 | #6 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
[решено] Сохранение файлов MS Office 2007 в формате 2003 | vxor | Автоматическая установка приложений | 1 | 17-01-2011 20:08 | |
объединение inf файлов | netsupport | Хочу все знать | 5 | 14-07-2010 09:45 | |
Разное - [решено] Ассоциирование файлов в xml формате | Alex_cs_gsp | Хочу все знать | 4 | 19-06-2010 11:41 | |
Теория - Число функций n аргументов? | Gamover jr | Программирование и базы данных | 13 | 30-10-2007 09:25 | |
Редактирование *.inf файлов драйверов. | ghostman | Автоматическая установка Windows 2000/XP/2003 | 4 | 25-01-2006 10:06 |
|