Start wraz z systemem

0

Witam nie działa mi przypisanie do rejestru aby program uruchamiał się wraz ze startem systemu

Znalazłem oto tę funkcję:

void __fastcall TForm1::Uruchomprzystarciesystemu1Click(TObject *Sender)
{
   TRegistry& Rejestr = *new TRegistry();
   Rejestr.RootKey = HKEY_LOCAL_MACHINE;
   Rejestr.OpenKey("Software\\Microsoft\\Windows\\CurrentVersion\\Run", false);
   Rejestr.WriteString("Program Project1", "C:\Program Files\Globus\Glob.exe");
   delete &Rejestr;
}

Co zmodyfikowac i w jaki sposob ?

0

A wiesz o tym, że żeby to działało twój program musi się znajdować pod tą ścierzką? "C:\Program Files\Globus\Glob.exe"? Oczywiste ale lepiej zapytać ;)
Jeżeli jest i dalej niedziała to może ma to związek z uprawnieniami. Spróbuj:
Rejestr.RootKey = HKEY_CURRENT_USER;

0

Rejestr.RootKey = HKEY_CURRENT_USER; pomogło !!

Problem:
-Jednak stworzyłem instalke za pomocą INNO SETUP i jeśli uzytkownik zinstaluje sobei w innym miejscu niż domyslne opcja przestanie działac bo nie bedzie odnosić sie do prawidłowej ścieżki

-program jak uruchamia sie przy starcie systemu nie widzi plików tekstowych załadowanych do folderu na których opiera się program ... czyli sypie się. (Uruchamiajac normalnie wszystko gra)

Grzybu pomoż :) i dziękuje za ostatnią podpowiedź

0

Słowo kluczowe: katalog bieżący. Otwierasz pliki pewnie tak:

ifstream plik("C:\\Program Files\\Globus\\dane.txt");
// albo
ifstream plik("dane.txt");

Otwieraj:

AnsiString moj_katalog = ExtractFilePath(Application->ExeName);
// ...
AnsiString nazwa = (moj_katalog+"dane.txt");
ifstream plik(nazwa.c_str());

btw: ciekawe, że dodawanie do rejestru działa, bo nie escape'ujesz backslashy:

Rejestr.WriteString("Program Project1", "C:\Program Files\Globus\Glob.exe");
// powinno być
Rejestr.WriteString("Program Project1", "C:\\Program Files\\Globus\\Glob.exe");
0

Dziękuje Ranides, działa bo na podwójne backslashe wpadłem troszke wcześniej a ten przykład zamieściłem z googli jako schemat do rozmów o ktory się opieram :).

a jak otwierać ListBox'a ?
ListBox1->Items->LoadFromFile("\Dane1.ini");

1 użytkowników online, w tym zalogowanych: 0, gości: 1