AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Delphi-PRAXiS - Lounge Betriebssysteme Konsolenapplikation mit Windows starten, aber bevor Windows hochgefahren wurde
Thema durchsuchen
Ansicht
Themen-Optionen

Konsolenapplikation mit Windows starten, aber bevor Windows hochgefahren wurde

Ein Thema von DevidEspenschied · begonnen am 14. Okt 2016 · letzter Beitrag vom 14. Okt 2016
Antwort Antwort
DevidEspenschied

Registriert seit: 7. Sep 2006
Ort: Berlin
439 Beiträge
 
Delphi 12 Athens
 
#1

Konsolenapplikation mit Windows starten, aber bevor Windows hochgefahren wurde

  Alt 14. Okt 2016, 13:23
Betriebssystem: Win XP,Win Vista,Win 7,Win 8,Win 8.1,Win 10
Hallo zusammen,

ich habe eine harmlose Konsolenanwendung geschrieben, welche die Größe des Arbeitsspeichers ermittelt und anzeigt, gefolgt von einem "pause", so dass der Anwender das bestätigen muss. Soweit erstmal so gut.

Nun möchte ich das Programm aber beim Windows-Start automatisch starten lassen, aber nicht sobald Windows fertig hochgefahren wurde, sondern direkt am Anfang sobald das Windows-Logo erscheint. Ich meine diejenige Stelle, wo CHKDSK ausgeführt wird, wenn Windows nicht korrekt heruntergefahren wurde oder wo auch einige Low-Level-Programme (z.B. zum Löschen von Datenträgern oder Image-Lösungen) von den Herstellern geladen werden.

Weiß jemand, wo ich hierzu weitere Informationen herbekomme bzw. wie ich das Programm dort hinein bekomme?

Danke vorab.
Devid
Devid Espenschied
Pre-sales Consultant
Embarcadero Germany GmbH
germany.info@embarcadero.com

Kein Support per PN
  Mit Zitat antworten Zitat
Der schöne Günther
Online

Registriert seit: 6. Mär 2013
6.158 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Konsolenapplikation mit Windows starten, aber bevor Windows hochgefahren wurde

  Alt 14. Okt 2016, 13:31
Irgendwie habe ich grade einen Flashback an Windows 98-Zeiten als Windows noch auf DOS aufbaute. So mit Autoexec.bat und all dem. So etwas gibt es doch seit Windows NT nicht mehr?

Vor allem: Was soll das bezwecken?
  Mit Zitat antworten Zitat
bra

Registriert seit: 20. Jan 2015
711 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#3

AW: Konsolenapplikation mit Windows starten, aber bevor Windows hochgefahren wurde

  Alt 14. Okt 2016, 13:52
Funktionieren muss es irgendwie, weil auch einige Partitioniertungstools direkt am Anfang des Windowsstarts geladen werden. Wie genau das allerdings geht weiss ich auch nicht
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.062 Beiträge
 
Delphi 12 Athens
 
#4

AW: Konsolenapplikation mit Windows starten, aber bevor Windows hochgefahren wurde

  Alt 14. Okt 2016, 13:57
Mit Delphi NEIN.

Da vorne steht die Win32-API nicht zur Verfügung, auf welcher Delphi aufsetzt.
Du mußt dafür eine "Native Application" schreiben.

Delphi erzeugt eine "User Mode Application" welche auf der "Windows Base API" ab der Kernel32.dll aufsetzen.
Eine "Native Application" setzt auf der "Windows Native API" der NTDLL.dll auf.
Wenn man ganz hart drauf ist, dann geht man direkt auf den "Windows Hardware Abstraction Layer" der HAL.dll und schreibt Kernel-Mode-Anwendungen (z.B. Treiber)
und die richtig Harten, wenden sich direkt an die Hartware.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
t.roller
(Gast)

n/a Beiträge
 
#5

AW: Konsolenapplikation mit Windows starten, aber bevor Windows hochgefahren wurde

  Alt 14. Okt 2016, 14:02
Userinit - Specifies the programs that Winlogon runs when a user logs on.

Zitat:
By default, Winlogon runs Userinit.exe, which runs logon scripts, reestablishes network connections, and then starts Explorer.exe, the Windows user interface.

