Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » AutoIT (Часть 3)

Модерирует : gyra, Maz

gyra (23-01-2020 10:51): AutoIT (Часть 4)  Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

   

AZJIO



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Код:
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_OutFile=Launcher.exe
#AutoIt3Wrapper_icon=Launcher.ico
#AutoIt3Wrapper_Compression=4
#AutoIt3Wrapper_UseAnsi=y
#AutoIt3Wrapper_Res_Comment=-
#AutoIt3Wrapper_Res_Description=Launcher.exe
#AutoIt3Wrapper_Res_Fileversion=0.1.0.0
#AutoIt3Wrapper_Res_Fileversion_AutoIncrement=n
#AutoIt3Wrapper_Res_LegalCopyright=AZJIO
#AutoIt3Wrapper_Res_Language=1049
#AutoIt3Wrapper_Run_AU3Check=n
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
 
;  @AZJIO 1.10.2010 (AutoIt3_v3.2.12.1+)
 
#NoTrayIcon
Opt('ExpandEnvStrings', 1)
$Ini=@ScriptDir&'\Launcher.ini'
If Not FileExists($Ini) Then
    $otvet=MsgBox(4, 'Выгодное предложение', 'Хотите создать необходимый Launcher.ini'&@CRLF&'в качестве примера? Иначе выход.')
    If $otvet=6 Then
        $file = FileOpen($Ini,2)
        FileWrite($file, '[gui]' & @CRLF & _
            'name=Launcher' & @CRLF & _
            'width=180' & @CRLF & _
            'height=90' & @CRLF & _
            'margin=5' & @CRLF & _
            'row=2' & @CRLF & _
            'fontsize=' & @CRLF & _
            'icon=' & @CRLF & _
            'ButMinW=' & @CRLF & _
            'ButMinH=' & @CRLF & _
            @CRLF & _
            '[1]' & @CRLF & _
            'name=Notepad' & @CRLF & _
            'hint=Открыть блокнот' & @CRLF & _
            'exe=notepad.exe' & @CRLF & _
            @CRLF & _
            '[2]' & @CRLF & _
            'name=Calc' & @CRLF & _
            'hint=Открыть калькулятор' & @CRLF & _
            'exe=calc.exe' & @CRLF & _
            @CRLF & _
            '[3]' & @CRLF & _
            'name=Paint' & @CRLF & _
            'hint=Открыть графический редактор' & @CRLF & _
            'exe=mspaint.exe' & @CRLF & _
            @CRLF & _
            '[4]' & @CRLF & _
            'name=Экспорт' & @CRLF & _
            'hint=Пример с ком-строкой, экспорт из реестра' & @CRLF & _
            'exe=regedit.exe' & @CRLF & _
            'arg=/e myfile.reg "HKEY_CURRENT_USER\Keyboard Layout\Preload"' & @CRLF & _
            @CRLF & _
            '[5]' & @CRLF & _
            'name=Launcher.ini' & @CRLF & _
            'hint=Открыть файл' & @CRLF & _
            'exe=Launcher.ini')
        FileClose($file)
        If Not FileExists($Ini) Then
            MsgBox(0, 'Ошибка', 'Отсутствует Launcher.ini.')
            Exit
        EndIf
    Else
        Exit
    EndIf
EndIf
 
Global $aIniSec=IniReadSectionNames($Ini)
_test_Ini()
 
$minW = IniRead ($Ini, 'gui', 'ButMinW', 15)
$minH = IniRead ($Ini, 'gui', 'ButMinH', 19)
If $minW < 15 Then $minW=15
If $minH < 19 Then $minH=19
 
