AZJIO
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Содержимое VirtW.cmd в корне диска, запускает скрипт, который при первом запуске создаёт ярлык на рабочем столе. Цитата: start %SystemRoot%\system32\AutoIt3.exe %~dp0Wim-soft\Wim-soft.au3 | Wim-soft.au3 - оболочка создания ярлыков и копирование программ на диск B: Код: Opt("TrayIconHide", 1) ; первый запуск только создание ярлыка на рабочем столе. If NOT FileExists(@DesktopCommonDir&'\wim-soft.lnk') And FileExists('B:\') Then FileCreateShortcut(@WindowsDir&'\SYSTEM32\AutoIt3.exe', @DesktopCommonDir&'\wim-soft.lnk', @ScriptDir, @ScriptDir&'\Wim-soft.au3', 'Подключение Wim-программ', @WindowsDir&'\SYSTEM32\SETUP.EXE') Exit Endif Global $Ini = @ScriptDir&'\Wim-soft.ini' ; путь к Wim-soft.ini ;Проверка существования Wim-soft.ini $answer = "" If Not FileExists($Ini) Then $answer = MsgBox(4, "Выгодное предложение", "Хотите создать необходимый Wim-soft.ini для добавления имён программ?") If $answer = "6" Then IniWriteSection($Ini, "Wim-soft", '; имя и описание программы'&@LF&'NME1='&@LF&'DSC1='&@LF&'NME2='&@LF&'DSC2='&@LF&'NME3='&@LF&'DSC3='&@LF&'NME4='&@LF&'DSC4=') IniWriteSection($Ini, "Path", '; пути создания ярлыков'&@LF&'DPCD='&@LF&'DPRAM='&@LF&'b_wim=') IniWriteSection($Ini, "setting", '; количество программ'&@LF&'amount=1') EndIf ;считываем Wim-soft.ini $DPCD= IniRead ($Ini, "Path", 'DPCD', @StartMenuCommonDir&'\Wim-soft') $DPRAM= IniRead ($Ini, "Path", "DPRAM", @StartMenuCommonDir&'\Wim-soft-RAM') $b_wim= IniRead ($Ini, "Path", "b_wim", 'B:\wim-soft') $amount= IniRead ($Ini, "setting", "amount", '1') For $i=1 To $amount $NME = 'NME' $DSC = 'DSC' Assign('NME' & $i, IniRead ($Ini, "Wim-soft", $NME & $i, "")) Assign('DSC' & $i, IniRead ($Ini, "Wim-soft", $DSC & $i, "")) Next GUICreate("Создание ярлыков для WIM",500,320) ; размер окна $tab=GUICtrlCreateTab (4,5, 492,313) ; размер вкладки $tab0=GUICtrlCreateTabitem ("Ярлыки") ; имя вкладки GUICtrlCreateGroup("", 12, 29, 476, 33) GUICtrlCreateLabel ("Создать ярлыки и закрыть окно", 15,40,260,22) $createlnk1=GUICtrlCreateButton ("Выполнить", 395,38,87,22) GUICtrlSetTip(-1, "Создать ярлыки и закрыть окно") GUICtrlCreateGroup("", 12, 63, 476, 247) GUICtrlCreateLabel ("Копировать Wim-soft на диск B:, создать ярлыки и закрыть окно", 15,70,460,22) $createlnk2=GUICtrlCreateButton ("Выполнить", 395,280,87,22) GUICtrlSetTip(-1, "Копировать Wim-soft на диск B:, создать ярлыки и закрыть окно.") $checkall=GUICtrlCreateButton ("Выделить всё", 395,230,87,22) $checknoall=GUICtrlCreateButton ("Сбросить всё", 395,255,87,22) For $i=1 To $amount $NME = Eval('NME' & $i) If $NME<>'' Then $DSC = Eval('DSC' & $i) $pos=$i*20+70 $pos_L=20 If $i>'10' Then $pos_L=145 If $i>'10' Then $pos=$i*20+70-200 Assign('check' & $i, GUICtrlCreateCheckbox ($NME,$pos_L,$pos,120,20)) GUICtrlSetTip(-1, $DSC) EndIf Next GUICtrlCreateTabitem ("") ; конец вкладок GUISetState () While 1 $msg = GUIGetMsg() Select Case $msg = $createlnk1 For $i=1 To $amount ToolTip('Остался ' & ($amount+1-$i) & ' из ' & $amount, 50, 100, 'Создание ярлыков') $NME = Eval('NME' & $i) If $NME<>'' Then $DIR = $DPCD $LNK = $DIR&'\'&$NME $WRK = @ScriptDir&'\'&$NME $EXE = $WRK&'\'&$NME $DSC = Eval('DSC' & $i) $ICO = $EXE If NOT FileExists($DIR) Then DirCreate($DIR) If FileExists ($EXE&'.wim') Then FileCreateShortcut($EXE&'.wim', $LNK&'.lnk', $WRK,'', $DSC, $ICO&'.ico') EndIf Next ExitLoop Case $msg = $createlnk2 ; Копировать wim-soft на B:\wim-soft с проверкой чекбоксов и существования каталогов ;создание ярлыков для B:\wim-soft $DPCD = $DPRAM For $i=1 To $amount $check = Eval('check' & $i) ToolTip('Остался ' & ($amount+1-$i) & ' из ' & $amount, 50, 100, 'Создание ярлыков') $NME = Eval('NME' & $i) If $NME<>'' Then $DIR = $DPCD $LNK = $DIR&'\'&$NME $WRK = $b_wim&'\'&$NME $EXE = $WRK&'\'&$NME $DSC = Eval('DSC' & $i) $ICO = $EXE If GUICtrlRead ($check)=1 And FileExists(@ScriptDir&'\'&$NME) Then DirCopy ( @ScriptDir&'\'&$NME, $WRK,1) If NOT FileExists($DIR) Then DirCreate($DIR) If FileExists ($EXE&'.wim') Then FileCreateShortcut($EXE&'.wim', $LNK&'.lnk', $WRK,'', $DSC, $ICO&'.ico') EndIf Next ExitLoop ; выделить всё Case $msg = $checkall For $i=1 To $amount $NME = Eval('NME' & $i) If $NME<>'' Then ;GuiCtrlSetState($check & $i, 1) GuiCtrlSetState(Eval('check' & $i), 1) EndIf Next ; сбросить всё Case $msg = $checknoall For $i=1 To $amount $NME = Eval('NME' & $i) If $NME<>'' Then ;GuiCtrlSetState($check & $i, $GUI_UNCHECKED) GuiCtrlSetState(Eval('check' & $i), 4) EndIf Next Case $msg = -3 ExitLoop EndSelect WEnd |
| Всего записей: 4413 | Зарегистр. 03-05-2006 | Отправлено: 16:58 14-08-2009 | Исправлено: AZJIO, 06:33 16-08-2009 |
|