Mülleimer



  • http://www.c-plusplus.net/ubb/ubb/confused.gifHallo Coder-Freunde, http://www.c-plusplus.net/ubb/ubb/confused.gif

    kann mir jemand bei meinem Problem weiterhelfen?

    Ich möchte über mein Programm, ein anderes Symbol für den Papierkorb auf dem Desktop einstellen.

    Alfred http://www.c-plusplus.net/ubb/ubb/rolleyes.gif



  • Die Icons des Papierkorbs tragen unter Win32 (Windows98, Windows 2000 Prof., Windows 2000 Server/Advenced Server) die CLSID 645FF040-5081-101B-9F08-00AA002F954E.

    Bewaffnet mit diesem Wissen, kann jetzt den drei Zweigen

    - (Standard)
    - empty
    - full

    der beiden Registrierschlüssel

    HKEY_CURRENT_USER\Software\Classes\CLSID\{645FF040-5081-101B-9F08-00AA002F954E}\DefaultIcon

    und

    HKEY_USERS\.DEFAULT\Software\Classes\CLSID\{645FF040-5081-101B-9F08-00AA002F954E}\DefaultIcon

    mittels RegSetValueEx () jeweils ein beliebiges Icon (z.B. „C:\WINDOWS\SYSTEM\My.ico,0“ für full) zugewiesen werden.

    Benno (www.01019freenet.de/schmidtdv)



  • Hallo Benno,
    deine Erklärung ist schon sehr gut,
    aber ich habe ein Problem bei der RegSetValueEx Funktion.
    Könntest Du mir sagen, wie die auszusehen hat, wenn das Icon unter c:\Windows\Desktop\voll.ico für den vollen Papierkorb zu finden ist?
    (Bitte schreibe die vollständige Funktion hin)

    Und wie heißt der Befehl für die Änderung rückgängig zu machen?

    Glaub mir Benno, ich bin dir für deine Hilfe sehr dankbar.

    Ich weiß nicht was los ist, ich scheine mich bei diesem Problem total blöd anzustellen. http://www.c-plusplus.net/ubb/ubb/eek.gif



  • das kann sogar ich dir sagen: dann übergibts du einfach "C:\windows\desktop\voll.ico,0" (Ich glaube den Index brauchst du auch bei ico dateien). den rest für SetRegValueEx kannst du dir ja aus der MSDN raussuchen...

    XWing



  • Hallo Helfer,

    ihr dürft mich wirklich nicht falsch verstehen, ich weiß eure Hilfe wirklich zu schätzen, aber ich bräuchte einen Beispiel-Source oder einfach nur die vollständige Zeile der RegSetValueEx-Funktion.

    Da das Programm nicht das macht was ich will.
    Es funktioniert nämlich nicht.

    Danke an alle Helfer

    PS: Also wie geht es weiter...
    RegSetValueEx( http://www.c-plusplus.net/ubb/ubb/confused.gif



  • @Benno
    Wäre es ein großer Umstand für dich mir zu verraten welche Class ID die Icons Arbeitsplatz, Netzwerkumgebung, Eigene Dateien, etc haben.

    CU Hexatrexmibultra



  • @Hexatrexmibultra,

    es wäre in der Tat ein viel zu großer Umstand für mich, dir zu verraten, welche ClassID die Icons des Netzwerkes (HKEY_CURRENT_USER\Software\Classes\CLSID\{208D2C60-3AEA-1069-A2D7-08002B30309D}) oder der Eigenen Dateien (HKEY_CURRENT_USER\Software\Classes\CLSID\{450D8FBA-AD25-11D0-98A8-0800361B1103}) haben!

    Der Arbeitsplatz hat keine ID (seine Icon-Referenz bezieht er aus HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0) und der Schlüssel "etc." ist in meiner Registry merkwürdigerweise überhaupt nicht auffindbar!

    Nicht traurig sein ... 😉

    Benno (www.01019freenet.de/schmidtdv)



  • @Heinz (Sp)Rühmann

    Wenn es dir zuviel Arbeit macht musst du mir es natürlich nicht verraten, wär aber ganz nett gewesen. http://www.c-plusplus.net/ubb/ubb/wink.gif

    CU Hexatrexmibultra

    [Diese Nachricht wurde von Hexatrexmibultra am 25-06-2000 editiert.]



  • @Alfred

    Benno macht wohl gerade ein Nickerchen - direkt vorm Nenster ... also bleibt die Scheiß-Codierung wohl an mir hängen ...

    HKEY hKey;
    char *szValue = "C:\\WINDOWS\\SYSTEM\\My.ico,0";

    // Öffnen der Registry
    RegOpenKeyEx (HKEY_CURRENT_USER, "Software\\Raven Software\\SoF", 0, KEY_ALL_ACCESS, &hKey);
    // Schlüssel eintragen (+ 1 steht für den 'terminating null character"
    RegSetValueEx (hKey, "empty", 0, REG_SZ, szValue, lstrlen (szValue) + 1);
    // Schließen des Muskels äh der Registry
    RegCloseKey (hKey);

    Wenn du noch jemand brauchst, der dir diesen Code in die Zwischenablage kopiert, send ne e-mail!

    Thridi Schuther (kommt mit Messiah einfach nicht weiter!) www.01019freenet.de/schmidtdv



  • Dem aufmerksamen Leser ist es bestimmt aufgefallen: Der Aufruf

    RegOpenKeyEx (HKEY_CURRENT_USER, "Software\\Raven Software\\SoF", 0, KEY_ALL_ACCESS, &hKey);

    hat nichts mit dem Icon des Papierkorbs zu tun (tatsächlich wird hier der Pfad des Programms 'Soldier of Fortune' ermittelt, um die CD-Abfrage zu eliminieren und die 'Blut-Spritz-Routinen' zu aktivieren).

    Statt "Software\\Raven Software\\SoF" muß es korrekt

    "Software\Classes\CLSID\{645FF040-5081-101B-9F08-00AA002F954E}\DefaultIcon"
    bzw.
    "Software\Classes\CLSID\{645FF040-5081-101B-9F08-00AA002F954E}\DefaultIcon"

    heißen!

    @Alfred: Laß dir bitte diese Zeile kopieren:

    RegOpenKeyEx (HKEY_CURRENT_USER, "Software\Classes\CLSID\{645FF040-5081-101B-9F08-00AA002F954E}\DefaultIcon", 0, KEY_ALL_ACCESS, &hKey);

    Mein Gott, is' mir das peinlich!

    Benno


Anmelden zum Antworten