Автор Тема: [Реестр] Автозагрузка и Автозапуск скрипта при старте Windows  (Прочитано 17939 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Guezt Gutsy [?]

  • Продвинутый
  • ***
  • Сообщений: 335
  • Репутация: 81
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
AutoIt: 3.3.6.1
Версия: 1.2

Категория: Администратирование, Автоматизация, Вспомогательные функции, Система / Реестр

Описание: легко и быстро добавляет или удаляет ваш скрипт с автозагрузки Windows

Код/Пример:
(нажмите для показа/скрытия)
UDF:  AutoRun.au3
История версий: 1.0-1.2
(нажмите для показа/скрытия)

Автор(ы): Guezt Gutsy
« Последнее редактирование: Январь 08, 2017, 11:27:58 от Guezt Gutsy »

Русское сообщество AutoIt


Оффлайн madmasles [?]

  • Глобальный модератор
  • *
  • Сообщений: 7790
  • Репутация: 2317
  • Пол: Мужской
  • Награды За модерирование форума
    • Награды
  • Версия AutoIt: 3.3.x.x
Guezt Gutsy
Обычно я скрипты в автозагрузку добавляю с ключами, а у Вас такой возможности нет.  :(
Еще меня смущает эта строка:
Код: AutoIt [Выделить]
;...
RegRead($iMethod & "\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", String($sName)) = "" <> @ScriptFullPath Then
;...

« Последнее редактирование: Февраль 15, 2011, 00:46:45 от madmasles »

Оффлайн Guezt Gutsy [?]

  • Продвинутый
  • ***
  • Сообщений: 335

  • Автор темы
  • Репутация: 81
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
madmasles
Код: AutoIt [Выделить]
= "" <>

- вот же я написал ))) спасибо!

$iMethod по умолчанию равно 0 и добаляет для текущего пользователя(HKCU), если задать 1 то для всех пользователей(HCLM) (если ключ отличается от 1 то для текущего пользователя)


Добавлено: Февраль 15, 2011, 01:44:32

достаточно добавить строчку в скрипте:
Код: AutoIt [Выделить]
;...
_AutoRunAdd() ; добавить ваш скрипт в автозапуск Windows для текущего пользователя
; а
_AutoRunDel() ; удалит с Автозагрузки для текущего пользователя.
;...

или с параметрами:
Код: AutoIt [Выделить]
;...
$sName = "MyProg"
$sKey = "/key /key1 /key2"
_AutoRunAdd(1,$sName,$sKey) ; добавить ваш скрипт в автозапуск Windows для Всех пользователей
; такой ключ удаляется так:
_AutoRunDel(1,$sName) ; убрать с автозапуска Windows для Всех пользователей
;...
 

« Последнее редактирование: Июль 28, 2011, 22:30:35 от Guezt Gutsy, Причина: Объединение сообщений »

Русское сообщество AutoIt

Re: [Реестр] Автозагрузка и Автозапуск скрипта при старте Windows
« Ответ #2 Отправлен: Февраль 15, 2011, 01:06:24 »

Оффлайн Yashied [?]

  • AutoIt MVP
  • Глобальный модератор
  • *
  • Сообщений: 5379
  • Репутация: 2700
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.x.x
+1 за вклад.


Думай, прежде чем говорить.

Оффлайн madmasles [?]

  • Глобальный модератор
  • *
  • Сообщений: 7790
  • Репутация: 2317
  • Пол: Мужской
  • Награды За модерирование форума
    • Награды
  • Версия AutoIt: 3.3.x.x
Guezt Gutsy
Я точно не помню, и ради проверки не хочется создавать бесправного пользователя, но, вроде, в HKLM могут писать только админы. Может, есть смысл добавить проверку, типа
Код: AutoIt [Выделить]
;...
If Number($iMethod) <> 1 Then
    $iMethod = "HKCU"
Else
    If Not IsAdmin() Then Return SetError(1)
    $iMethod = "HKLM"
EndIf
;...

И еще. _AutoRunAdd() всегда возвращает 0, т.к. в ней не предусмотрено возвращения.
« Последнее редактирование: Февраль 15, 2011, 10:45:20 от madmasles »

Русское сообщество AutoIt

Re: [Реестр] Автозагрузка и Автозапуск скрипта при старте Windows
« Ответ #4 Отправлен: Февраль 15, 2011, 10:14:04 »

Оффлайн Guezt Gutsy [?]

  • Продвинутый
  • ***
  • Сообщений: 335

  • Автор темы
  • Репутация: 81
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Yashied
 :beer:
madmasles
Спасибо! в который раз  ;D  да действительно не возвращало, решил убрать Все SetError() заменив их просто на возврат чисел. обновил в шапке UDF  ;)

