Автозагрузка программы

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Source
Постоялец
Постоялец
 
Сообщения: 351
Зарегистрирован: 04.09.2007 (Вт) 11:21

Автозагрузка программы

Сообщение Source » 31.12.2007 (Пн) 10:43

В проге для автозагрузки прописано:
Код: Выделить всё
Set Reg = CreateObject("WScript.Shell")
Reg.RegWrite "HKLM\Software\Microsoft\Windows\CurrentVersion\Run\MyPrg", Path
при смене учётной записи пользователя вылетает ошибка - Неверный корень "HKLM\Software\Microsoft\Windows\CurrentVersion\Run\MyPrg"
почему?

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 31.12.2007 (Пн) 10:48

А если третьим параметром все-таки дописать ', "REG_SZ"'?
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

Source
Постоялец
Постоялец
 
Сообщения: 351
Зарегистрирован: 04.09.2007 (Вт) 11:21

Сообщение Source » 31.12.2007 (Пн) 11:25

всё та же ошибка:
Run-time error '-2147024891 (80070005)':
Неверная ссылка на корень в разделе реестра "HKLM\Software\Microsoft\Windows\CurrentVersion\Run\MyPrg
программа запускается под админом, переход на юзера

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 31.12.2007 (Пн) 14:40

Быть может, у тебя Vista? Там ключ HKLM по умолчанию недоступен.

Вероятное решение:

MSDN писал(а):When you call the RegOpenKeyEx function, the system checks the requested access rights against the key's security descriptor. If the user does not have the correct access to the registry key, the open operation fails. If an administrator needs access to the key, the solution is to enable the SE_TAKE_OWNERSHIP_NAME privilege and open the registry key with WRITE_OWNER access.
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

Saturn.65
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 543
Зарегистрирован: 13.10.2006 (Пт) 18:46

Re: Автозагрузка программы

Сообщение Saturn.65 » 31.12.2007 (Пн) 16:44

Source писал(а):В проге для автозагрузки прописано:
Код: Выделить всё
Set Reg = CreateObject("WScript.Shell")
Reg.RegWrite "HKLM\Software\Microsoft\Windows\CurrentVersion\Run\MyPrg", Path
при смене учётной записи пользователя вылетает ошибка - Неверный корень "HKLM\Software\Microsoft\Windows\CurrentVersion\Run\MyPrg"
почему?

У тебя не указан путь к папке с программой.
надо так:
Код: Выделить всё
Private Sub Form_Load()
Set Reg = CreateObject("WScript.Shell")
Reg.RegWrite "HKLM\Software\Microsoft\Windows\CurrentVersion\Run\proga", "C:\Program Files\Myprogs\myprog.exe"
End Sub
Главное, ребята, сердцем не стареть...

Source
Постоялец
Постоялец
 
Сообщения: 351
Зарегистрирован: 04.09.2007 (Вт) 11:21

Сообщение Source » 31.12.2007 (Пн) 17:16

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


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 69

    TopList  
cron