Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Проблема с автозагрузкой

841
18 сентября 2007 года
_nic
199 / / 29.07.2006
Ради интереса решил немного поэксперементировать с реестром точнее с его частью HKEY_CURRENT_USERSoftware\Microsoft\Windows\CurrentVersion\Run
Только вот споткнулся на RegQueryValueEx оно почему то всегда не возращает ERROR_SUCCESS :( .Тыкал сразу же после этой функции GetLastError, и получил код 126 ,если верить этому http://msdn2.microsoft.com/en-us/library/ms681382.aspx то это значит:"ERROR_MOD_NOT_FOUND The specified module could not be found."(Кто б ещё обьяснил что это за модуль такой)
Код:
#include <windows.h>
#include <conio.h>
#include <iostream.h>
#include <stdio.h>
#include <string.h>
void test(void)
{
HKEY key;
char dat[300];
DWORD type=REG_SZ;
DWORD size=sizeof(DWORD);
char  dbf[400];
char *patch="Software\\Microsoft\\Windows\\CurrentVersion\\Run";
strcpy(dbf,"C:\\test\\test.exe");
if(RegOpenKeyEx(HKEY_CURRENT_USER,patch,NULL,KEY_ALL_ACCESS,&key)==ERROR_SUCCESS)
{
if(RegQueryValueEx(key,"test",NULL,&type,(byte*)&dat,&size)!=ERROR_SUCCESS)
{
cout<<GetLastError();
RegSetValueEx(key,"test",NULL,REG_SZ,(PBYTE)dbf,strlen(dbf));
}
}
}
main()
{
test();
getch();
}
602
21 сентября 2007 года
KPI Student
265 / / 16.12.2006
Только что удалил твою тест.ехе из автозапуска.
Перед выполнением записи в реестр обнуляй статус ошибки, чтобы быть уверенным, что The specified module could not be found именно в этом участке программы а не на 3 килобайта выше.

SetLastError(0); // дальше запись в реестр

P.S. Желание окружающих разбирать твой код прямо пропорционально степени форматированности этого кода.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог