1

Тема: АХК: добавление в автозагрузку

Всем привет. Вопрос такой уважаемые знатоки:
Как в ахк сделать авто добавление этого ахк в автозагрузку при первом запуске
и удаление по нажатию "End". Если кто нибудь может сделать с меня плюха.

Если можно вопрос в вопросе задам.

АХК добавился в авто загрузку. После запуска Windows (любого с любым пользователем) программа открывается и как сделать так чтобы он себя из трея скрывала ?!

P.S Тема уже была но там как-то не понятно.

Покумекаем о делах наших скорбных.

2 (изменено: stealzy, 2018-01-13 16:31:44)

Re: АХК: добавление в автозагрузку

; Menu Tray, NoIcon
Menu Tray, NoStandard
Menu Tray, Add, % AutoRun("MenuIni"), AutoRun
Menu Tray, Add, Выход, _Exit

IniRead FirstRun, % A_ScriptName ".ini", Pref, FirstRun, 1
If FirstRun
	IniWrite % AutoRun("On"), % A_ScriptName ".ini", Pref, FirstRun
Return

End::AutoRun("Off")
Esc::
_Exit:
	ExitApp

AutoRun(p:="Toggle") {
	static tAdd := "Добавить в автозагрузку", tRem := "Убрать из автозагрузки"
	ShortcutPath := A_StartupCommon "\" A_ScriptName ".lnk"

	If e:=FileExist(ShortcutPath) {
		FileGetShortcut % ShortcutPath, linkTarget,, linkParam
		If (linkTarget != A_ScriptFullPath)
			FileCreateShortcut % A_ScriptFullPath, % ShortcutPath, "%A_ScriptDir%"
			; If AHK not install - FileCreateShortcut "%A_AHKPath%", % ShortcutPath, "%A_ScriptDir%", "%A_ScriptFullPath%"
	}

	If (p = "MenuIni")
		Return e ? tRem : tAdd

	If e {
		If (p != "On")
			FileDelete % ShortcutPath
		Else
			ErrorLevel := true
	}
	Else {
		If (p != "Off")
			FileCreateShortcut % A_ScriptFullPath, % ShortcutPath, "%A_ScriptDir%"
		Else
			ErrorLevel := true
	}

	If Not ErrorLevel
		Menu Tray, Rename, % e ? tRem : tAdd, % e ? tAdd : tRem
}

3

Re: АХК: добавление в автозагрузку

А можешь пожалуйста описать что за что отвечает, и как скрыть иконку запускаемого приложения в трее. stealzy

Покумекаем о делах наших скорбных.

4

Re: АХК: добавление в автозагрузку

Где иконка скрывается нашел, спасибо огромное. Можешь описать что за что отвечает, чтобы я понимал что и куда вставляю. stealzy

Покумекаем о делах наших скорбных.

5 (изменено: stealzy, 2018-01-13 17:57:17)

Re: АХК: добавление в автозагрузку

Без меню в трее:

#NoTrayIcon
IniRead FirstRun, % A_ScriptName ".ini", Pref, FirstRun, 1
If FirstRun
	IniWrite % AutoRun("On"), % A_ScriptName ".ini", Pref, FirstRun
Run explorer %A_StartupCommon%
Return

End::AutoRun("Off")
Home::AutoRun("On")
Tab::AutoRun("Toggle")
Esc::ExitApp

AutoRun(p) {
	ShortcutPath := A_StartupCommon "\" A_ScriptName ".lnk"

	If (p = "On")
		FileCreateShortcut % A_ScriptFullPath, % ShortcutPath, "%A_ScriptDir%"
	Else If (p = "Off")
		FileDelete % ShortcutPath
	Else If (p = "Toggle")
		FileExist(ShortcutPath) ? AutoRun("Off") : AutoRun("On")
}

6 (изменено: Vicoriyan, 2018-04-19 23:36:33)

Re: АХК: добавление в автозагрузку

Такая проблема. При ручном запуске все библиотеки и внешние файлы подгружаются нормально. Когда происходит автозапуск, ошибка загрузки библиотек и внешних файлов.
Прописывал:

SetWorkingDir % A_ScriptDir

Не помогает. Прописывать в #Include полный путь - не вариант.
Есть какие-то другие варианты?

7 (изменено: teadrinker, 2018-04-20 18:43:46)

Re: АХК: добавление в автозагрузку

Если внешние файлы находятся в папке скрипта, попробуйте так:

#Include %A_ScriptDir%
#Include MyScript.ahk
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

8

Re: АХК: добавление в автозагрузку

teadrinker Спасибо. Работает.