AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Programm bei Systemstart ausführen wie chkdsk?
Thema durchsuchen
Ansicht
Themen-Optionen

Programm bei Systemstart ausführen wie chkdsk?

Ein Thema von jus · begonnen am 1. Aug 2012 · letzter Beitrag vom 23. Apr 2015
Antwort Antwort
jus

Registriert seit: 22. Jan 2005
350 Beiträge
 
Delphi 2007 Professional
 
#1

Programm bei Systemstart ausführen wie chkdsk?

  Alt 1. Aug 2012, 20:43
Hallo,

Man kann ja in Windows das Festplattentool chkdsk so einstellen, dass es gestartet wird, bevor überhaupt der Windowsanmeldeschirm kommt. Das Programm scheint auch einen Konsolentext auszugeben.
Ich frage mich wie kann man sowas machen?

Lg,
jus
  Mit Zitat antworten Zitat
Dawn87

Registriert seit: 15. Feb 2007
Ort: Lüdenscheid
189 Beiträge
 
Delphi XE5 Professional
 
#2

AW: Programm bei Systemstart ausführen wie chkdsk?

  Alt 1. Aug 2012, 20:47
Für solche Anwendungen ist Delphi nicht das Mittel der Wahl.

Du musst auf die Native Api zurückgreifen um solche Programme zu schreiben. Auch einige PE-Flags der EXE sind bei nativen Anwendungen anders gesetzt als bei normalen Windows-Anwendungen.

http://technet.microsoft.com/en-us/s.../bb897447.aspx

Möglicherweise bringt Dich hier Visual C im Zusammenhang mit dem DDK (Driver Developement Kit) weiter.

Grüße
Stefan
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#3

AW: Programm bei Systemstart ausführen wie chkdsk?

  Alt 1. Aug 2012, 21:40
Schau doch mal hier herein.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#4

AW: Programm bei Systemstart ausführen wie chkdsk?

  Alt 2. Aug 2012, 08:26
Registry - Runonce

The Runonce key allows you to run an application on the next boot. Once it runs, the Value is removed.

Location:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Curr entVersion\RunOnce

Values: Any name. Data should be the path to application you want to run.

Value Type: String
  Mit Zitat antworten Zitat
Dawn87

Registriert seit: 15. Feb 2007
Ort: Lüdenscheid
189 Beiträge
 
Delphi XE5 Professional
 
#5

AW: Programm bei Systemstart ausführen wie chkdsk?

  Alt 2. Aug 2012, 08:54
Anwendungen die im RunOnce-Schlüssel stehen werden aber auch erst ausgeführt, nachdem sich ein Benutzer bei Windows angemeldet hat.

Was jus möchte ist eine Anwendung auszuführen bevor die Windows-Oberfläche überhaupt angezeigt wird. Bei Windows XP gab es z.B. eine Konsole mit hellblauem Hintergrund. Die hat man immer dann gesehen wenn chkdsk oder ein Partitionierungsprogramm wie Partition Magic ausgeführt wurde.

Diese Programme sind anders aufgebaut als herkömmliche, da diese sich der Native Api bedienen. Da zu dem Boot-Zeitpunkt noch einiges an Funktionen nicht angesprochen werden kann, wird man auch nichts anderes benutzen können.
  Mit Zitat antworten Zitat
Benutzerbild von JamesTKirk
JamesTKirk

Registriert seit: 9. Sep 2004
Ort: München
604 Beiträge
 
FreePascal / Lazarus
 
#6

AW: Programm bei Systemstart ausführen wie chkdsk?

  Alt 2. Aug 2012, 08:56
@hathor: Das ist nicht das, wonach jus gefragt hat. Da ist es nämlich schon zu spät.

@jus: Gibt es einen bestimmten Grund, warum du das erfahren möchtest? Dawn87 hat hier aber in großen Teilen Recht: Anwendungen wie chkdsk sind sogennante Native NT Anwendungen, welche nicht die Windows API verwenden, sondern die darunterliegende API des Kernels (für Usermodeanwendungen bereitgestellt durch ntdll.dll). Dort ist es für einen normalen Windows Entwickler sehr ungewohnt, da sich die API doch teilweise stark unterscheidet.
Eine Anwendung, welche derart früh (nach dem Start von smss.exe und vor dem Start der Subsysteme) gestartet werden möchte, muss sich in den passenden Registry-Key eintragen und eben eine native Anwendung sein (sonst könnte es zum Bluescreen kommen ).

@Dawn87: Delphi ist hier nicht geeignet, aber Free Pascal befindet sich dank mir auf gutem Weg dorthin

Gruß,
Sven
Sven
[Free Pascal Compiler Entwickler]
this post is printed on 100% recycled electrons

Geändert von JamesTKirk ( 2. Aug 2012 um 08:56 Uhr) Grund: Nickname korrigiert
  Mit Zitat antworten Zitat
jus

Registriert seit: 22. Jan 2005
350 Beiträge
 
Delphi 2007 Professional
 
#7

AW: Programm bei Systemstart ausführen wie chkdsk?

  Alt 6. Aug 2012, 00:09
Vielen Dank für eure antworten!
@hathor: Das ist nicht das, wonach jus gefragt hat. Da ist es nämlich schon zu spät.

@jus: Gibt es einen bestimmten Grund, warum du das erfahren möchtest? Dawn87 hat hier aber in großen Teilen Recht: Anwendungen wie chkdsk sind sogennante Native NT Anwendungen, welche nicht die Windows API verwenden, sondern die darunterliegende API des Kernels (für Usermodeanwendungen bereitgestellt durch ntdll.dll). Dort ist es für einen normalen Windows Entwickler sehr ungewohnt, da sich die API doch teilweise stark unterscheidet.
Eine Anwendung, welche derart früh (nach dem Start von smss.exe und vor dem Start der Subsysteme) gestartet werden möchte, muss sich in den passenden Registry-Key eintragen und eben eine native Anwendung sein (sonst könnte es zum Bluescreen kommen ).

@Dawn87: Delphi ist hier nicht geeignet, aber Free Pascal befindet sich dank mir auf gutem Weg dorthin

Gruß,
Sven
Einen bestimmten Grund gibt es eigentlich nicht, es war einfach interessenshalber wie man sowas machen kann. Das mit native API scheint mir vom Aufwand zu sehr hoch sein. Interessant ist aber der weg mit freepascal schon.

Lg,
Jus
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:07 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz