Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Название темы: delete C:\*.* /exclude=zzz.lst ?
Показать сообщение отдельно

Аватара для semiono

Ветеран


Сообщения: 842
Благодарности: 33

Профиль | Отправить PM | Цитировать


Цитата Creat0R:
Нет, там можно добавлять строчки по аналогии первых (через разделитель & _). »
я догадался! Подчёркивание это перенос строки! & _ (в хелпе лично я это так и не нашёл)

Creat0R, мне очень помогло использование Switch для архитектуры.
Я это буду применять относительно всего кода. Но посмотри, всё ли правильно, нельзя ли оптимизировать?
Так как много реестр записей может быть, то получается много свитчеров каждый из которых занимает по шесть строк.
Хотя я лично думаю что это никак не изменишь наверное. Ну тогда и так хорошо.
И ещё, я решил это вначале кода писать, так как это полюбому глобально для всей программы.
Вот пример, всё ли правильно? Или сократить можно?
Код: Выделить весь код
#Include <Clipboard.au3>
#include <GuiTab.au3>

Switch @OSArch
    Case "x86"
        $sRegApps = "HKEY_LOCAL_MACHINE\Software\Native Instruments\AkoustikPiano"
    Case "x64"
        $sRegApps = "HKEY_LOCAL_MACHINE\Software\Wow6432Node\Native Instruments\AkoustikPiano"
EndSwitch

Switch @OSArch
    Case "x86"
        $sRegVSTs = "HKEY_LOCAL_MACHINE\Software\VST"
    Case "x64"
        $sRegVSTs = "HKEY_LOCAL_MACHINE\Software\Wow6432Node\VST"
EndSwitch
	
RegDelete($sRegApps,"KEY")
RegDelete($sRegApps,"SNO")
RegDelete($sRegApps,"SYSTEMID")

ProgressOn("Running...","","")
ProgressSet(100)

BlockInput(1)

; далее тут работы с окном, в которых тоже используются переменные реестра
; так что тоже удобно $sRegApps, $sRegVSTs по архитектуре передавать.

BlockInput(0)

ProgressOff()

; тут практически твой код, только на два файла уже...
	
$sDir1 = RegRead($sRegApps, "InstallDir")

$sDir2 = RegRead($sRegVSTs, "VSTPluginsPath") & "\AkoustikPiano"

$sFile_Content = _
    "Windows Registry Editor Version 5.00" & @CRLF & @CRLF & _
    "[" & $sRegApps & "]" & @CRLF & _
	'"SNO"="' & $SNO & '"' & @CRLF & _
	'"SYSTEMID"="' & $sysID & '"' & @CRLF & _
    '"KEY"="' & $KEY & '"' & @CRLF & @CRLF

$hFileOpen = FileOpen($sDir1 & "\AkoustikPiano.reg", 10)
FileWrite($hFileOpen, $sFile_Content)
FileClose($hFileOpen)

$hFileOpen = FileOpen($sDir2 & "\AkoustikPiano.reg", 10)
FileWrite($hFileOpen, $sFile_Content)
FileClose($hFileOpen)
Всё ли хорошо? Чтоб потом не переделывать, ато это как бы будет шаблон на много разных программ.

Есть идея, а нельзя ли свитчеры с описанием реестра x86_x64 вынести в инклюд - внешний скрипт?
Только так чтоб это было универсально, чтоб потом в самом коде можно было какугодно писать без проблем?
Да и сам инклюд чтоб можно было независимо наращивать, ключей добавлять?
Я практически наверное сам уже на это отвечаю, но может быть я не знаю чегото важного тут?

-------
Полезное сообщение


Отправлено: 15:04, 17-06-2009 | #16

Название темы: delete C:\*.* /exclude=zzz.lst ?