$font = IniRead ($Ini, 'gui', 'fontsize', '')
$icon = IniRead ($Ini, 'gui', 'icon', '')
$row=IniRead($Ini, 'gui', 'row', '1')
$col=Ceiling(($aIniSec[0]-1)/$row)
$row=Ceiling(($aIniSec[0]-1)/$col)
$GuiName=IniRead($Ini, 'gui', 'name', 'Launcher')
$GuiW=IniRead($Ini, 'gui', 'width', '100')
$GuiH=IniRead($Ini, 'gui', 'height', ($aIniSec[0]-1)*25)
$mrgn=IniRead($Ini, 'gui', 'margin', '2')
If $GuiW < 30 Then $GuiW=30
If $GuiW/($aIniSec[0]-1)*$col-$mrgn < $minW Then $GuiW=($aIniSec[0]-1)/$col*($minW+$mrgn)
If $GuiH/($aIniSec[0]-1)*$row-$mrgn < $minH Then $GuiH=($aIniSec[0]-1)/$row*($minH+$mrgn)
Global $aEXE[$aIniSec[0]-1][3]
$Bw=Int(($GuiW-$mrgn)/$row)
$Bh=Int(($GuiH-$mrgn)/($aIniSec[0]-1)*$row)
 
While $Bw-$mrgn < $minW
    $mrgn-=1
    $Bw=Int(($GuiW-$mrgn)/$row)
    $Bh=Int(($GuiH-$mrgn)/($aIniSec[0]-1)*$row)
    If $mrgn = 0 Then ExitLoop
WEnd
While $Bh-$mrgn < $minH
    $mrgn-=1
    $Bw=Int(($GuiW-$mrgn)/$row)
    $Bh=Int(($GuiH-$mrgn)/($aIniSec[0]-1)*$row)
    If $mrgn = 0 Then ExitLoop
WEnd
 
$GuiW=$Bw*$row+$mrgn
$GuiH=$Bh*$col+$mrgn
 
GUICreate($GuiName, $GuiW, $GuiH)
If $icon<>"" And FileExists($icon) Then GUISetIcon($icon)
If $font<>"" Then GUISetFont($font)
$Nrow=0
$d=0
For $i = 1 To $aIniSec[0]
    If $aIniSec[$i] = 'gui' Then ContinueLoop
    $aEXE[$d][0]=GUICtrlCreateButton(IniRead($Ini, $aIniSec[$i], 'name', '-'), $mrgn+$Bw*$Nrow, $mrgn+($d-$Nrow*$col)*$Bh, $Bw-$mrgn, $Bh-$mrgn)
    $GuiTmp=IniRead($Ini, $aIniSec[$i], 'hint', '')
    If $GuiTmp<>'' Then GUICtrlSetTip($aEXE[$d][0], $GuiTmp)
    $aEXE[$d][1]=IniRead($Ini, $aIniSec[$i], 'exe', '')
    $aEXE[$d][2]=IniRead($Ini, $aIniSec[$i], 'arg', '')
    If IsInt(($d+1)/$col) Then $Nrow=($d+1)/$col
    $d+=1
Next
 
GUISetState()
 
While 1
    Sleep(10)
    $msg = GUIGetMsg()
    For $i = 0 To $aIniSec[0]-2
        If $msg = $aEXE[$i][0] Then ShellExecute($aEXE[$i][1], $aEXE[$i][2])
    Next
    If $msg = -3 Then Exit
WEnd
 
Func _test_Ini()
    For $i = 1 To $aIniSec[0]
        Assign($aIniSec[$i]&'_3j5d2f8k_', Eval($aIniSec[$i]&'_3j5d2f8k_')+1, 1)
        If Eval($aIniSec[$i]&'_3j5d2f8k_') = 2 Then
            MsgBox(0, 'Ошибка', 'Повторилось имя секции "'& $aIniSec[$i]&'"'&@CRLF&'Необходимо исправить Launcher.ini')
            Exit
        EndIf
    Next
EndFunc

Всего записей: 4414 | Зарегистр. 03-05-2006 | Отправлено: 11:40 01-11-2010 | Исправлено: AZJIO, 19:29 02-11-2010
   

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Программы » AutoIT (Часть 3)
gyra (23-01-2020 10:51): AutoIT (Часть 4)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru