Eigenes Programm automatisch starten und verstecken



  • Ich bin mir nicht sicher, ob du ihn richtig verstanden hast 🙄



  • Nein..nein==>
    Der User soll nix anklicken es soll automatisch starten und sich im hintergrund versteckt ausführen...

    Tut mir leid...vielleicht hab ich mich nicht ordentlich ausgedrückt..

    Soso



  • Gemeint ist es so:
    PC wird inder Schule gestartet:

    -User startet PC,PC bootet fertig, wenn alles auf dem Desktop erschienen ist wie bei jedem Windows start soll das Programm ausgeführt werden....

    Mein Problem=> will dass es bei jedem Windows Start ausgeführt werden soll==> aber nciht sichtbar für den User. 😕

    THX Soso



  • Dann erzeugst du entweder im Autostart-Ordner einen Link zu deinem programm oder du erstellst einen registry-eintrag da:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

    (Wie das jeweils geht steht glaube ich alles auch irgendwo in der FAQ)



  • Ja...die FAQ über die Registry hab ich schon gelesen...
    aber ich habe da noch ein kleines Problem oder naja ich weiß überhaupt nicht ob das ein Problem ist....
    Der Admin hat so ziehmlich alles gesperrt-->also das mit Start->Ausführen->regedit is nicht....
    Ich kann sogar in DOS nicht rein ausser über kleinere Umwege also C:\Winnt\System32...... <= is WinNT 4.0

    Also was ich sagen wollte, ich weiß nciht ob ich die Rechte hab einfach so in die Registry zuschreiben...

    Soso



  • 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,439

    Welche 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_CONFIG

    So 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


Anmelden zum Antworten