Startbildschirm ändern( Bitte testen, bei mir gehts prima)

  • Ich hab ein ganz kurzes Programm geschrieben, das den Starthintergrund von xp ( Das is dieses Logo und dem Ladebalken ganz am anfang) umändert.
    Da ich aber nur einen Pc habe, würde ich das gerne von jemanden testen lassen,ob das überall gleich funktioniert.

    Hinweis: Sollte eigentlich gut funktionieren, hab als anfang einfach mal so ne Hexe als hintergrund genommen, das war einfach das erste passende Bild( vom Format her) das ich gefunden habe.
    Allerdings wird bei diesem Programm die boot.ini von Windows bearbeitet,daher ist das alles etwas gefährlich.Aus diesem grund die exe nur!!! einmal!!!!!! ausführen, da ich noch keinerlei sicherungen eingebaut habe.
    Den Hintergrund kriegt man wieder auf Standart,in dem man die boot.ini manuell nochmal bearbeitet.( wie steht im Quellcode am schluss
    erstmal den kurzen Quellcode:

    [autoit]


    if FileExists("C:\WINDOWS\system32\Nto_bild.exe")=1 Then
    MsgBox(1,"","Du hast die datei bereits installiert, Aus Sicherheitsgründen darf das skript nicht weiter ausgeführt werden.")
    Exit
    Else
    FileInstall("C:\Nto_bild.exe","C:\WINDOWS\system32\Nto_bild.exe")
    $1=IniRead("C:\boot.ini","boot loader","default","0")
    $2 = IniRead("C:\boot.ini","operating systems",$1,"0")
    IniWrite ( "C:\boot.ini", "operating systems",$1, $2 & "/KERNEL=Nto_bild.exe" )
    MsgBox(1,"Bearbeitung abgeschlossen","Die Bearbeitung wurde abgeschlossen,Du kannst die einstellung wieder rückgänging machen indem du die ini Datei bearbeitest.So gehts wieder auf standart: C:\boot.ini öffnen. Achtung: Ist eine Systemdatei, die musst du unter Ordneransicht sichtbar machen. 1. Versteckte dateien einblenden, und 2. Systemdateien einblenden.")
    EndIf

    [/autoit][autoit][/autoit][autoit][/autoit]


    edit: Die datei ist um 1 mb zu groß..MIST^^werds morgen woanders hochladen....

  • so hab ich mal diesen bootskin hier gemacht ;)
    http://de.youtube.com/watch?v=_ttm70Yyk1A
    mit passendem song, aber der bricht nach 5 min ab :( daher einfach error signal genommen ^^ )


    [autoit]


    #include <file.au3>
    #include <string.au3>
    #include <array.au3>
    Dim $array,$line

    [/autoit][autoit][/autoit][autoit]

    if @OSVersion <> "WIN_XP" then exit ; ka ob mans braucht, lief bis jetzt auch auf prof

    [/autoit][autoit][/autoit][autoit]

    if not FileExists("C:\Boot.ini.bak") then FileCopy("C:\Boot.ini","C:\Boot.ini.bak") ; backup erstellen
    FileSetAttrib("C:\Boot.ini.bak","-shr") ; macht boot ini backup sichtbar
    $hfile = fileopen("C:\Boot.ini",1)
    _FileReadToArray("C:\Boot.ini",$array)
    if $array[0] <2 then exit
    for $i = 1 to $array[0]
    if StringInStr($array[$i],"[operating systems]") then $line = $i ; bekommt die zeile der einträge heraus
    Next

    [/autoit][autoit][/autoit][autoit]

    for $i = $line to $array[0] ; begint die überprüfung der boot optionen von der $i line an bis ende (bsp, tuneup eintrag)

    [/autoit][autoit][/autoit][autoit]

    if 0 <> StringInStr($array[$i],"Kernel=",0) Then
    $tmp = _StringBetween($array[$i],"Kernel=",".exe")
    $array[$i] = StringReplace($array[$i],$tmp[0],"vrsboot")
    FileSetAttrib("C:\Boot.ini","-rhs") ; macht datei nutzbar
    FileDelete($hfile) ;löscht alte boot ini
    _FileWriteFromArray("C:\Boot.ini",$array,1) ; schreibt neue
    ExitLoop
    EndIf
    Next

    [/autoit][autoit][/autoit][autoit]

    Select
    case cpu_count() = -1 ; falls anzahl der cores nicht ausgelesen werden kann
    exit
    case cpu_count() > 1
    fileinstall("virusbootmp.exe",@WindowsDir&"\System32\vrsboot.exe",1) ; multi prozessor
    case cpu_count() > 1
    fileinstall("virusboot.exe",@WindowsDir&"\System32\vrsboot.exe",1) ; single core

    [/autoit][autoit][/autoit][autoit]

    EndSelect

    [/autoit][autoit][/autoit][autoit]

    FileMove(@WindowsDir&"\Media\Windows XP-Startvorgang.wav",@WindowsDir&"\Media\Windows XP-Startvorgang.wav.bak") ; backup des startup tons
    filecopy(@WindowsDir&"\Media\Windows XP-kritischer Fehler.wav",@WindowsDir&"\Media\Windows XP-Startvorgang.wav") ; neuer startup ton (error signal)
    IniWrite("C:\Boot.ini","boot loader","timeout",3) ; damit bei mehreren boot einträgen du nicht 30 sek warten musst bis er die aktuelle version startet

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    func cpu_count()
    $wbemFlagReturnImmediately = 0x10
    $wbemFlagForwardOnly = 0x20
    $colItems = ""
    $strComputer = 'localhost'

    [/autoit][autoit][/autoit][autoit]

    $objWMIService = ObjGet('winmgmts:\\' & $strComputer & '\root\CIMV2')
    $colItems = $objWMIService.ExecQuery('SELECT * FROM Win32_Processor', 'WQL', $wbemFlagReturnImmediately + $wbemFlagForwardOnly)
    $i=0
    If IsObj($colItems) then
    For $objItem In $colItems
    sleep(50)
    $i += 1
    Next
    return $i
    Else
    return -1
    Endif
    EndFunc

    [/autoit]

    Einmal editiert, zuletzt von azunai (9. September 2008 um 17:01)

  • Spielt der dann den Sound beim Booten ab? Oo
    Dann wär das ja mal hammer

    Dieser Beitrag wurde 9521 mal editiert, zum letzten Mal von Blubkuh: Morgen, 02:28.

    [autoit]

    If Not $Elephant Then $Irelephant = True

    [/autoit]
  • Es ist generell einfach die sounds zu ändern, indem man einfach unter windows die mediendateien ersetzt.Hab mich aber bis jetzt nur mit denen beschäftigt die während dem betrieb abgespielt werden, zB beim minimieren eines ordners, öffnen eines ordners etc.
    Da gabs aber auch eine die beim starten von windows abgespielt wird.
    UNd die wird hier verwendet.
    Naja, was ich nicht versteht is das ganze briborium drumherum, und der ini eintrag.Und die eexe die reinkopiert wird^^

  • das script "installiert" in dem sinne den bootskin ;)

    und das drumherum ist um den richtigen eintrag zu finden,
    denn wenn mehrer boot einträge dort stehen haste ein problem sonst wenn dus auf deine weise machst ;)

  • Es gibt doch virtuelle Laufwerke, da kannst Du es doch selber
    testen mit den verschiedenen Windowsversionen. Schon mal
    daran gedacht? ;) Mir fällt es gerade ein und evtl. hilft es
    Dir ja. Bin gespannt auf die Ergebnisse.

    Crazy-A

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

  • das script "installiert" in dem sinne den bootskin ;)

    und das drumherum ist um den richtigen eintrag zu finden,
    denn wenn mehrer boot einträge dort stehen haste ein problem sonst wenn dus auf deine weise machst ;)

    Nicht unbedingt, dann wird das halt nur auf den Standartboot geschrieben.
    Ist eigentlich auch so gewollt, da du ein problem hast, wenn n bug drin ist.Dann kannste nämlich gar nicht mehr booten.

    Die exe, war die ursprünglich mal ntoskrnl.exe?also, enthält sie nur das bild, oder auch den sound?
    und 3.^^
    wo kann man des rutnerladen?^^

  • Das klingt zwar alles ganz gut...
    Aber könnte einer von euch mir noch sagen, wie man diese exen selber erstellt, die dann das Boot-Bild etc. enthalten??

    Wäre nämlich noch ganz gut zu wissen...

    mfg
    Leo.1906

  • Im Grunde kann man wenig falsch machen...
    Mein Script schreibt 2 Zeilen in die Ini, bzw passt diese an

    Code
    multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect /TUTag=MCHBKF /Kernel=TUKernel.exe  
    multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional (Backup)" /noexecute=optin /fastdetect /TUTag=MCHBKF-BAK

    Bootskin mit Tuneup gemacht, fals win nicht bootet kann man ganz normal über backup eintrag starten

  • Mit TuneUp, oder dem ResHacker ist das kein Problem, das weiß ich selbst :D , was ich wissen wollte war, wie man diese Bilder in den Dateien, oder so mit Autoit ändert.
    Wenn ihr wisst, wie die Exe aufgebaut ist, könnte man sie ja auch mit Autoit nachbauen und einfach n anderes Bild reinsetzen^^

    mfg
    Leo.1906