#include <GUIConstants.au3> AutoItSetOption("TrayIconHide", 1) ;скрыть в системной панели индикатор AutoIt ; начало создания окна, вкладок, кнопок. GUICreate("Создание ярлыков",408,318) ; размер окна $tab=GUICtrlCreateTab (4,5, 400,310) ; размер вкладки GUICtrlCreateTabitem ("LNK") ; имя вкладки GUICtrlCreateLabel ("Имя ярлыка:", 20,38,120,22) GUICtrlSetTip(-1, "Имя ярлыка без расширения") $NME=GUICtrlCreateInput ('', 145,38,240,20) GUICtrlCreateLabel ("Создать ярлык в папке:", 20,71,120,22) GUICtrlSetTip(-1, "Можно указать прямой путь") $DIR=GUICtrlCreateCombo ('', 145,67,240,18) GUICtrlSetData(-1,'текущая|быстрый запуск|рабочий стол|SendTo|главное меню', 'текущая') GUICtrlCreateLabel ("Рабочая папка:", 20,100,120,22) GUICtrlSetTip(-1, "Папка, которая становится текущей"&@CRLF&"для стартующей программы") $WRK=GUICtrlCreateInput ('', 145,100,240,20) GUICtrlCreateLabel ("Полный путь к файлу: *", 20,130,120,22) GUICtrlSetTip(-1, "Путь к файлу запуска (Объект)") $EXE=GUICtrlCreateInput ('', 145,130,240,20) GUICtrlCreateLabel ("Параметры запуска:", 20,160,120,22) GUICtrlSetTip(-1, "Аргумент, ключ") $ARG=GUICtrlCreateInput ('', 145,160,240,20) GUICtrlCreateLabel ("Комментарий:", 20,190,120,22) GUICtrlSetTip(-1, "Подробное описание к программе"&@CRLF&"будущая всплывающая подсказка") $DSC=GUICtrlCreateInput ('', 145,190,240,20) GUICtrlCreateLabel ("Иконка ярлыка:", 20,220,120,22) GUICtrlSetTip(-1, "Если не указана, то по умолчанию"&@CRLF&" первая иконка стартового файла.") $ICO=GUICtrlCreateInput ('', 145,220,240,20) GUICtrlCreateLabel ("Номер иконки:", 20,250,120,22) GUICtrlSetTip(-1, "Указывается для dll, по умолчанию"&@CRLF&"используется первая (отсчёт с нуля)") $NMR=GUICtrlCreateInput ('', 145,250,240,20) $read_lnk=GUICtrlCreateButton ("Открыть", 220,280,70,22) GUICtrlSetTip(-1, "Открыть ярлык для чтения его данных"&@CRLF&"и автозаполнения полей") $create_lnk=GUICtrlCreateButton ("Создать", 300,280,70,22) GUICtrlSetTip(-1, "Создать ярлык.") GUICtrlCreateTabitem ("") ; конец вкладок GUISetState () While 1 $msg = GUIGetMsg() Select Case $msg = $create_lnk $EXE1=GUICtrlRead ($EXE) If $EXE1<>'' Then $aPath = StringRegExp($EXE1, "(^.*)\\(.*)$", 3) $EXENAME = StringTrimRight($aPath[1], 4) ; чтение параметров из полей ввода $NME1=GUICtrlRead ($NME) If $NME1='' Then $NME1=$EXENAME $DIR1=GUICtrlRead ($DIR) If $DIR1='текущая' Then $DIR1=@ScriptDir If $DIR1='быстрый запуск' Then $DIR1=@AppDataDir&'\Microsoft\Internet Explorer\Quick Launch' If $DIR1='рабочий стол' Then $DIR1=@UserProfileDir&'\Рабочий стол' If $DIR1='SendTo' Then $DIR1=@UserProfileDir&'\SendTo' If $DIR1='главное меню' Then $DIR1=@UserProfileDir&'\Главное меню\Программы' If StringMid($DIR1, 3, 1)=':' Then $DIR1=$DIR $WRK1=GUICtrlRead ($WRK) If $WRK1='' Then $WRK1=$aPath[0] $ARG1=GUICtrlRead ($ARG) $DSC1=GUICtrlRead ($DSC) $ICO1=GUICtrlRead ($ICO) $NMR1=GUICtrlRead ($NMR) $LNK1=$DIR1&'\'&$NME1 FileCreateShortcut($EXE1,$LNK1&'.lnk',$WRK1,$ARG1,$DSC1,$ICO1,'',$NMR1) Else MsgBox(0, "Ошибка", "Минимум параметров - это полный путь к файлу запуска") EndIf Case $msg = $read_lnk $Path_lnk = FileOpenDialog("Выбор файла конфигурации сети.", @WorkingDir & "", "Ярлык (*.lnk)", 1 + 4 ) If @error Then ContinueLoop EndIf $aLNK = FileGetShortcut($Path_lnk) $aPathLNK = StringRegExp($aLNK[0], "(^.*)\\(.*)$", 3) $NAME = StringTrimRight($aPathLNK[1], 4) GUICtrlSetData($NME,$NAME) GUICtrlSetData($WRK,$aLNK[1]) GUICtrlSetData($ARG,$aLNK[2]) GUICtrlSetData($DSC,$aLNK[3]) GUICtrlSetData($ICO,$aLNK[4]) GUICtrlSetData($NMR,$aLNK[5]) GUICtrlSetData($EXE,$aLNK[0]) Case $msg = -3 ExitLoop EndSelect WEnd |