Programm nach dem booten starten

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
thminz
Beiträge: 84
Registriert: 25.05.2011 16:01
Computerausstattung: Windows XP, Intel Pentium 4 mit 3,2 Ghz, 2 GB RAM, 500 GB, ATI Radeon HD 4200
Wohnort: Köln

Programm nach dem booten starten

Beitrag von thminz »

Moin!

Es gibt Programme die können ereichen das die Programme nach dem booten von Windows und vor dem Anmeldebildschirm gestartet werden. Wie zb Paragon Partition Manager oder Tuneup. Wenn ich da was defragmantiere oder die Partitiongrösse ändere dann wird es beim nächsten Start von Windows gemacht aber nicht dann wen Windows vollständig geladen wurde sondern da zwischen. Also NACH dem Booten UND VOR dem Anmeldebildschirm.

Wie machen die das und wie funktioniert das und wie kann man das machen? Und NEIN ich will kein VIRUS schreiben! :mrgreen:
Immer Aktuelle Purebasic Version!!
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8838
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Re: Programm nach dem booten starten

Beitrag von NicTheQuick »

Grob gesagt, kann jedes Programm, das die benötigten Rechte dazu hat, sich eintragen um beim nächsten Booten zuerst gestartet zu werden. Wie das detailliert funktioniert, wirst du vielleicht mit Google finden, ist aber doch sehr speziell.
Willst du nur wissen, wie das funktioniert oder hast du vor etwas zu programmieren, was sich da davor schaltet? Falls letzteres der Fall sein sollte, bezweifle ich, dass das PB funktionieren würde. Windows-Libraries werden da wohl kaum geladen sein. Ich nehme an, dass das eine andere Art des Kompilierens erzwingt.

Aber der gesamte Post besteht nur aus Vermutungen.

Daher die Kernfrage nochmal explizit:
Willst du nur die Theorie wissen oder es auch tatsächlich angehen und genaue Details über alles erfahren?
Benutzeravatar
shadow
Beiträge: 189
Registriert: 23.03.2005 17:52
Wohnort: Lübeck

Re: Programm nach dem booten starten

Beitrag von shadow »

Hi,

am simpelsten ist du legst dir einfach einen Task an (schau in der Aufgabenplanung der Verwaltung vorbei). Dort kannst du festlegen, dass das Programm beim Computerstart ausgeführt werden soll.
ThinkPad T61 (in Gedenken) | PureBasic 4.61 B1 (32) | Windows 7 (32SP1) | ArchLinux (32) | Syllable (32)
ullmann
Beiträge: 205
Registriert: 28.10.2005 07:21

Re: Programm nach dem booten starten

Beitrag von ullmann »

Ich glaube es gibt in der Registry Einträge unter "RunServices". Weiß jetzt aber nicht, wo die genau in der Registry zu finden sind. Die dort eingetragenen Programme werden nach dem Windows-Start sehr früh ausgeführt. Aber ob vor der Anmeldung, das weiß ich nicht, ich glaube aber ja. (Hat mir vor vielen Jahren zu Zeiten von Windows 95 mal jemand erzählt).
Dark
Beiträge: 93
Registriert: 24.08.2007 20:36
Kontaktdaten:

Re: Programm nach dem booten starten

Beitrag von Dark »

Hi,

also rein logisch gesehen muss dein Programm von einem Service gestartet werden. Ein Programm erbt normalerweise die Rechte von dem Benutzer, der es ausgeführt hat (wenn man jetzt mal von dem UAC aus Vista/7 und RunAs absieht). Wenn du ein Programm nun vor dem Login starten willst, gibt es nur einen angemeldeten Nutzer: SYSTEM. So weit ich weiß, ist die einzige Möglichkeit einen Prozess als SYSTEM Nutzer zu starten, einen Service zu verwenden.

Wie hier bereits erwähnt wurde, müsste das ganze auch mit der Aufgabenplanung funktionieren, da diese auch einen Service verwendet. Du musst dann aber Benutzername / Passwort für den Benutzer angeben, mit dessen Berechtigungen das ganze ausgeführt werden soll.
Willst du nun das dein Programm alle Berechtigungen hat - oder keinem Nutzer zugeordnet ist, dann muss dein Programm als SYSTEM laufen. In wie weit das mit der Aufgabenplanung klappt, bin ich mir nicht sicher. Unter XP gab es da auf jeden Fall mal eine Möglichkeit.

