Eigenes Programm automatisch starten und verstecken
-
Oder kann ich da einfach in mein code
RegCreateKeyEx(HKEY_LOCAL_MACHINE,"Test",0,0,REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,NULL,&hkey,0);reinschreiben ??
-
Wenn der Admin wenig Ahnung hatte funktioniert evtl. sogar noch regedt32

Ansonsten sollte es über dein Programm direkt wohl gehen - es sei denn dein User hat überhaupt keine Schreibrechte auf diesen Schlüssel (was ich eigentlich nicht vermute)Dein geposteter Code reicht aber nicht aus! Du musst erst den Schlüssel öffnen, dann deinen Wert anlegen und dann wieder schließen - beim Öffnen darauf achten nicht unnötige Rechte anzugeben, da dadurch die Chance sinkt, dass es funktioniert

-
Hi.. schreibe gerade aus der Schule...
Du hast recht...ich habe keine Rechte auf HKEY_LOCAL_MACHINE aber ich kann auf RegEdt32 zugreifen und Werte setzten...
Name | Type | Data
Da steht HKEY_LOCAL_MACHINE | REG_SZ | 0,0,606,358,2,439Welche Werte muss ich setzten damit ich die Rechte auf HKEY_LOCALE_MACHINE habe...??
Soso
-
Hast Du es denn auch mit KEY_WRITE anstatt KEY_ALL_ACCESS probiert?
KEY_ALL_ACCESS schlägt eher fehl als KEY_WRITE!
-
Ich hab ein screenshot gemacht aber wie kann man das hier freigeben....??
naja das mit key..dings hab ich nicht gefunden nur Key | REG_SZ | 1,0,3,4,2
-
Ich bezog mich auf das hier:
Soso schrieb:
Oder kann ich da einfach in mein code
RegCreateKeyEx(HKEY_LOCAL_MACHINE,"Test",0,0,REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,NULL,&hkey,0);reinschreiben ??
-
Achso das hast du gemeint....
Aber weißt du zufällig welchen wert man setzten muss um schreibrechte zu haben...
Soso
-
Ich habe es geschafft es ins Autostart einzutragen aber gibt es eine möglichkeit das Programm durch regedit zu verstecken...???
Soso
-
Das mit dem verstecken des Fensters habe ich jetz so gelöst:
#include <stdio.h> #include <windows.h> void main () { HWND hWnd = FindWindow("ConsoleWindowClass", NULL); ShowWindow(hWnd, SW_HIDE); int fr,wh; for(wh=200;wh>0;wh--) { Sleep(60000); for(fr=1;fr<=5000;fr+=10) { Beep(fr,10); } for(;fr>0;fr-=10) { Beep(fr,10); } } }Was ich jetzt doch lieber machen würde ist...das ich das Programm auch ins Run der Registry eintragen kann...ich habe leider keine Schreibrechte auf HKEY_LOCAL_MACHINE aber auf den Unterordner von HKEY_CURRENT_USER auf RegEdt32
Soso
-
Ich möchte nun dass sich mein Programm(als *.exe) in die Registry eintragt unter HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
leider habe ich aber nicht die Rechte auf die
HKEY_LOCAL_MACHINE\ zuschreiben, aber ich hab die Rechte auf HKEY_CURRENT_USER\Software\Microsoft\RegEdt32 zuschreiben und in diesem
Ordner sind alle Keys für die Ordner eingetragen und mit verschiedenen Werten wie:
Name | Typ | Wert
HKEY_CLASSES_ROOT
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE | REG_SZ | 0,0,606,358, die letzten 2 hab ich vergessen aber bei jedem Key steht 0,0,606 und 358 als Wert aber welchen davon muss ich ändern damit ich schreibrechte habe ??
HKEY_USERS
HKEY_CURRENT_CONFIGSo ungefähr sicht es im RegEdt32 Ordner aus...

-
Es würde mich sehr wundern wenn man sich so einfach Schreibrechte beschaffen könnte.
Wenn die Windows-Programmierer ein wenig nachgedacht haben, werden sie die Rechte nicht in einem öffentlichen Schlüssel speichern. Die Werte, die du siehst, sind vermutlich nur Anzeige-Optionen für regedit, z.B. welche Schlüssel aufgeklappt sind.
Die Rechte kannst du dir ohne Admin-Passwort höchstwahrscheinlich nicht beschaffen (von Festplatte ausbauen oder von CD booten mal abgesehen).
-
Aha....
Aber was bedeuten dann die Werte 606 und 358... und es hat mich nur stutzig gemacht das da die "Root-Ordner" als string-Key eingetragen waren...bei meinem PC ist das nicht so da stehen andere Keys drinnen...THX Soso