Autor Beitrag
=DrAgOn=
Hält's aus hier
Beiträge: 10



BeitragVerfasst: Fr 13.12.02 10:06 
Hi,

Ich suche eine API mit der ich System-Dateien ersetzen kann. Sowie das Programm SRC unter Win98.

Es ist so: Wie ich schon im andren Thread (SystemIcons ohne Neustart ändern?) erwähnt hatte, hatte ich ein Programm geschrieben das System-Dateien ändert. Genau genommen ändert das Programm Die Icons von Win98 und ersetzt es mit den Icons WinXP-Icons. So entsteht ein netter XP Style auf der 98er Oberfläche.

Jetzt das "alte" Problem:

Mit den Register (Hkey_Local_Machine\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Icons) kann ich ein neues Symbol definieren . . .
Dann muss ich die Datei ShellIconCashe Löschen. (Name ist selbsterklärend)

Ihr könnte es mal ausprobieren. Ihr braucht mindestens 2 Neustarts. Und es funkt auch nicht immer.

Neues Programm:

Ich hab überlegt ob ich nicht anders an XP-Style komme. Natürlich ganz einfach: die Hardcodierten-Icons ändern ;) . Als erstes hab ich die shell32.dll Icons mit den XP Icons ersetzt. Eigentlich brauch ich nur noch die alte shell32.dll (ohne XP Icons) mit der neuen shell32.dll (mit XP Icons) ersetzen. Und das ersetzen der shell32.dll kann man nur unter ein anderes Betriebsystem machen. (Ihr wisst was ich meine).

Oder man macht es wie das Programm SRC. Wie macht das Programm das? Gibt’s dafür ne API zum ersetzen von System-Dateien. Oder muss ich wirklich noch ein Dos-Programm coden das dann beim Booten aufgerufen wird.

Respekt vor dem der mir Helfen kann.

PS

Wer so was nachmachen will kleiner Tipp: Win9x kann keine 24x24 Icons darstellen. Nur 32x32, 16x16. Also erst ändern dann einbauen.

Für neue Vorschläge bin ich immer Offen.

Gruss DrAgOn

_________________
TEST
alexschultze
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 317



BeitragVerfasst: Fr 03.01.03 23:26 
es gibt eine spezielle Funktion, die du sicherlich kennst nach deinen Bemühungen, die alle Dateien des Systems schützt. Auszug aus der WinXP (ist unter älteren Betriebsystemen, z.B. Win98 auch der Fall) Hilfe:

Zitat:

In Windows 2000 und Windows XP verhindert der Windows-Dateischutz, dass geschützte Systemdateien, z. B. Dateien mit den Erweiterungen SYS, DLL, OCX, TTF, FON und EXE, überschrieben werden. Der Windows-Dateischutz wird im Hintergrund ausgeführt und schützt alle Dateien, die durch das Windows Setup-Programm installiert wurden.

Der Windows-Dateischutz erkennt Versuche von anderen Programmen, eine geschützte Systemdatei zu ersetzen oder zu verschieben. Um festzustellen, ob es sich bei der neuen Datei um die korrekte Microsoft-Version handelt, wird ihre digitale Signatur vom Windows-Dateischutz überprüft. Falls die Datei nicht die korrekte Version aufweist, ersetzt der Windows-Dateischutz diese Datei entweder durch die Sicherungskopie, die im Ordner Dllcache gespeichert ist, oder durch die entsprechende Datei von der Windows-CD. Wenn der Windows-Dateischutz die entsprechende Datei nicht finden kann, werden Sie aufgefordert, den Speicherort anzugeben. Zusätzlich wird der versuchte Dateiaustausch vom Windows-Dateischutz im Ereignisprotokoll aufgezeichnet.

Der Windows-Dateischutz ist standardmäßig immer aktiviert und ermöglicht es, vorhandene Dateien durch digital signierte Windows-Dateien zu ersetzen. Derzeit werden signierte Dateien auf folgenden Wegen bereitgestellt:

Windows Service Packs
Hotfix-Distributionen
Betriebssystemupdates
Windows-Aktualisierung
Windows Geräte-Manager/Klasseninstallationsprogramm


Vorerst musst du dich versichern das die Signatur erhalten bleibt. Keine Ahnung wie, vielleicht ist es nicht soo wichtig.
Du hast 2 Möglichkeiten:
- du kannst diesen Service finden und deaktiveren für den Zeitraum den das Programm die Änderungen vornimmt
-du kannst versuchen noch vorher die Dateien in dllcache zu verändern, danach die richtigen Dateien zu ändern. Die werden dann durch die ohenhin geänderten Updates 'ersetzt'.

Das sind meine Ideen zu dem Thema. ALex
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 04.01.03 05:41 
Kuck mal hier: MoveFileEx. Insbesondere der Flag: MOVEFILE_DELAY_UNTIL_REBOOT scheint interessant zu sein.