Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   Как прописать ключи запуска для ярлыка (http://forum.oszone.net/showthread.php?t=325762)

anton2887 09-04-2017 15:42 2727653

Как прописать ключи запуска для ярлыка
 
Всем привет, помогите с командой для AutoIt, которая сможет прописать ключи запуска для ярлыка SpeedFan, который создается после установки на рабочем столе (/NOSMARTSCAN /NOPCISCAN). Заранее спасибо.

Iska 09-04-2017 16:07 2727666

anton2887, на каком именно Рабочем столе создаётся ярлык при установке — на Общем или Пользовательском? Какое имя носит файл ярлыка?

anton2887 09-04-2017 17:08 2727691

На пользовательском рабочем столе. Имя ярлыка SpeedFan. Я попробовал написать свой первый скрипт для автоматической установки speedFan. Когда программа устанавливается, то в папку кидаются файлы конфигурации, но мне нужно прописать ключи запуска для этой программы, чтобы она быстрее загружалась.
Код:

#RequireAdmin

AutoItSetOption('MouseCoordMode', 0)

Run(@ScriptDir & "\SpeedFan 4.52 Final.exe")

WinWaitActive("SpeedFan Setup: License Agreement")
MouseClick("primary", 376, 270, 1, 0)

WinWaitActive("SpeedFan Setup: Installation Options")
MouseClick("primary", 374, 269, 1, 0)

WinWaitActive("SpeedFan Setup: Installation Folder")
MouseClick("primary", 376, 269, 1, 0)

WinWaitActive("SpeedFan Setup: Completed")
MouseClick("primary", 377, 268, 1, 0)

FileCopy("D:\speed\speedfanevents.cfg", "C:\Program Files (x86)\SpeedFan", 0)
FileCopy("D:\speed\speedfanparams.cfg", "C:\Program Files (x86)\SpeedFan", 0)
FileCopy("D:\speed\speedfansens.cfg", "C:\Program Files (x86)\SpeedFan", 0)


Iska 09-04-2017 18:35 2727739

Цитата:

Цитата anton2887
Я попробовал написать свой первый скрипт для автоматической установки speedFan. »

Не вполне удачно попробовали. Почему "Program Files (x86)"? А если установка будет производиться на x86 ОС, тогда что?

В данном случае вообще нет никакой нужды в играх с кнопконажимательством, поскольку инсталлятор NSIS предусматривает штатный способ «тихой» установки — Common Options:
Код:

"instspeedfan452.exe" /S
В общем и целом это может выглядеть примерно так:
Скрытый текст
Код:

#pragma compile(ExecLevel, requireAdministrator)
#pragma compile(x64, false)


#include <FileConstants.au3>
#include <File.au3>


AutoItSetOption("MustDeclareVars", 1)


Local $sSourceFile = _PathFull("instspeedfan452.exe", @ScriptDir)
Local $aConfigFiles = ["speedfanevents.cfg", "speedfanparams.cfg", "speedfansens.cfg"]
Local $sFile

Local $sInstallPath


If FileExists($sSourceFile) Then
        If RunWait("""" & $sSourceFile & """ /S") = 0 Then
                $sInstallPath = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\SpeedFan", "")

                For $sFile In $aConfigFiles
                        $sSourceFile = _PathFull($sFile, @ScriptDir)

                        If FileExists($sSourceFile) Then
                                FileCopy($sSourceFile, $sInstallPath & "\")
                        Else
                                ConsoleWriteError("Can't find source file [" & $sSourceFile & "]." & @CRLF)
                        EndIf
                Next

                With ObjCreate("WScript.Shell").CreateShortcut(_PathFull("SpeedFan.lnk", @DesktopDir))
                        .Arguments = "/NOSMARTSCAN /NOPCISCAN"
                        .Save()
                EndWith
        Else
                ConsoleWriteError("Can't install SpeedFan 4.52 correctly." & @CRLF)
                Exit(2)
        EndIf
Else
        ConsoleWriteError("Can't find source file [" & $sSourceFile & "]." & @CRLF)
        Exit(1)
EndIf

Exit(0)


anton2887 09-04-2017 18:57 2727751

Это мой первый скрипт, осваиваю это дело пару дней и делаю только для собственного компьютера, использую только x64 битную систему. У меня все получилось, кроме прописи ключей в свойства ярлыка.

Iska 09-04-2017 19:03 2727754

anton2887, ясно. Тем не менее, старайтесь сразу учитывать подобные моменты. И да — MouseClick() использовать следует в совсем уж крайних случаях, когда не работает ни обработка стандартных диалогов и сообщений, ни посылка клавиш.

anton2887 09-04-2017 21:04 2727799

Спасибо Вам большое, буду учитывать на будущее, но этот язык уж очень сложно дается, хотя попробовав-стало интересно. И еще тогда можно вопрос, как вы узнали в какой именно раздел реестра нужно импортировать настройки?

Iska 09-04-2017 21:32 2727805

Установил и посмотрел. Только никакого импорта в коде нет. Простой запрос значения параметра.

-TRM- 14-06-2017 11:55 2744450

anton2887, Создание ярлыка с параметрами запуска делайте с помощью FileCreateShortcut


Время: 19:15.

Время: 19:15.
© OSzone.net 2001-