Тема: Запис програми в AutoRun
Підскажіть хто знає як зробити так, щоб при відкритті програми вона копіювалась на локальний диск і при цьому завантажувалась в AutoRun
Ви не увійшли. Будь ласка, увійдіть або зареєструйтесь.
Ласкаво просимо вас на україномовний форум з програмування, веб-дизайну, SEO та всього пов'язаного з інтернетом та комп'ютерами.
Будемо вдячні, якщо ви поділитись посиланням на Replace.org.ua на інших ресурсах.
Для того щоб створювати теми та надсилати повідомлення вам потрібно Зареєструватись.
Український форум програмістів → C++ → Запис програми в AutoRun
Для відправлення відповіді ви повинні увійти або зареєструватися
Підскажіть хто знає як зробити так, щоб при відкритті програми вона копіювалась на локальний диск і при цьому завантажувалась в AutoRun
Насмілюсь поцікавитись а) де знаходиться програма до запуску і б) нащо її взагалі копіювати?
Трояна пишете, roctik1996?
Щоб скопіювати файл, треба спочатку отримати шлях до поточного виконуваного файлу - дивіться функцію GetModuleFileName. Автозапуск робиться додаванням ключа в реєстр (HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run)
Трояна пишете, roctik1996?
Щоб скопіювати файл, треба спочатку отримати шлях до поточного виконуваного файлу - дивіться функцію GetModuleFileName. Автозапуск робиться додаванням ключа в реєстр (HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run)
Рибак рибака...
та вот хотів би щось таке зробити ))))
ну щоб компютер заблокувало, а для того спочатку потрібно щоб неможна було закрити(це я продумав))))
а вот в автозапуск ніяк неможу додати і скопіювати її
ну програма поки що на робочому столі...
Трояна пишете, roctik1996?
Щоб скопіювати файл, треба спочатку отримати шлях до поточного виконуваного файлу - дивіться функцію GetModuleFileName. Автозапуск робиться додаванням ключа в реєстр (HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run)
Ну одногрупників ''люблю я дуже'')))))
хотілось би прикальнутись з них
roctik1996
Як напишете програму - скиньте сюди (джерельні коди звісно)
ну як напишу то скину))
Ще б я не побачив мій рідний індійський прапор.
Ну я взагалі-то про те, як швидко ви виявили троянописця...
Ну я взагалі-то про те, як швидко ви виявили троянописця...
Я на форумі і антивірусника виявив, але не скажу хто. До речі, виявився дивовижно чемною і непомітною людиною. На інших бордах їх одразу помітно, бо косить їх манія величі, а коли мова заходить про антивіруси, то вони починають вихваляти своє болотце.
ось знайшов я такий код але не паше
на іншому форумі сказали це тому що в мене 64-біт а той код на 32 норм паше
TRegistry *reg = new TRegistry();
reg->RootKey=HKEY_CURRENT_USER;
reg->OpenKey("Software\\Microsoft\\Windows\\CurrentVersion\\Run",true);
reg->WriteString("Ім'я файлу","Адреса до файлу");
reg->CloseKey();
Що 64 біт? Компілюєте в 64 біт? Ваша ОС 64 біт?
Насправді дурня то все, для вашого завдання Delphi забагато, я б використовував Nullsoft Scriptable Install System.
Що 64 біт? Компілюєте в 64 біт? Ваша ОС 64 біт?
ОС 64-біт в мене
roctik1996
Коли ви нарешті книжку з Delphi відкриєте. В стрічковому типі екранізація бекслешів не потрібна, тобто ви зідрали приклад роботи компоненти в одному місці, а шлях до гілки реєстру з приклада на С++. Пишіть просто "Software\Microsoft\Windows\CurrentVersion\Run"
Пишіть просто "Software\Microsoft\Windows\CurrentVersion\Run"
та було спочатку так
потім в гуглі знайшов інакше але ні це ні інше не працює
да, воно компілює і програма запускається але вона не записується в реєстр
win vista+ ? - UAC? - то треба права адміна запросити.
Я не бачу, щоб ви вказували права на запис. Для цього треба передати в конструктор TRegistry значення KEY_WRITE або KEY_ALL_ACCESS.
Крім того, 64-бітна вінда перенаправляє 32-бітні проги у гілку Wow6432Node. Можливо через це у вас не працює. Спробуйте передати в конструктор іще й KEY_WOW64_64KEY.
в мене получилось
як і обіцяв ось код
#include <Registry.hpp>
.........................
TRegistry *reg = new TRegistry();
reg->RootKey=HKEY_LOCAL_MACHINE;
reg->OpenKey("Software\\Microsoft\\Windows\\CurrentVersion\\Run",true);
reg->WriteString("Назва","повна адреса до файлу");
reg->CloseKey();
То у вас Борланд С++, а я чомусь сплутав з Дельфі. То компоненти мене затуркали.
да в мене Borland C++ Builder
видалення з реєстру
TRegistry *reg = new TRegistry();
reg->RootKey=HKEY_LOCAL_MACHINE;
reg->OpenKey("Software\\Microsoft\\Windows\\CurrentVersion\\Run",true);
reg->DeleteValue("Блокнот");
reg->CloseKey();
delete reg;
Для відправлення відповіді ви повинні увійти або зареєструватися