Показать полную графическую версию : [решено] Как сделать выбор устанавливаемых программ по чекбокс?
Собственно нашел вот такую (http://forum.oszone.net/showthread.php?t=173538&page=3&highlight=%F7%E5%EA%E1%EE%EA%F1) тему но не смог переделать под свои нужды. Прикол с папками как в той теме мне не нужен. Мне просто нужна возможность выбирать птичками необходимые пункты. Снизу кнопка Выполнить или Отмена. При выполнении скрипта нужно чтобы каждой птичке соответствовала выполнение своего действия через команду RunWait. При этом, после нажатия Выполнить желательно чтобы кнопки и птички затемнились чтоб нельзя было чего нить нажать. А окно пусть не исчезает. А для индикации того, что система не висит может можно чтонить в окно повесить типо как в винде снизу справа точки моргают или что нить другое. Желательно чтобы количество птичек можно было бы легко изменять без сильной переделки скрипта. Спасибо.
#include (http://www.autoitscript.com/autoit3/docs/keywords.htm##include) <GUIConstantsEx.au3>
#include (http://www.autoitscript.com/autoit3/docs/keywords.htm##include) <ButtonConstants.au3>
#include (http://www.autoitscript.com/autoit3/docs/keywords.htm##include) <WindowsConstants.au3>
; Только эту строку и нужно править для добавления новых, или удаления пунктов ;)
Global (http://www.autoitscript.com/autoit3/docs/keywords.htm#Global) $sProgs = 'Setup1.exe=Прог1|Seup2.exe=Прог2|Seup3.exe=Прог3|Seup4.exe=Прог4|Seup5.exe=Прог5'
Global (http://www.autoitscript.com/autoit3/docs/keywords.htm#Global) Const (http://www.autoitscript.com/autoit3/docs/keywords.htm#Const) $aProgs = StringSplit (http://www.autoitscript.com/autoit3/docs/functions/StringSplit.htm)($sProgs, '|')
Global (http://www.autoitscript.com/autoit3/docs/keywords.htm#Global) $anCheckBoxes[$aProgs[0]+1] = [$aProgs[0]]
$Form1 = GUICreate (http://www.autoitscript.com/autoit3/docs/functions/GUICreate.htm)("", 500, 500)
$iTop = 10
$iLeft = 20
For (http://www.autoitscript.com/autoit3/docs/keywords.htm#For) $i = 1 To (http://www.autoitscript.com/autoit3/docs/keywords.htm#To) $aProgs[0]
$anCheckBoxes[$i] = GUICtrlCreateCheckbox (http://www.autoitscript.com/autoit3/docs/functions/GUICtrlCreateCheckbox.htm)(StringRegExpReplace (http://www.autoitscript.com/autoit3/docs/functions/StringRegExpReplace.htm)($aProgs[$i], '^.*=', ''), $iLeft, $iTop, -1, 15)
GUICtrlSetFont (http://www.autoitscript.com/autoit3/docs/functions/GUICtrlSetFont.htm)($anCheckBoxes[$i], 9, 400)
$iTop += 20
If (http://www.autoitscript.com/autoit3/docs/keywords.htm#If) $iTop > 440 Then (http://www.autoitscript.com/autoit3/docs/keywords.htm#Then)
$iTop = 10
$iLeft += 100
EndIf (http://www.autoitscript.com/autoit3/docs/keywords.htm#EndIf)
Next (http://www.autoitscript.com/autoit3/docs/keywords.htm#Next)
GUICtrlCreateLabel (http://www.autoitscript.com/autoit3/docs/functions/GUICtrlCreateLabel.htm)("Status:", 200, 475, 460, 15)
GUICtrlSetFont (http://www.autoitscript.com/autoit3/docs/functions/GUICtrlSetFont.htm)(-1, 9, 800)
$nStatus = GUICtrlCreateLabel (http://www.autoitscript.com/autoit3/docs/functions/GUICtrlCreateLabel.htm)("", 250, 476, 240, 15)
GUICtrlSetColor (http://www.autoitscript.com/autoit3/docs/functions/GUICtrlSetColor.htm)(-1, 0xFF0000)
$nStart = GUICtrlCreateButton (http://www.autoitscript.com/autoit3/docs/functions/GUICtrlCreateButton.htm)("Выполнить", 10, 470, 80, 25)
$nCancel = GUICtrlCreateButton (http://www.autoitscript.com/autoit3/docs/functions/GUICtrlCreateButton.htm)("Отмена", 100, 470, 80, 25)
GUISetState (http://www.autoitscript.com/autoit3/docs/functions/GUISetState.htm)(@SW_SHOW (http://www.autoitscript.com/autoit3/docs/macros.htm#@sw_show))
While (http://www.autoitscript.com/autoit3/docs/keywords.htm#While) 1
$nMsg = GUIGetMsg (http://www.autoitscript.com/autoit3/docs/functions/GUIGetMsg.htm)()
Switch (http://www.autoitscript.com/autoit3/docs/keywords.htm#Switch) $nMsg
Case (http://www.autoitscript.com/autoit3/docs/keywords.htm#Case) $GUI_EVENT_CLOSE, $nCancel
Exit (http://www.autoitscript.com/autoit3/docs/keywords.htm#Exit)
Case (http://www.autoitscript.com/autoit3/docs/keywords.htm#Case) $nStart
For (http://www.autoitscript.com/autoit3/docs/keywords.htm#For) $i = 1 To (http://www.autoitscript.com/autoit3/docs/keywords.htm#To) $aProgs[0]
If (http://www.autoitscript.com/autoit3/docs/keywords.htm#If) GUICtrlRead (http://www.autoitscript.com/autoit3/docs/functions/GUICtrlRead.htm)($anCheckBoxes[$i]) = $GUI_CHECKED Then (http://www.autoitscript.com/autoit3/docs/keywords.htm#Then)
$sProgName = StringRegExpReplace (http://www.autoitscript.com/autoit3/docs/functions/StringRegExpReplace.htm)($aProgs[$i], '^.*=', '')
$sProgExe = StringRegExpReplace (http://www.autoitscript.com/autoit3/docs/functions/StringRegExpReplace.htm)($aProgs[$i], '=.*$', '')
GUICtrlSetData (http://www.autoitscript.com/autoit3/docs/functions/GUICtrlSetData.htm)($nStatus, StringFormat (http://www.autoitscript.com/autoit3/docs/functions/StringFormat.htm)("Please wait, installing [%s]...", $sProgName))
GUICtrlSetFont (http://www.autoitscript.com/autoit3/docs/functions/GUICtrlSetFont.htm)($anCheckBoxes[$i], 9, 800)
_ControlsSetState($GUI_DISABLE, $anCheckBoxes[1], $anCheckBoxes[$anCheckBoxes[0]])
RunWait (http://www.autoitscript.com/autoit3/docs/functions/RunWait.htm)($sProgExe)
GUICtrlSetFont (http://www.autoitscript.com/autoit3/docs/functions/GUICtrlSetFont.htm)($anCheckBoxes[$i], 9, 400)
_ControlsSetState($GUI_ENABLE, $anCheckBoxes[1], $anCheckBoxes[$anCheckBoxes[0]])
EndIf (http://www.autoitscript.com/autoit3/docs/keywords.htm#EndIf)
Next (http://www.autoitscript.com/autoit3/docs/keywords.htm#Next)
GUICtrlSetData (http://www.autoitscript.com/autoit3/docs/functions/GUICtrlSetData.htm)($nStatus, "Done!")
EndSwitch (http://www.autoitscript.com/autoit3/docs/keywords.htm#EndSwitch)
WEnd (http://www.autoitscript.com/autoit3/docs/keywords.htm#WEnd)
Func (http://www.autoitscript.com/autoit3/docs/keywords.htm#Func) _ControlsSetState($nState, $iFirst, $iLast)
For (http://www.autoitscript.com/autoit3/docs/keywords.htm#For) $iCtrlID = $iFirst To (http://www.autoitscript.com/autoit3/docs/keywords.htm#To) $iLast
GUICtrlSetState (http://www.autoitscript.com/autoit3/docs/functions/GUICtrlSetState.htm)($iCtrlID, $nState)
Next (http://www.autoitscript.com/autoit3/docs/keywords.htm#Next)
EndFunc (http://www.autoitscript.com/autoit3/docs/keywords.htm#EndFunc)
Два вопроса.
1. Как все же добавить такого рода команды:
Run(@ScriptDir & '\7z.exe x -y -aoa -o"' & @WindowsDir & '\DriversPozia" "' & @ScriptDir & '\1.7z"', @ScriptDir)
Run(@ScriptDir & '\7z.exe x -y -aoa -o"' & @WindowsDir & '\DriversPozia" "' & @ScriptDir & '\2.7z"', @ScriptDir)
Run(@ScriptDir & '\7z.exe x -y -aoa -o"' & @WindowsDir & '\DriversPozia" "' & @ScriptDir & '\3.7z"', @ScriptDir)
Run(@ScriptDir & '\7z.exe x -y -aoa -o"' & @WindowsDir & '\DriversPozia" "' & @ScriptDir & '\4.7z"', @ScriptDir)
Run(@ScriptDir & '\7z.exe x -y -aoa -o"' & @WindowsDir & '\DriversPozia" "' & @ScriptDir & '\5.7z"', @ScriptDir)
Копчиком чую что это где то в строке:
$sProgs = 'Setup1.exe=Прог1|Seup2.exe=Прог2|Seup3.exe=Прог3|Seup4.exe=Прог4|Seup5.exe=Прог5'
а как правильно записать не знаю.
2. После нажатия кнопки Выполнить и выполнения всех команд необходимо чтобы окно закрылось
Копчиком чую что это где то в строке »
Угу, вот только не знаю зачем копчик использовать :dont-know , в скрипте ведь над этой строкой написано что её только и нужно править:
Global (http://www.autoitscript.com/autoit3/docs/keywords.htm#Global) $sProgs =
@ScriptDir (http://www.autoitscript.com/autoit3/docs/macros.htm#@scriptdir) & '\7z.exe x -y -aoa -o"' & @WindowsDir (http://www.autoitscript.com/autoit3/docs/macros.htm#@windowsdir) & '\DriversPozia" "' & @ScriptDir (http://www.autoitscript.com/autoit3/docs/macros.htm#@scriptdir) & '\1.7z"=Driver 1|' & _
@ScriptDir (http://www.autoitscript.com/autoit3/docs/macros.htm#@scriptdir) & '\7z.exe x -y -aoa -o"' & @WindowsDir (http://www.autoitscript.com/autoit3/docs/macros.htm#@windowsdir) & '\DriversPozia" "' & @ScriptDir (http://www.autoitscript.com/autoit3/docs/macros.htm#@scriptdir) & '\2.7z"=Driver 2|' & _
@ScriptDir (http://www.autoitscript.com/autoit3/docs/macros.htm#@scriptdir) & '\7z.exe x -y -aoa -o"' & @WindowsDir (http://www.autoitscript.com/autoit3/docs/macros.htm#@windowsdir) & '\DriversPozia" "' & @ScriptDir (http://www.autoitscript.com/autoit3/docs/macros.htm#@scriptdir) & '\3.7z"=Driver 3|' & _
@ScriptDir (http://www.autoitscript.com/autoit3/docs/macros.htm#@scriptdir) & '\7z.exe x -y -aoa -o"' & @WindowsDir (http://www.autoitscript.com/autoit3/docs/macros.htm#@windowsdir) & '\DriversPozia" "' & @ScriptDir (http://www.autoitscript.com/autoit3/docs/macros.htm#@scriptdir) & '\4.7z"=Driver 4|' & _
@ScriptDir (http://www.autoitscript.com/autoit3/docs/macros.htm#@scriptdir) & '\7z.exe x -y -aoa -o"' & @WindowsDir (http://www.autoitscript.com/autoit3/docs/macros.htm#@windowsdir) & '\DriversPozia" "' & @ScriptDir (http://www.autoitscript.com/autoit3/docs/macros.htm#@scriptdir) & '\5.7z"=Driver 5'
После нажатия кнопки Выполнить и выполнения всех команд необходимо чтобы окно закрылось »
Поссле (или вместо, т.к при закрытий оно особо значения не имеет)
GUICtrlSetData($nStatus, "Done!")
Добавь
GUIDelete($Form1)
Exit
Creat0R, выскакивает ошибка Error: Error in expression
#include <GUIConstantsEx.au3>
#include <ButtonConstants.au3>
#include <WindowsConstants.au3>
; Только эту строку и нужно править для добавления новых, или удаления пунктов ;)
Global $sProgs =
@ScriptDir & '\7z.exe x -y -aoa -o"' & @WindowsDir & '\DriversPozia" "' & @ScriptDir & '\1.7z"=Driver 1|' & _
@ScriptDir & '\7z.exe x -y -aoa -o"' & @WindowsDir & '\DriversPozia" "' & @ScriptDir & '\2.7z"=Driver 2|' & _
@ScriptDir & '\7z.exe x -y -aoa -o"' & @WindowsDir & '\DriversPozia" "' & @ScriptDir & '\3.7z"=Driver 3|' & _
@ScriptDir & '\7z.exe x -y -aoa -o"' & @WindowsDir & '\DriversPozia" "' & @ScriptDir & '\4.7z"=Driver 4|' & _
@ScriptDir & '\7z.exe x -y -aoa -o"' & @WindowsDir & '\DriversPozia" "' & @ScriptDir & '\5.7z"=Driver 5'
Global Const $aProgs = StringSplit($sProgs, '|')
Global $anCheckBoxes[$aProgs[0]+1] = [$aProgs[0]]
$Form1 = GUICreate("", 500, 500)
$iTop = 10
$iLeft = 20
For $i = 1 To $aProgs[0]
$anCheckBoxes[$i] = GUICtrlCreateCheckbox(StringRegExpReplace($aProgs[$i], '^.*=', ''), $iLeft, $iTop, -1, 15)
GUICtrlSetFont($anCheckBoxes[$i], 9, 400)
$iTop += 20
If $iTop > 440 Then
$iTop = 10
$iLeft += 100
EndIf
Next
GUICtrlCreateLabel("Status:", 200, 475, 460, 15)
GUICtrlSetFont(-1, 9, 800)
$nStatus = GUICtrlCreateLabel("", 250, 476, 240, 15)
GUICtrlSetColor(-1, 0xFF0000)
$nStart = GUICtrlCreateButton("Выполнить", 10, 470, 80, 25)
$nCancel = GUICtrlCreateButton("Отмена", 100, 470, 80, 25)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE, $nCancel
Exit
Case $nStart
For $i = 1 To $aProgs[0]
If GUICtrlRead($anCheckBoxes[$i]) = $GUI_CHECKED Then
$sProgName = StringRegExpReplace($aProgs[$i], '^.*=', '')
$sProgExe = StringRegExpReplace($aProgs[$i], '=.*$', '')
GUICtrlSetData($nStatus, StringFormat("Please wait, installing [%s]...", $sProgName))
GUICtrlSetFont($anCheckBoxes[$i], 9, 800)
_ControlsSetState($GUI_DISABLE, $anCheckBoxes[1], $anCheckBoxes[$anCheckBoxes[0]])
RunWait($sProgExe)
GUICtrlSetFont($anCheckBoxes[$i], 9, 400)
_ControlsSetState($GUI_ENABLE, $anCheckBoxes[1], $anCheckBoxes[$anCheckBoxes[0]])
EndIf
Next
GUICtrlSetData($nStatus, "Done!")
GUIDelete($Form1)
Exit
EndSwitch
WEnd
Func _ControlsSetState($nState, $iFirst, $iLast)
For $iCtrlID = $iFirst To $iLast
GUICtrlSetState($iCtrlID, $nState)
Next
EndFunc
выскакивает ошибка Error »
Упс:
Global $sProgs = _
@ScriptDir & '\7z.exe x -y -aoa -o"' & @WindowsDir & '\DriversPozia" "' & @ScriptDir & '\1.7z"=Driver 1|' & _
@ScriptDir & '\7z.exe x -y -aoa -o"' & @WindowsDir & '\DriversPozia" "' & @ScriptDir & '\2.7z"=Driver 2|' & _
@ScriptDir & '\7z.exe x -y -aoa -o"' & @WindowsDir & '\DriversPozia" "' & @ScriptDir & '\3.7z"=Driver 3|' & _
@ScriptDir & '\7z.exe x -y -aoa -o"' & @WindowsDir & '\DriversPozia" "' & @ScriptDir & '\4.7z"=Driver 4|' & _
@ScriptDir & '\7z.exe x -y -aoa -o"' & @WindowsDir & '\DriversPozia" "' & @ScriptDir & '\5.7z"=Driver 5'
еще нюанс. Вот при такой записи обрывает слова:
Global $sProgs = _
@ScriptDir & '\7z.exe x -y -aoa -o"' & @WindowsDir & '\DriversPozia" "' & @ScriptDir & '\1.7z"=DriversNEW Computer|' & _
@ScriptDir & '\7z.exe x -y -aoa -o"' & @WindowsDir & '\DriversPozia" "' & @ScriptDir & '\2.7z"=DriversNEW Notebook|' & _
@ScriptDir & '\7z.exe x -y -aoa -o"' & @WindowsDir & '\DriversPozia" "' & @ScriptDir & '\3.7z"=Driver 3|' & _
@ScriptDir & '\7z.exe x -y -aoa -o"' & @WindowsDir & '\DriversPozia" "' & @ScriptDir & '\4.7z"=Driver 4|' & _
@ScriptDir & '\7z.exe x -y -aoa -o"' & @WindowsDir & '\DriversPozia" "' & @ScriptDir & '\5.7z"=Driver 5'
В окне только DriversNEW Compu и DriversNEW Noteboo
Как сделать чтоб не обрезало? Фразы планирую еще чуть длинее писать
и еще. пытаюсь записать команду чтоб выполнялась скрыто и получаю ошибку: Unterminated string
Пишу так:
Global $sProgs = _
@ScriptDir & '\7z.exe x -y -aoa -o"' & @WindowsDir & '\DriversPozia" "' & @ScriptDir & '\DriversNEWComputer.7z"', @ScriptDir, @SW_HIDE"=DriversNEW Computer|' & _
@ScriptDir & '\7z.exe x -y -aoa -o"' & @WindowsDir & '\DriversPozia" "' & @ScriptDir & '\DriversNEWNotebook.7z"=DriversNEW Notebook'
при такой записи обрывает слова »
Это из за размера Checkbox:
#include (http://www.autoitscript.com/autoit3/docs/keywords.htm##include) <GUIConstantsEx.au3>
#include (http://www.autoitscript.com/autoit3/docs/keywords.htm##include) <ButtonConstants.au3>
#include (http://www.autoitscript.com/autoit3/docs/keywords.htm##include) <WindowsConstants.au3>
Global (http://www.autoitscript.com/autoit3/docs/keywords.htm#Global) $iTotalProgs = 5
Global (http://www.autoitscript.com/autoit3/docs/keywords.htm#Global) $aProgs[$iTotalProgs + 1][4] = _
[[$iTotalProgs], _
['DriversNEW Computer', @ScriptDir (http://www.autoitscript.com/autoit3/docs/macros.htm#@scriptdir) & '\7z.exe x -y -aoa -o"' & @WindowsDir (http://www.autoitscript.com/autoit3/docs/macros.htm#@windowsdir) & '\DriversPozia" "' & @ScriptDir (http://www.autoitscript.com/autoit3/docs/macros.htm#@scriptdir) & '\1.7z"', @ScriptDir (http://www.autoitscript.com/autoit3/docs/macros.htm#@scriptdir), @SW_HIDE (http://www.autoitscript.com/autoit3/docs/macros.htm#@sw_hide)], _
['DriversNEW Notebook', @ScriptDir (http://www.autoitscript.com/autoit3/docs/macros.htm#@scriptdir) & '\7z.exe x -y -aoa -o"' & @WindowsDir (http://www.autoitscript.com/autoit3/docs/macros.htm#@windowsdir) & '\DriversPozia" "' & @ScriptDir (http://www.autoitscript.com/autoit3/docs/macros.htm#@scriptdir) & '\2.7z"', @ScriptDir (http://www.autoitscript.com/autoit3/docs/macros.htm#@scriptdir), @SW_HIDE (http://www.autoitscript.com/autoit3/docs/macros.htm#@sw_hide)], _
['Driver 3', @ScriptDir (http://www.autoitscript.com/autoit3/docs/macros.htm#@scriptdir) & '\7z.exe x -y -aoa -o"' & @WindowsDir (http://www.autoitscript.com/autoit3/docs/macros.htm#@windowsdir) & '\DriversPozia" "' & @ScriptDir (http://www.autoitscript.com/autoit3/docs/macros.htm#@scriptdir) & '\3.7z"', @ScriptDir (http://www.autoitscript.com/autoit3/docs/macros.htm#@scriptdir), @SW_HIDE (http://www.autoitscript.com/autoit3/docs/macros.htm#@sw_hide)], _
['Driver 4', @ScriptDir (http://www.autoitscript.com/autoit3/docs/macros.htm#@scriptdir) & '\7z.exe x -y -aoa -o"' & @WindowsDir (http://www.autoitscript.com/autoit3/docs/macros.htm#@windowsdir) & '\DriversPozia" "' & @ScriptDir (http://www.autoitscript.com/autoit3/docs/macros.htm#@scriptdir) & '\4.7z"', @ScriptDir (http://www.autoitscript.com/autoit3/docs/macros.htm#@scriptdir), @SW_HIDE (http://www.autoitscript.com/autoit3/docs/macros.htm#@sw_hide)], _
['Driver 5', @ScriptDir (http://www.autoitscript.com/autoit3/docs/macros.htm#@scriptdir) & '\7z.exe x -y -aoa -o"' & @WindowsDir (http://www.autoitscript.com/autoit3/docs/macros.htm#@windowsdir) & '\DriversPozia" "' & @ScriptDir (http://www.autoitscript.com/autoit3/docs/macros.htm#@scriptdir) & '\5.7z"', @ScriptDir (http://www.autoitscript.com/autoit3/docs/macros.htm#@scriptdir), @SW_HIDE (http://www.autoitscript.com/autoit3/docs/macros.htm#@sw_hide)] _
]
Global (http://www.autoitscript.com/autoit3/docs/keywords.htm#Global) $anCheckBoxes[$iTotalProgs + 1] = [$iTotalProgs]
$Form1 = GUICreate (http://www.autoitscript.com/autoit3/docs/functions/GUICreate.htm)("", 500, 500)
$iTop = 10
$iLeft = 20
For (http://www.autoitscript.com/autoit3/docs/keywords.htm#For) $i = 1 To (http://www.autoitscript.com/autoit3/docs/keywords.htm#To) $iTotalProgs
$anCheckBoxes[$i] = GUICtrlCreateCheckbox (http://www.autoitscript.com/autoit3/docs/functions/GUICtrlCreateCheckbox.htm)($aProgs[$i][0], $iLeft, $iTop, 200, 15)
GUICtrlSetFont (http://www.autoitscript.com/autoit3/docs/functions/GUICtrlSetFont.htm)($anCheckBoxes[$i], 9, 400)
$iTop += 20
If (http://www.autoitscript.com/autoit3/docs/keywords.htm#If) $iTop > 440 Then (http://www.autoitscript.com/autoit3/docs/keywords.htm#Then)
$iTop = 10
$iLeft += 210
EndIf (http://www.autoitscript.com/autoit3/docs/keywords.htm#EndIf)
Next (http://www.autoitscript.com/autoit3/docs/keywords.htm#Next)
GUICtrlCreateLabel (http://www.autoitscript.com/autoit3/docs/functions/GUICtrlCreateLabel.htm)("Status:", 200, 475, 460, 15)
GUICtrlSetFont (http://www.autoitscript.com/autoit3/docs/functions/GUICtrlSetFont.htm)(-1, 9, 800)
$nStatus = GUICtrlCreateLabel (http://www.autoitscript.com/autoit3/docs/functions/GUICtrlCreateLabel.htm)("", 250, 476, 240, 15)
GUICtrlSetColor (http://www.autoitscript.com/autoit3/docs/functions/GUICtrlSetColor.htm)(-1, 0xFF0000)
$nStart = GUICtrlCreateButton (http://www.autoitscript.com/autoit3/docs/functions/GUICtrlCreateButton.htm)("Выполнить", 10, 470, 80, 25)
$nCancel = GUICtrlCreateButton (http://www.autoitscript.com/autoit3/docs/functions/GUICtrlCreateButton.htm)("Отмена", 100, 470, 80, 25)
GUISetState (http://www.autoitscript.com/autoit3/docs/functions/GUISetState.htm)(@SW_SHOW (http://www.autoitscript.com/autoit3/docs/macros.htm#@sw_show))
While (http://www.autoitscript.com/autoit3/docs/keywords.htm#While) 1
$nMsg = GUIGetMsg (http://www.autoitscript.com/autoit3/docs/functions/GUIGetMsg.htm)()
Switch (http://www.autoitscript.com/autoit3/docs/keywords.htm#Switch) $nMsg
Case (http://www.autoitscript.com/autoit3/docs/keywords.htm#Case) $GUI_EVENT_CLOSE, $nCancel
Exit (http://www.autoitscript.com/autoit3/docs/keywords.htm#Exit)
Case (http://www.autoitscript.com/autoit3/docs/keywords.htm#Case) $nStart
For (http://www.autoitscript.com/autoit3/docs/keywords.htm#For) $i = 1 To (http://www.autoitscript.com/autoit3/docs/keywords.htm#To) $iTotalProgs
If (http://www.autoitscript.com/autoit3/docs/keywords.htm#If) GUICtrlRead (http://www.autoitscript.com/autoit3/docs/functions/GUICtrlRead.htm)($anCheckBoxes[$i]) = $GUI_CHECKED Then (http://www.autoitscript.com/autoit3/docs/keywords.htm#Then)
$sProgramName = $aProgs[$i][0]
$sProgramExe = $aProgs[$i][1]
$sWorkingDir = $aProgs[$i][2]
$nRunState = $aProgs[$i][3]
If (http://www.autoitscript.com/autoit3/docs/keywords.htm#If) $sWorkingDir == "" Then (http://www.autoitscript.com/autoit3/docs/keywords.htm#Then) $sWorkingDir = @WorkingDir (http://www.autoitscript.com/autoit3/docs/macros.htm#@workingdir)
If (http://www.autoitscript.com/autoit3/docs/keywords.htm#If) $nRunState == "" Then (http://www.autoitscript.com/autoit3/docs/keywords.htm#Then) $nRunState = @SW_SHOW (http://www.autoitscript.com/autoit3/docs/macros.htm#@sw_show)
GUICtrlSetData (http://www.autoitscript.com/autoit3/docs/functions/GUICtrlSetData.htm)($nStatus, StringFormat (http://www.autoitscript.com/autoit3/docs/functions/StringFormat.htm)("Please wait, installing [%s]...", $sProgramName))
GUICtrlSetFont (http://www.autoitscript.com/autoit3/docs/functions/GUICtrlSetFont.htm)($anCheckBoxes[$i], 9, 800)
_ControlsSetState($GUI_DISABLE, $anCheckBoxes[1], $anCheckBoxes[$anCheckBoxes[0]])
RunWait (http://www.autoitscript.com/autoit3/docs/functions/RunWait.htm)($sProgramExe, $sWorkingDir, $nRunState)
GUICtrlSetFont (http://www.autoitscript.com/autoit3/docs/functions/GUICtrlSetFont.htm)($anCheckBoxes[$i], 9, 400)
_ControlsSetState($GUI_ENABLE, $anCheckBoxes[1], $anCheckBoxes[$anCheckBoxes[0]])
EndIf (http://www.autoitscript.com/autoit3/docs/keywords.htm#EndIf)
Next (http://www.autoitscript.com/autoit3/docs/keywords.htm#Next)
GUICtrlSetData (http://www.autoitscript.com/autoit3/docs/functions/GUICtrlSetData.htm)($nStatus, "Done!")
GUIDelete (http://www.autoitscript.com/autoit3/docs/functions/GUIDelete.htm)($Form1)
ExitLoop (http://www.autoitscript.com/autoit3/docs/keywords.htm#ExitLoop)
EndSwitch (http://www.autoitscript.com/autoit3/docs/keywords.htm#EndSwitch)
WEnd (http://www.autoitscript.com/autoit3/docs/keywords.htm#WEnd)
Func (http://www.autoitscript.com/autoit3/docs/keywords.htm#Func) _ControlsSetState($nState, $iFirst, $iLast)
For (http://www.autoitscript.com/autoit3/docs/keywords.htm#For) $iCtrlID = $iFirst To (http://www.autoitscript.com/autoit3/docs/keywords.htm#To) $iLast
GUICtrlSetState (http://www.autoitscript.com/autoit3/docs/functions/GUICtrlSetState.htm)($iCtrlID, $nState)
Next (http://www.autoitscript.com/autoit3/docs/keywords.htm#Next)
EndFunc (http://www.autoitscript.com/autoit3/docs/keywords.htm#EndFunc)
Creat0R, а по поводу выполнения команды скрыто подскажете?
пытаюсь записать команду чтоб выполнялась скрыто и получаю ошибку »
Ну тут нужно немного изменить обработчик, и в этом случае я бы использовал сразу массив, так будет легче для разбора. Поправил пример.
Это из за размера Checkbox: »
не совсем понял. вижу вы изменили 9 на 8,5. Это высота шрифта? В данном случае помогло. Но я записал фразу длиннее и опять обрезало. Шрифт ведь уменьшать все время не получится. По другому обрезку никак не устранить?
Поправил пример. »
все работатет, но дос окно по прежнему не скрыто. А в нем виден весь процесс распаковки
Шрифт ведь уменьшать все время не получится »
Ну в последнем варианте я задал точную длину строки (200), если этого мало, то можно добавить. Но также нужно будет увеличить и итерацию переменной $iLeft.
дос окно по прежнему не скрыто »
Поправил.
Последний вроде вопрос. Опять же по вместительности. В строке
GUICtrlSetData($nStatus, StringFormat("Please wait, installing [%s]...", $sProgramName))
не все влазит в переменой %s. Где расширить поле?
разобрался
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.