You can change the value of this entry to add or remove programs. For example, to have a program run before the Windows Explorer user interface starts, substitute the name of that program for Userinit.exe in the value of this entry (HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon), then include instructions in that program to start Userinit.exe. You might also want to substitute Explorer.exe for Userinit.exe if you are working offline and are not using logon scripts.

Geändert von t.roller (14. Okt 2016 um 14:06 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#6

AW: Konsolenapplikation mit Windows starten, aber bevor Windows hochgefahren wurde

  Alt 14. Okt 2016, 14:47
Das wird ihm schon zu spät sein.

Davon unabhängig dass die keine API zur Verfügung steht, bist du auch noch selbst für die Bildschirmausgabe verantwortlich. Da ist nichts mit DrawText oder Writeln.

Darf man nach dem Sinn und Zweck fragen?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.062 Beiträge
 
Delphi 12 Athens
 
#7

AW: Konsolenapplikation mit Windows starten, aber bevor Windows hochgefahren wurde

  Alt 14. Okt 2016, 16:08
bist du auch noch selbst für die Bildschirmausgabe verantwortlich. Da ist nichts mit DrawText oder Writeln.
Jupp, GDI ist halt Win32-API
Das Speichermanagement darf man och sleber machen (z.B. RTL Heap API ... VirtualAlloc ist ja och Win32-API)

Ich hatte mir da mal 'ne kurze Windows-API-Übersicht gebastelt.
Ist nur 'nen kleiner Ausschnitt und schon hier kann man das Meiste gleich wieder vergessen, wenn man so früh laufen will.
Code:
  Internal
    HAL.dll        Windows Hardware Abstraction Layer      Kernel-Mode: for Drivers (access to CPU, Chipset, APCI, ...)
                                                               Advanced Programmable Interrupt Controller (APIC)
    NTDLL.dll      Windows Native API                      User-Mode: for Native Applications (run at boot time)

  Win32 API
    Kernel32.dll   Windows Base API                        for User Mode Applications (memory management, input/output, process/thread creation and synchronization)
    AdvAPI32.dll   Advanced Windows Base API               Registry, Windows Services, Windows Management Instrumentation Driver Extensions (WMI)
    GDI.dll        Graphics Device Interface (GDI)         low-level drawing functions for output to video displays and printers
    User32.dll     Windows User Component                  Graphical User Interface (GUI)
    ComDlg32.dll   Common Dialog Box Library               dialogs
    ComCtl32.dll   Common Control Library                  file dialogs, progress bars, list views, ...
    Shell32.dll    Windows Shell API                       access to operating system shell
    ShLWAPI.dll    Shell Lightweight Utility Functions     -
    WS2_32.dll     Winsock API                             TCP/IP networking functions
    NetAPI32.dll   Network API                             NetBIOS, Winsock, NetDDE, remote procedure call (RPC)

  Other API
    WinMM.dll      Windows Multimedia Audio API
    ShDocVw.dll    Embeddable Web Browser Control (IE)     Trident ActiveX Control
    MSHTML.dll     Windows HTML View (IE)                  Trident Layout Engine
    URLMon.dll     URL moniker service (IE)                own URL handlers for other application
    WinINet.dll    HTTP client library (IE)                which also takes into account system-wide Proxy settings
    WinHTTP.dll    HTTP client library (IE)                smaller and more suitable for some applications
    MSXML*.dll     Microsoft XML Components                XML DOM classes (document object model)
    MLang.dll      Multi-Language                          international text support

  Runtime Library
    MSVCRT.dll     Microsoft Visual C run-time Library     string manipulation, memory allocation, C-style input/output calls
    MSVCP60.dll    Microsoft Visual C++ Library (v6.0)     same as MSVCRT.dll for Microsoft Visual C++ (MSVC)
    MSVCIRT.DLL    Microsoft Visual C++ run-time (iostream)
    CCRUNTIME*.DLL Microsoft Visual C++ run-time (v14.0)
    CRTDLL.dll     C run-time library
    ATL*.dll       Active Template Library                 base classes for COM/OLE/ActiveX objects
    MFC*.dll       Microsoft Foundation Classes Library    wraps WinAPI as C++ classes
    MSVBVM*.dll    Visual Basic Virtual Machine
    VCOMP*.dll     Microsoft C/C++ OpenMP runtime          Open Multi-Processing
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (14. Okt 2016 um 16:32 Uhr)
  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 09:24 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz