1

Тема: AHK: Как выполнять подпрограмму скрипта только при автозагрузке?

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

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

2

Re: AHK: Как выполнять подпрограмму скрипта только при автозагрузке?

В ярлыке передавать определённый параметр, в скрипте проверять.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

3

Re: AHK: Как выполнять подпрограмму скрипта только при автозагрузке?

serzh82saratov пишет:

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

1. Создать файл/ключ реестра с именем, содержащем информацию о времени запуска системы. Это первое что пришло на ум, придётся не только проверять наличие объекта, но и искать и удалять(переименовывать) старые.
2. Создать файл с фиксированным именем и вручную установить дату создания или модификации равной времени старта системы.
3. Создать файл с фиксированным именем и пометить его на удаление флагом MOVEFILE_DELAY_UNTIL_REBOOT или через реест(на самом деле это одно и тоже). Такие файлы будут удалены системой до запуска любых программ пользовательского режима.

4

Re: AHK: Как выполнять подпрограмму скрипта только при автозагрузке?

teadrinker пишет:

В ярлыке передавать определённый параметр, в скрипте проверять.

Точно! Несообразил.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

5

Re: AHK: Как выполнять подпрограмму скрипта только при автозагрузке?

Александр_ пишет:

1. Создать файл/ключ реестра с именем, содержащем информацию о времени запуска системы. Это первое что пришло на ум, придётся не только проверять наличие объекта, но и искать и удалять(переименовывать) старые.
2. Создать файл с фиксированным именем и вручную установить дату создания или модификации равной времени старта системы.
3. Создать файл с фиксированным именем и пометить его на удаление флагом MOVEFILE_DELAY_UNTIL_REBOOT или через реест(на самом деле это одно и тоже). Такие файлы будут удалены системой до запуска любых программ пользовательского режима.

Спасибо, это интересно.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

6

Re: AHK: Как выполнять подпрограмму скрипта только при автозагрузке?

Или проверять при старте скрипта A_tickcount и выполнять подпрограмму при значении меньше условно заданного

7

Re: AHK: Как выполнять подпрограмму скрипта только при автозагрузке?

creature.ws пишет:

Или проверять при старте скрипта A_tickcount и выполнять подпрограмму при значении меньше условно заданного

Про это думал в первую очередь. Но как это значение "уловить", ещё и на разных ПК.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

8

Re: AHK: Как выполнять подпрограмму скрипта только при автозагрузке?

creature.ws пишет:

Или проверять при старте скрипта A_tickcount и выполнять подпрограмму при значении меньше условно заданного

У меня компьютер полностью загружается за 15-25 секунд, а у моей сестры ноут грузится от 2 до 5 минут. Т.е. такой скрипт в принципе не сможет работать не только на обеих машинах, но и на одной плохо настроенной/перегруженной или просто устаревшей.

9

Re: AHK: Как выполнять подпрограмму скрипта только при автозагрузке?

Вариант уместен, если речь о не критичной подпрограмме и конкретном компьютере.

10

Re: AHK: Как выполнять подпрограмму скрипта только при автозагрузке?

О господи к чему эти сложности? Почему бы просто не представить скрипт с расширением .exe и не вписать бы его в msconfig ? Как сделать: win+r там пишем msconfig ,в открытом окне во второй вкладке можно указать путь к скрипту и поставить галочку, галочка будет его запускать вместе со стартом винды.

11

Re: AHK: Как выполнять подпрограмму скрипта только при автозагрузке?

Уточните, в чём заключается приемущество использование msconfig в данном случае, по сравнению с помещеним ярлыка в папку автозагрузки.

12

Re: AHK: Как выполнять подпрограмму скрипта только при автозагрузке?

исключает перезапуск скрипта

13

Re: AHK: Как выполнять подпрограмму скрипта только при автозагрузке?

Странник пишет:

исключает перезапуск скрипта

С чего это вдруг? При попытке повторного запуска системник взорвётся или выскочит BSOD?

14

Re: AHK: Как выполнять подпрограмму скрипта только при автозагрузке?

что за глупость? у меня со старта идет запуск скрипта и ничего не взрывается

15

Re: AHK: Как выполнять подпрограмму скрипта только при автозагрузке?

Странник, если хочешь пользоваться нашим форумом, используй шифт и ставь точки в конце предложений.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

16

Re: AHK: Как выполнять подпрограмму скрипта только при автозагрузке?

Я первое сообщение понял только с третьего раза, поэтому перефразирую.

Нужно дать понять скрипту, запускался ли он ранее в пределах данного сеанса пользователя.

17

Re: AHK: Как выполнять подпрограмму скрипта только при автозагрузке?

ypppu пишет:

Нужно дать понять скрипту, запускался ли он ранее в пределах данного сеанса пользователя.

ypppu, нет, нужно дать понять скрипту, запускается он из папки автозагрузки или как-то по-другому. Поэтому наиболее реальный вариант мой, имхо.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

18 (изменено: serzh82saratov, 2012-10-22 15:04:06)

Re: AHK: Как выполнять подпрограмму скрипта только при автозагрузке?

teadrinker пишет:

Поэтому наиболее реальный вариант мой

Отлично работает, и главное очень просто.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

19

Re: AHK: Как выполнять подпрограмму скрипта только при автозагрузке?

teadrinker пишет:
ypppu пишет:

Нужно дать понять скрипту, запускался ли он ранее в пределах данного сеанса пользователя.

ypppu, нет, нужно дать понять скрипту, запускается он из папки автозагрузки или как-то по-другому.

Почему нет? Я просто поставил вопрос из первого поста более корректно, а не предложил какой-то свой вариант.
По существу: да, я согласен, что запуск с ключом - очень хороший вариант.

20

Re: AHK: Как выполнять подпрограмму скрипта только при автозагрузке?

ypppu пишет:

Почему нет?

Потому, что по условиям задачи ярлык скрипта УЖЕ находится в папке автозагрузки, и нет особого смысла смотреть на задачу с другой стороны и как-то её переформулировать.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

21

Re: AHK: Как выполнять подпрограмму скрипта только при автозагрузке?

Странник пишет:

что за глупость? у меня со старта идет запуск скрипта и ничего не взрывается

Это был сарказм. Попробуй переосмыслить сказанное с учётом этой информации .

22 (изменено: ypppu, 2012-10-22 16:01:25)

Re: AHK: Как выполнять подпрограмму скрипта только при автозагрузке?

Вот именно, что запуск из папки автозагрузки происходит после авторизации пользователя, а не при запуске системы. Я не переформулировал вопрос, а подобрал правильные слова.

23

Re: AHK: Как выполнять подпрограмму скрипта только при автозагрузке?

ypppu пишет:

Вот именно, что запуск из папки автозагрузки происходит после авторизации пользователя а не при запуске системы.

Правильно, если скрипт запускается из папки автозагрузки (соответственно, после авторизации), значит этот вариант устраивает автора вопроса.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

24

Re: AHK: Как выполнять подпрограмму скрипта только при автозагрузке?

Если действие рассматриваемой части скрипта не завязано намертво с остальной его частью, я бы изначально обдумал возможность разделения на 2 скрипта.
Если рассматриваемая часть скрипта сама по себе уже оставляет какие-то следы в операционке или приложении, я бы задумался, нельзя ли без лишних сложностей отследить одно из них.
А еще, в справке про Reload сказано, что при перезагрузке скрипта SetWorkingDir не работает, а это наводит на мысль о SetWorkingDir + ErrorLevel. Проверять очень, очень, очень некогда, уж извините.

BIG BROTHER IS WATCHING YOU.