Оффлайн forfrends [?]

  • Новичок
  • *
  • Сообщений: 176
  • Репутация: 3
  • Пол: Мужской
    • Все для зароботка на автопилоте!
    • Награды
Можете мне помочь?

Вот часть кода:
Код: AutoIt [Выделить]
#include <AutoRun.au3>

$sName = @AppDataCommonDir & "\script.exe"
$sKey = "/key /key1 /key2"
_AutoRunAdd(1,$sName,$sKey)


У меня почему-то не добавляется в автозапуск если зашел в компьютер как гость или пользователь. В чем может быть причина?

Пробовал просто:
Код: AutoIt [Выделить]
RegWrite('HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run', "script.exe", "REG_SZ", @AppDataCommonDir)

но тоже не помогает
« Последнее редактирование: Апрель 14, 2011, 17:30:13 от forfrends »
Все для зароботка на автопилоте!
http://portal4you.ucoz.ru

Оффлайн Kaster [?]

  • Бритва, Бритва Оккама
  • Глобальный модератор
  • *
  • Сообщений: 4020
  • Репутация: 622
  • Пол: Мужской
  • Мой Аватар, он лучший самый
    • Награды
  • Версия AutoIt: 3.3.14.0
forfrends  [?]
Цитировать
В чем может быть причина?
надо полагать, в правах доступа
Конференция посвященная AutoIt на jabber.ru - [email protected]
Как попасть на конференцию читаем тут


Русское сообщество AutoIt

Re: [Реестр] Автозагрузка и Автозапуск скрипта при старте Windows
« Ответ #7 Отправлен: Апрель 14, 2011, 17:46:06 »

Оффлайн forfrends [?]

  • Новичок
  • *
  • Сообщений: 176
  • Репутация: 3
  • Пол: Мужской
    • Все для зароботка на автопилоте!
    • Награды
Можно как-то это обойти?

Оффлайн Kaster [?]

  • Бритва, Бритва Оккама
  • Глобальный модератор
  • *
  • Сообщений: 4020
  • Репутация: 622
  • Пол: Мужской
  • Мой Аватар, он лучший самый
    • Награды
  • Версия AutoIt: 3.3.14.0
forfrends можно запустить скрипт, предварительно запустив саму среду из под пользователя у которого есть права добавлять записи в реестр. например, если это Scite то если кликнуть на его иконку ПКМ, то там есть запуск от имени администратора, или в таком духе.
либо можно запустить regedit через RunAs

Оффлайн forfrends [?]

  • Новичок
  • *
  • Сообщений: 176
  • Репутация: 3
  • Пол: Мужской
    • Все для зароботка на автопилоте!
    • Награды
либо можно запустить regedit через RunAs

Можно пример?
Есть один минус: если запускать от имени администратора, то нужно вводить пароль админа. Но его нет. Поэтому это может не помочь. Если конечно там можно сделать запись без ввода пароля

Оффлайн Kaster [?]

  • Бритва, Бритва Оккама
  • Глобальный модератор
  • *
  • Сообщений: 4020
  • Репутация: 622
  • Пол: Мужской
  • Мой Аватар, он лучший самый
    • Награды
  • Версия AutoIt: 3.3.14.0
forfrends
нет пароля, нет прав. но даже если и был бы, я не понимаю, о каком примере ты говоришь. какой пример я могу привести по нажиманию правой кнопки мыши на иконке редактора?

Русское сообщество AutoIt

Re: [Реестр] Автозагрузка и Автозапуск скрипта при старте Windows
« Ответ #11 Отправлен: Апрель 14, 2011, 18:34:04 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
7 Ответов
5166 Просмотров
Последний ответ Май 09, 2010, 09:08:51
от AZJIO
3 Ответов
3880 Просмотров
Последний ответ Ноябрь 05, 2010, 09:17:33
от Kaster
19 Ответов
21482 Просмотров
Последний ответ Январь 09, 2011, 19:09:32
от `p r o x y
6 Ответов
7792 Просмотров
Последний ответ Февраль 14, 2011, 16:38:40
от Kaster
0 Ответов
3271 Просмотров
Последний ответ Сентябрь 01, 2011, 13:58:14
от panda_911
6 Ответов
3308 Просмотров
Последний ответ Сентябрь 23, 2011, 01:50:58
от Kaster
7 Ответов
4425 Просмотров
Последний ответ Ноябрь 06, 2011, 19:14:12
от Dm666
10 Ответов
7030 Просмотров
Последний ответ Ноябрь 19, 2011, 01:14:38
от armenxxx1
3 Ответов
1206 Просмотров
Последний ответ Февраль 26, 2015, 00:06:08
от AZJIO
0 Ответов
269 Просмотров
Последний ответ Декабрь 18, 2017, 14:51:10
от Mute