Как прописать ключи запуска для ярлыка

Ответить
Аватара пользователя
anton2887

Как прописать ключи запуска для ярлыка

Сообщение anton2887 »

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

Re: Как прописать ключи запуска для ярлыка

Сообщение anton2887 »

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

Re: Как прописать ключи запуска для ярлыка

Сообщение Iska »

На пользовательском рабочем столе. Имя ярлыка 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

Re: Как прописать ключи запуска для ярлыка

Сообщение Iska »

Цитата anton2887:



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




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



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



Код:

Код: Выделить всё

"instspeedfan452.exe" /S

В общем и целом это может выглядеть примерно так:



Скрытый текст

[spoiler]Код:
[/spoiler]

Код: Выделить всё

#pragma compile(ExecLevel, requireAdministrator)
#pragma compile(x64, false)
#include 
#include 
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

Re: Как прописать ключи запуска для ярлыка

Сообщение anton2887 »

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

Re: Как прописать ключи запуска для ярлыка

Сообщение anton2887 »

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

Re: Как прописать ключи запуска для ярлыка

Сообщение anton2887 »

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

Re: Как прописать ключи запуска для ярлыка

Сообщение anton2887 »

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

Re: Как прописать ключи запуска для ярлыка

Сообщение -TRM- »

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

Вернуться в «AutoIt»