Dodawanie do rejestru

Jak się dodaje jakiś plik do rejestru?

a domyślnie do autostartu?

Nie istnieje coś takiego jak “dodawanie plików do rejestru”. Autostart to katalog - umieszczasz w nim skrót do aplikacji, którą chcesz uruchomić i już. Każdy użytkownik w systemie ma własny katalog + jest jeden katalog wspólny dla wszystkich (All users).

a do autostartu kodem?

Spróbuj tego.

HKEY hKey;//np HKEY_CURRENT_USER

LPCTSTR lpSubKey; //ścieżka w rejestrze

PHKEY phkResult; //uchwyt do klucza rejestru


RegOpenKey(HKEY hKey,lpSubKey,phkResult);

LPSTR program = "C:\program.exe";


RegSetValueEx(hKey,lpValueName, 0, REG_SZ, program,strlen(program));

RegCloseKey(phkResult);

W jakim języku? Napisz w jakim kontekscie jest tobie potrzebne dodawanie do autostartu? (Instalator?)

Jako uruchamianie programu typu .bat potrzebuje to do mojego antywirusa napisanego w notatniku

No to jeśli to ma być jednokrotna operacja to odpal regedit i przejdz do klucza:

HKEY_CURRENT_USER\Software\Microsoft\Windows\Current Version\Run\ i dodaj wartosc o dowolnej nazwie, a jako jej wartość podaj ścieżkę do tego .bat’a. Możesz też pokombinować z programem reg (z konsoli) i dodać na początku bat’a wstawianie takiej wartości do rejestru.

Wystarczy stworzyć odpowiedni plik .reg i wykonać polecenie regedit jakiśplik.reg by dodać plik do Rejestru.

Może się przydać:

http://4programmers.net/Z_pogranicza/Pl … _tworzenie

A jak bym chcial dodac tego bata po jego uruchomieniu do autostartu?

Dodaj na początku tego bat’a linijkę:

REG ADD HKCU\Software\Microsoft\Windows\CurrentVersion\Run /v MyApp /t REG_SZ /d %0 /f

Będzie działać, jeśli wywołasz ten plik kliknięciem, bądź wywołasz go z konsoli z pełną scieżką. Jeśli zaś wywołasz go poprzez nazwę np nazwa.bat lub po prostu ‘nazwa’ w konsoli to wtedy wstawi bzdury - nie wiem jednak jak sprawdzić takie rzeczy w bat’cie.

Wielkie dzięki ;))