Nun kann ich aber eigentlich nur davon abraten ein Programm mit System Rechten auszuführen. Der Benutzer SYSTEM hat nämlich noch wesentlich höhere Rechte als ein Administrator. Ein SYSTEM Prozess kann zum Beispiel auf die SAM Datei zugreifen (die Passwortdatei von Windows), was mit einem Admin Account nicht funktioniert. Wenn dein Programm nun eine Sicherheitslücke hat oder irgendwelche Berechtigungen falsch setzt, kann es passieren das ein normaler Benutzer das Programm nutzt um nicht nur Adminrechte sondern gleich Systemrechte zu bekommen. Oder noch schlimmer: Es reicht schon wenn du einen Link in der Anwendung hast. Öffnet nun jemand den Link, kriegt er einen Browser (mit SYSTEM rechten, wenn du das nicht extra bei CreateProcess_() angibst!) mit dem er jeden Prozess starten kann z.B. auch die Systemsteuerung. Wenn das noch vor dem Login der Fall ist, kann man die Passwörter einfach löschen. In die Falle ist sogar Microsoft getappt. Früher konnte man in XP während des Logins mit Hilfe eines Links in der Virtuellen Tastatur oder der Bildschirmlupe den IE starten und den Login umgehen.

Mfg,
Dark
Benutzeravatar
PureLust
Beiträge: 1145
Registriert: 21.07.2005 00:02
Computerausstattung: Hab aktuell im Grunde nur noch 'nen Lenovo Yoga 2 Pro im Einsatz.
Wohnort: am schönen Niederrhein

Re: Programm nach dem booten starten

Beitrag von PureLust »

VOR dem Login werden nur Services gestartet - keine "normalen" EXE-Dateien.

Um eine EXE in einer Service umzuwandeln gibt es diverse Tools.

Guckst Du hier: exe2service
[Dynamic-Dialogs] - komplexe dynamische GUIs einfach erstellen
[DeFlicker] - Fenster flimmerfrei resizen
[WinFX] - Window Effekte (inkl. 'durchklickbares' Window)
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Programm nach dem booten starten

Beitrag von RSBasic »

Oder man erstellt selber einen Dienst...
Dienst auf Verfügbarkeit überprüfen: http://www.rsbasic.de/aktualisierung/wi ... 3%BCfen.pb
Dienst erstellen: http://www.rsbasic.de/aktualisierung/wi ... stellen.pb
Dienst entfernen: http://www.rsbasic.de/aktualisierung/wi ... tfernen.pb
Dienst starten: http://www.rsbasic.de/aktualisierung/wi ... starten.pb
Dienst pausieren: http://www.rsbasic.de/aktualisierung/wi ... usieren.pb
Pausierter Dienst fortsetzen: http://www.rsbasic.de/aktualisierung/wi ... tsetzen.pb
Dienst beenden: http://www.rsbasic.de/aktualisierung/wi ... beenden.pb

Deinen Dienst müsstest du soweit ich weiß in der Registry unter HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServices\ registrieren. (Für den aktuellen Benutzer, ansonsten stattdessen: HKEY_LOCAL_MACHINE)
Oder für einmaliges Starten: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce\
Erstellen eines Registry-Eintrages: http://www.rsbasic.de/aktualisierung/wi ... tfernen.pb
Oder mit Hilfe einer UserLibrary: http://www.purebasic.fr/german/viewtopi ... =10&t=8814

Aber wofür brauchst du das? Ist dein Vorhaben wirklich notwendig? Schreib' doch erstmal eine normale Anwendung. ;)
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
thminz
Beiträge: 84
Registriert: 25.05.2011 16:01
Computerausstattung: Windows XP, Intel Pentium 4 mit 3,2 Ghz, 2 GB RAM, 500 GB, ATI Radeon HD 4200
Wohnort: Köln

Re: Programm nach dem booten starten

Beitrag von thminz »

Ahh danke für Eure Hilfe! Ich glaube ich las das lieber. Es sieht zu kompliziert aus. :mrgreen: Danke trotzdem für Eure grosse Hilfe!
Immer Aktuelle Purebasic Version!!
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3875
Registriert: 13.09.2004 17:48
Kontaktdaten:

Re: Programm nach dem booten starten

Beitrag von bobobo »

Dienste ? .. Stuss ! (die laufen zwar vor der Useranmeldung aber schon im eigentlich
laufenden System (für das der User ja sowieso eigentlich nur stört, weil der immer
nur Bluescreens sehen will, oder nackte Weiber))

Es geht hier wohl eher um "native applications", also Programm die VOR dem
eigentlichen WindowsStart laufen.
Leset mal das hier dazu.

Mit PB wirst Du sowas aber vermutlichweise eher, wenn überhaupt, nur extrem
umständlich hinbekommen. Da lass ich mich aber gerne vom Gegenteil überzeugen :)
Wäre cool ein Programm zu häkeln, das schon vor dem eigentlichen
WindowsStart einen Bluescreen hinbekommt

>:)
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8838
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Re: Programm nach dem booten starten

Beitrag von NicTheQuick »

Ah, gut. Ich war schon fast davon überzeugt, dass das tatsächlich die Services sind, mit denen das geht.
Na dann lag ich ja mit meiner Vermutung doch nicht so falsch. :)
Antworten