Regestry
-
Ja, die MSDN. Anhaltspunkt: RegOpenKey().
-
hi WebFritzi!!!
danke....hmm...aber da wird das nicht so einfach erklärt hast du auch was einfacheres zur hand? wär nett....danke...mfg surf.
-
Nö. Da musst du dich selber drum kümmern. Wenn du aber Fragen hast, dann helfe ich (und sicher auch andere) gerne.
-
ok ich schau da nach....aber was muss ich da rein schreiben damit ein programm automatisch beim windowsstart gestartet wird?
-
den PATH zu deinem prog (als Zeichenfolge). Wie du das anstellst steht, wie bereits flenders gesagt hat, in der WinApi FAQ.
-
cu
-
das wirst du doch wohl noch selber hinbekommen -> Seite 2 "Registry"
-
hi..ja aber was brauch i nun alles unterschlüssel? welche werte muss ich reinschreiben??? usw.
cu surf.
-
Du fügst einfach unter HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run den Pfad zu der zu startenden Anwendung hinzu der Name ist afaik egal
-
//--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { //------Schlüssel anlegen------ String SchluesselName = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run"; HKEY rHandle; long Wert = RegCreateKeyEx(HKEY_CURRENT_USER,SchluesselName.c_str(), 0, 0, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, 0, &rHandle, 0; if (Wert != ERROR_SUCCESS) { ShowMessage("Es ist ein Fehler aufgetreten! Der Schlüssel wurde nicht geöffnet!"); return; } //------und Schließen------ RegCloseKey(rHandle); } //---------------------------------------------------------------------------
wo tu ich da den pfad für die zu startende anwendung hin?
name der datei brauch i nicht?? oder kann man a dazu tun?was ist mit HKEY_CURRENT_USER??
wenn ich benutzer a bin und dann mich mit benutzer b einlogge dann wird das nicht funktionieren? hkey_admin geht das?cu surf.
-
Wen du eh mit dem BCB arbeitest, warum nimmst du dann nicht gleich TRegistry?
-
hmm...funzt der code siehe vorher?
cu surf.
-
Hä?
-
Du hast dir den FAQ-Thread immer noch nicht angeschaut, oder
-
hab ich angeschaut!!
HKEY hKey; RegCreateKeyEx(HKEY_LOCAL_MACHINE,"Programm",0,0,REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,NULL,&hkey,0); BYTE cString[]="C:\Temp\Programm.exe"; RegSetValueEx(hKey,"Programm",0,REG_SZ,cString,strlen(cString)+1);
was sagst du dazu?
-------------------------------------------------------------------------------
info nebenbei:hab mit der msconfig da mal geguckt:
Systemstartelement Befehl
msmsgs "C:\Programme\Messenger\msms...Pfad
HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Runwie is das bei HKEY_LOCAL_MACHINE...kann ich da auch schreiben wenn ich kein admin bin oder muss ich mich als admin einloggen?
cu
-
Du hast meine Frage nicht beantwortet!!!
-
ich kenn mich mit registry nicht aus!! und tregistry sagt nur schon gar nix...
passt das nun?
-
Mach, was du willst. Wenn du dich mit deiner Entwicklungsumgebung kein Stück auskennen willst... meinetwegen. Aber schreibe einmal "TRegistry" in deinen Quelltext-Editor im C++Builder, gehe mit dem Mauszeiger darüber, klicke einmal, so dass der Cursor im Text blinkt, und drücke F1. Du wirst staunen, was da so steht. Du brauchst dann nur sowas zu schreiben:
TRegistry* reg = new TRegistry; reg->RootKey = HKEY_LOCAL_MACHINE; reg->OpenKey("Software\\Microsoft\\Windows\\CurrentVersion\\Run", false); reg->WriteString("Programm", "C:\\Temp\\Programm.exe"); reg->CloseKey(); delete reg;
-
thx für deine hilfe...........
schau mal:
das geht nicht:
http://www.tipps.delphi-source.de/system/tut20001003-2.shtml
ich bin hier nicht immer als admin eingeloggt!
was soll ich machen...???will nicht immer als admin einloggen um in die registry zu schreiben!!!!cu
-
Natürlich geht das nicht:
www.tipps.delphi-source.de schrieb:
Folgendermaßen muss man vorgehen, wenn man nur Lesezugriff haben will
Du musst schon richtig lesen. Du willst doch etwas in die Registry schreiben, also Schreibzugriff haben.