1

Тема: Запис програми в AutoRun

Підскажіть хто знає як зробити так, щоб при відкритті програми вона копіювалась на локальний диск і при цьому завантажувалась в AutoRun

2 Востаннє редагувалося quez (22.05.2014 19:44:02)

Re: Запис програми в AutoRun

Насмілюсь поцікавитись а) де знаходиться програма до запуску і б) нащо її взагалі копіювати?

3

Re: Запис програми в AutoRun

Трояна пишете, roctik19968)
Щоб скопіювати файл, треба спочатку отримати шлях до поточного виконуваного файлу - дивіться функцію GetModuleFileName. Автозапуск робиться додаванням ключа в реєстр (HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run)

Подякували: leofun011

4

Re: Запис програми в AutoRun

0xDADA11C7 написав:

Трояна пишете, roctik19968)
Щоб скопіювати файл, треба спочатку отримати шлях до поточного виконуваного файлу - дивіться функцію GetModuleFileName. Автозапуск робиться додаванням ключа в реєстр (HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run)

Рибак рибака... :)

5 Востаннє редагувалося roctik1996 (22.05.2014 20:14:34)

Re: Запис програми в AutoRun

та вот хотів би щось таке зробити ))))
ну щоб компютер заблокувало, а для того спочатку потрібно щоб неможна було закрити(це я продумав))))
а вот в автозапуск ніяк неможу додати і скопіювати її
ну програма поки що на робочому столі...

6

Re: Запис програми в AutoRun

0xDADA11C7 написав:

Трояна пишете, roctik19968)
Щоб скопіювати файл, треба спочатку отримати шлях до поточного виконуваного файлу - дивіться функцію GetModuleFileName. Автозапуск робиться додаванням ключа в реєстр (HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run)

Ну одногрупників ''люблю я дуже'')))))
хотілось би прикальнутись з них

7 Востаннє редагувалося 0xDADA11C7 (22.05.2014 20:29:59)

Re: Запис програми в AutoRun

roctik1996
Як напишете програму - скиньте сюди (джерельні коди звісно)

quez
Ще б я не побачив мій рідний індійський прапор.

Подякували: Chemist-i, leofun012

8

Re: Запис програми в AutoRun

0xDADA11C7 написав:

roctik1996
Як напишете програму - скиньте сюди (джерельні коди звісно)

ну як напишу то скину))

9

Re: Запис програми в AutoRun

0xDADA11C7 написав:

Ще б я не побачив мій рідний індійський прапор.

Ну я взагалі-то про те, як швидко ви виявили троянописця...

10

Re: Запис програми в AutoRun

quez написав:

Ну я взагалі-то про те, як швидко ви виявили троянописця...

Я на форумі і антивірусника виявив, але не скажу хто. До речі, виявився дивовижно чемною і непомітною людиною. На інших бордах їх одразу помітно, бо косить їх манія величі, а коли мова заходить про антивіруси, то вони починають вихваляти своє болотце.

11

Re: Запис програми в AutoRun

ось знайшов я такий код але не паше
на іншому форумі сказали це тому що в мене 64-біт а той код на 32 норм паше

TRegistry *reg = new TRegistry();
reg->RootKey=HKEY_CURRENT_USER;
reg->OpenKey("Software\\Microsoft\\Windows\\CurrentVersion\\Run",true);
reg->WriteString("Ім'я файлу","Адреса до файлу");
reg->CloseKey();

12

Re: Запис програми в AutoRun

Що 64 біт? Компілюєте в 64 біт? Ваша ОС 64 біт?
Насправді дурня то все, для вашого завдання Delphi забагато, я б використовував Nullsoft Scriptable Install System.

Подякували: leofun011

13

Re: Запис програми в AutoRun

0xDADA11C7 написав:

Що 64 біт? Компілюєте в 64 біт? Ваша ОС 64 біт?

ОС 64-біт в мене

14

Re: Запис програми в AutoRun

roctik1996
Коли ви нарешті книжку з Delphi відкриєте. В стрічковому типі екранізація бекслешів не потрібна, тобто ви зідрали приклад роботи компоненти в одному місці, а шлях до гілки реєстру з приклада на  С++. Пишіть просто "Software\Microsoft\Windows\CurrentVersion\Run"

15

Re: Запис програми в AutoRun

0xDADA11C7 написав:

Пишіть просто "Software\Microsoft\Windows\CurrentVersion\Run"

та було спочатку так
потім в гуглі знайшов інакше але ні це ні інше не працює
да, воно компілює і програма запускається але вона не записується в реєстр

16

Re: Запис програми в AutoRun

win vista+ ? - UAC? - то треба права адміна запросити.

17

Re: Запис програми в AutoRun

Я не бачу, щоб ви вказували права на запис. Для цього треба передати в конструктор TRegistry значення KEY_WRITE або KEY_ALL_ACCESS.
Крім того, 64-бітна вінда перенаправляє 32-бітні проги у гілку Wow6432Node. Можливо через це у вас не працює. Спробуйте передати в конструктор іще й KEY_WOW64_64KEY.

Подякували: leofun011

18

Re: Запис програми в AutoRun

в мене получилось *YAHOO*
як і обіцяв ось код

#include <Registry.hpp>
.........................
TRegistry *reg = new TRegistry();
reg->RootKey=HKEY_LOCAL_MACHINE;
reg->OpenKey("Software\\Microsoft\\Windows\\CurrentVersion\\Run",true);
reg->WriteString("Назва","повна адреса до файлу");
reg->CloseKey();
Подякували: 0xDADA11C7, leofun012

19

Re: Запис програми в AutoRun

То у вас Борланд С++, а я чомусь сплутав з Дельфі. То компоненти мене затуркали.

20 Востаннє редагувалося roctik1996 (25.05.2014 14:12:04)

Re: Запис програми в AutoRun

да в мене 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;