Bootloader mit zuweisung der Priroritäten(winXP)



  • Hallo

    ich habe vor mir einen Bootloader zu basteln der mir meine Programme, welche ich normalerweise im Autostart drin habe, startet und zwar so, dass die Programme nacheinander starten und auch die priroritäten festgelegt werden für die Programme

    also sodass ich mienen PC hochfahren kann, und sobald er in windows ist und windows gebootet hat, ich auch gleich ins internet oder E-mails abrufen kann. dass dann das kleine proggi mir meine Programme startet , nacheinander damit diese nicht gleich den Prozessor auslasten und somit in der startsequenz wieder den PC "Lahmlegen" sollten diese solange eine niedrige Prirorität unter winXP zugewiesen bekommen biss alle zusatztproggies gestartet sind.
    meine frage, ob das überhaupt möglich ist mit C++ die Priroritäten für programme festzulegen und zu ändern?
    und ob man feststellen kann ob das Programm vollständig gestartet ist.

    ich weis, vielleicht ein bisschen zuviele anforderungen aber man kanns ja aml versuchen ...
    öffnen kann man ja mit shellExecute oder einer anderen anweisung.

    hoffe mal auf ein positives resultat *g*

    MFG Thomas



  • Hallo,
    du willst einen Bootloader in C+++ schreiben? Denkst du nicht, du waerst da mit z.B. Assembly besser bedient?
    Zu deiner Frage: die Programmiersprache hat nichts damit zu tun, ob Prioritaeten festlegbar sind. Das kommt allein auf die API, die du benutzt an. Das selbe gilt fuer die Frage, ob vollstaendige Programmstarts feststellbar sind.
    Tja, und jetzt kommt die schlechte Nachricht. Ich kann mich ja irren, aber es waere fuer mich neu, wenn Windows mit einem anderen Bootloader ausser dem eigenen booten koennte. Ich glaube mal gelesen zu haben, Windows ueberschreibt den Bootsecter, falls da nicht der Windowsbootloader drin ist. Deswegen bezweifel ich den Erfolgs deines Projekts, wuensche dir aber dennoch viel Glueck, wenn du es trotzdem einfach so aus Spass probierst.

    was auch immer



  • Er will was ganz anderes als einen Bootloader. Mach halt ein Batch-File und schau dir start /? an.



  • eben, der bootloader bootet das bs (mit optionen ggf.), mehr nicht.
    das man keinen anderen bootloader nutzen kann ist natürlich unsinn.
    ich nutze grub um windows oder linux zu booten.
    ausserdem wird der bootloader von windows nur angegrabscht wenn windows installiert wird.
    windows ist dann so "freundlich" und überschreibt den bootsektor ohne nach zu fragen so das man den bootloader neu installieren darf danach.
    der automatische start fremder programme wird über eine batchdatei (textdatei mit befehlen) geregelt. Ringding sagte es ja schon.



  • Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum Rund um die Programmierung verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • ähm .. eigentlich meinte ich nicht direckt einen bootloader, mir ist nur kein besserer Name eingefallen, das Bs startet schon automatisch, ABER : meine zusatztprogramme sollten von diesem Programm IN windows dann gestartet werden
    und nicht dass das Programm mir mein bs startet, da habt ihr wohl etwas falsch verstanden! .. (oder ich unglücklicherweise etwas dumm hingeschrieben, sorry)
    ich will ein programm das mir meine programme (wie z.b. word oder meinen Browser) Automatisch öffnet! und erst wenn ein Programm geöffnet worden ist, dann das nächste jedoch dass das Programm den status des aktuellzustarteten Programms (die Prirorität unter windows) auf niedrig setzt während es gestartet wird. wenn es gestartet worden ist, dann die Prirorität wieder hochsetzt, da es dann ja auch kaum rechenleistung mehr benötigt. danach das nächste Programm mit einer niedrigen Prirorität öffnen und wenn das Fertig ist dann wieder rum prirorität hoch und nächstes usw.
    (hab etwa 4-5 Programm)
    das ganze hat den sinn, dass wenn cih mienen Rechner anschalte, ich ihn sobald er im Wondows ist ihn sofort mit "individuellen" Programmen, die nicht automatisch starten (was sich aus dem grund des anschaltens ergiebt) , sofort öffnen kann sobald windows gebootet hat!
    das ganze möchte ich gerne in C++ machen, weshalb ich es auch in das C++ Forum geschrieben hatte! ... nur leider kahm die Diskussion dur eine evtl. missdeutung meiner Schrift (sorry 😉 ) auf abwege
    mich interresiert jetzt folgendes:

    -wie kann ich den status von Programmen abrufen, ob diese vollständig geladen haben (bitte evtl. mit Quellcode)
    -wie kann ich die Prirorität unter winXP bei einem anderen Programm über C++ verändern (bitte evtl. mit Quellcode)

    hoffe das es diesmal verstanden wird 🙂

    MFG Thomas



  • wie kann ich die Prirorität unter winXP bei einem anderen Programm über C++ verändern (bitte evtl. mit Quellcode)

    über C++ wie oben schon erwähnt gar nicht. Wenn, dann über die Windows API. Der einzige Weg, das zu machen ginge wohl über Prioritäten der entsprechenden Prozesse und Threads. Wie das genau funktioniert, kann ich dir aber auch nicht sagen, weil ich mich damit noch nie beschäftigt habe. Googlen hilft dir aber bestimmt 😉

    -wie kann ich den status von Programmen abrufen, ob diese vollständig geladen haben (bitte evtl. mit Quellcode)

    Gar nicht. Das müsste dann schon das entsprechende Programm selbst mitteilen. Denn wie soll denn das Betriebssystem entscheiden, ob ein Programm fertig geladen ist oder nicht???

    Mfg, smasher1985



  • Dieser Thread wurde von Moderator/in kingruedi aus dem Forum Rund um die Programmierung in das Forum WinAPI verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Thomas-M schrieb:

    wie kann ich die Prirorität unter winXP bei einem anderen Programm über C++ verändern (bitte evtl. mit Quellcode)

    MSDN: Scheduling Priorities

    By default, the priority class of a process is NORMAL_PRIORITY_CLASS. Use the CreateProcess function to specify the priority class of a child process when you create it. If the calling process is IDLE_PRIORITY_CLASS or BELOW_NORMAL_PRIORITY_CLASS, the new process will inherit this class. Use the GetPriorityClass function to determine the current priority class of a process and the SetPriorityClass function to change the priority class of a process.

    smasher1985 schrieb:

    Thomas-M schrieb:

    -wie kann ich den status von Programmen abrufen, ob diese vollständig geladen haben (bitte evtl. mit Quellcode)

    Gar nicht. Das müsste dann schon das entsprechende Programm selbst mitteilen. Denn wie soll denn das Betriebssystem entscheiden, ob ein Programm fertig geladen ist oder nicht???

    MSDN: WaitForInputIdle 🙂


Anmelden zum Antworten