Форум программистов, компьютерный форум CyberForum.ru

Добавление в автозагрузку - C++

Восстановить пароль Регистрация
 
Xeror
0 / 0 / 0
Регистрация: 23.02.2015
Сообщений: 105
07.09.2015, 13:42     Добавление в автозагрузку #1
Код автозагрузки:
C++
1
2
3
4
5
6
7
8
9
10
char autorun[255] = "C:\\KFX\\Project.exe";
DWORD dwtype = 0;
DWORD dwBufsize = sizeof(autorun);  
TCHAR szpath[MAX_PATH];
HKEY hKeys;
if (ERROR_SUCCESS == RegCreateKeyEx(HKEY_CURRENT_USER, L"Software\\Microsoft\\Windows\\CurrentVersion\\Run", 0, NULL, 0, KEY_ALL_ACCESS, NULL, &hKeys, NULL))
        {
            RegSetValueEx(hKeys, L"MyProgram", 0, REG_SZ, reinterpret_cast<const BYTE*>(&autorun), sizeof(autorun));
            RegCloseKey(hKeys);
        }
В автозагрузке пишет это:
C++
1
Yes HKCU:Run    MyProgram       㩃坜湩潤獷д*њеЎ†еЃњжЅІж•Єз‘Јж”®ж•ё
(Вместо пути иероглифы)

Подскажите в чем проблема
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Игорь1986
34 / 98 / 24
Регистрация: 08.09.2014
Сообщений: 844
Завершенные тесты: 1
07.09.2015, 14:05     Добавление в автозагрузку #2
Покажи скрин где пишет, пока все абстрактно
Raali
572 / 276 / 12
Регистрация: 06.07.2013
Сообщений: 917
Завершенные тесты: 1
07.09.2015, 14:09     Добавление в автозагрузку #3
Цитата Сообщение от Xeror Посмотреть сообщение
reinterpret_cast<const BYTE*>(&autorun)
здесь скорее всего ошибка

Добавлено через 46 секунд
wchar_t autorun[255] = L"C:\\KFX\\Project.exe";
RegSetValueEx(hKeys, L"MyProgram", 0, REG_SZ, autorun, sizeof(autorun));
nmcf
4311 / 3732 / 1258
Регистрация: 14.04.2014
Сообщений: 14,624
07.09.2015, 14:10     Добавление в автозагрузку #4
autorun сделай wchar_t. Всё должно быть Unicode.
Xeror
0 / 0 / 0
Регистрация: 23.02.2015
Сообщений: 105
07.09.2015, 14:12  [ТС]     Добавление в автозагрузку #5
Игорь1986,
Добавление в автозагрузку
Xeror
0 / 0 / 0
Регистрация: 23.02.2015
Сообщений: 105
07.09.2015, 14:14  [ТС]     Добавление в автозагрузку #6
Raali,

без преобразования выдает ошибку(autorun это char а там нужно BYTE)
Raali
572 / 276 / 12
Регистрация: 06.07.2013
Сообщений: 917
Завершенные тесты: 1
07.09.2015, 14:17     Добавление в автозагрузку #7
а если оставить преобразование но autorun оставить wchar_t
Xeror
0 / 0 / 0
Регистрация: 23.02.2015
Сообщений: 105
07.09.2015, 14:18  [ТС]     Добавление в автозагрузку #8
Raali,
C++
1
BYTE autorun[255] = "C:\\KFX\\Project.exe";
C++
1
RegSetValueEx(hKeys, L"MyProgram", 0, REG_SZ, autorun, sizeof(autorun));
ошибки нет но толку все равно ноль
Raali
572 / 276 / 12
Регистрация: 06.07.2013
Сообщений: 917
Завершенные тесты: 1
07.09.2015, 14:20     Добавление в автозагрузку #9
не, я про то что оставить каст в BYTE
но autorun сделать wchar_t[]
Xeror
0 / 0 / 0
Регистрация: 23.02.2015
Сообщений: 105
07.09.2015, 14:25  [ТС]     Добавление в автозагрузку #10
Raali,
C++
1
    3   IntelliSense: значение типа "const char [19]" нельзя использовать для инициализации сущности типа "wchar_t [255]"
Raali
572 / 276 / 12
Регистрация: 06.07.2013
Сообщений: 917
Завершенные тесты: 1
07.09.2015, 14:27     Добавление в автозагрузку #11
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
wchar_t autorun[255] = L"C:\\KFX\\Project.exe";
Xeror
0 / 0 / 0
Регистрация: 23.02.2015
Сообщений: 105
07.09.2015, 14:30  [ТС]     Добавление в автозагрузку #12
Raali,
Помогло))Спасибо)
Игорь1986
34 / 98 / 24
Регистрация: 08.09.2014
Сообщений: 844
Завершенные тесты: 1
07.09.2015, 14:54     Добавление в автозагрузку #13
Во 2 строке DWORD dwtype =REG_SZ;
в 8 строке RegSetValueEx(hKeys, _T("MyProgram"), 0, &dwtype, (BYTE*)autorun, &dwBufsize);
В принципе и это должно быть норм

Добавлено через 13 минут
Ах да в 1 строчке еще надо _TCHAR autorun[255] = "C:\\KFX\\Project.exe";

Добавлено через 28 секунд
Попробуй,
Avazart
 Аватар для Avazart
6904 / 5144 / 253
Регистрация: 10.12.2010
Сообщений: 22,627
Записей в блоге: 17
07.09.2015, 15:43     Добавление в автозагрузку #14
Проще и лучше создавать ярлык в папке "Автозагрузка"
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.09.2015, 16:00     Добавление в автозагрузку
Еще ссылки по теме:

Написать самый простой антивирусный сканер, который сможет найти вирус, записанный в автозагрузку C++
Добавление элемента в БД C++
C++ Добавление программы в реестр (Автозагрузку) | RegSetValueEx

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Игорь1986
34 / 98 / 24
Регистрация: 08.09.2014
Сообщений: 844
Завершенные тесты: 1
07.09.2015, 16:00     Добавление в автозагрузку #15
Ну люди разные, каждому свой флаг
Yandex
Объявления
07.09.2015, 16:00     Добавление в автозагрузку
Ответ Создать тему
Опции темы

Текущее время: 14:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru