Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Problem z dodaniem programu do rejestru

Ostatnio zmodyfikowano 2014-09-06 13:27
Autor Wiadomość
Szustarol
Temat założony przez niniejszego użytkownika
Problem z dodaniem programu do rejestru
» 2014-09-06 12:20:55
Witam, próbuję dodać program do rejestru, znalazłem gdzieś taki kod:
C/C++
#include <iostream>
#include <windows.h>
#include <conio.h>

bool zainstaluj( char * miejsce )
{
    /* DODAWANIE DO REJESTRU */
    HKEY klucz;
    LONG Wynik;
    DWORD Nowy;
    const BYTE * lpData =( const BYTE * ) "C:\\Users\\Karol\\Documents\\autostart.exe";
    Wynik = RegCreateKeyEx( HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Run", 0, 0, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, 0, & klucz, & Nowy );
    if( Wynik == ERROR_SUCCESS )
    {
        RegSetValueEx( klucz, "autostart", 0, REG_SZ, lpData, 256 );
        RegCloseKey( klucz );
    }
    else
    {
        return false;
    }
    return true;
}


int main()
{
    bool powodzenie = zainstaluj( "C:\\Users\\Karol\\Documents\\autostart.exe" );
    std::cout << powodzenie;
    getch();
}
Z tego co widzę, zwraca jedynkę, więc teoretycznie powinno działać, jednak w msconfig nie widać, że dodał się program

EDIT: czy to możliwe, że zamiast current machine powinienem dać local machine?


EDIT: Ogólnie jak patrze w rejestr jest on tam dodany do autostartu
ale w msconfig go nie ma i przy starcie systemu tez sie nie uruchamia
P-116665
DejaVu
» 2014-09-06 12:41:17
P-116667
Monika90
» 2014-09-06 13:27:01
C/C++
RegSetValueEx( klucz, "autostart", 0, REG_SZ, lpData, 256 );
6 argument to ma być rozmiar danych w bajtach, a nie jakaś liczba którą wziąłeś z sufitu.

C/C++
bool zainstaluj( char * miejsce )
zmień to na
C/C++
bool zainstaluj( const char * miejsce )
P-116670
« 1 »
  Strona 1 z 1