Desktopicons ändern

SCHLES1NGER

Cadet 1st Year
Registriert
März 2022
Beiträge
12
Hallo,

habe mal eine Frage;

weiß einer wie ich die Imageres.dll ins Kontextmenü, um die Ordnericons zu ändern bekomme?
Würde das gerne wie bei meinem Linux Mint so machen, dass ich die Ordnericons per Kontextmenü abändern kann. Allerdings nur mit der original Imageres.dll (die icons daraus)

Vielen Dank iim vorraus.

SCHLES1
 
SCHLES1NGER schrieb:
Hallo,

habe mal eine Frage;

weiß einer wie ich die Imageres.dll ins Kontextmenü, um die Ordnericons zu ändern bekomme?
Würde das gerne wie bei meinem Linux Mint so machen, dass ich die Ordnericons per Kontextmenü abändern kann. Allerdings nur mit der original Imageres.dll (die icons daraus)

Vielen Dank iim vorraus.

SCHLES1
Reden wir hier von Linux oder Windows?
 
Nein, wir reden von Windows (11). Nur bei Linux Mint kann man das so machen, würde das aber auch gerne aus dem Kontextmenü unter Windows können (mit dem Set aus der Images.dll).
 
PowerShell:
#
#  Prevent Error
#    Unable to find type [System.Drawing.Icon]
#  and
#    Unable to find type [System.Drawing.Imaging.ImageFormat].
#
$null = [Reflection.Assembly]::LoadWithPartialName('System.Drawing');
$null = [Reflection.Assembly]::LoadWithPartialName('System.Drawing.Imaging');

$dllPath = "$env:SystemRoot\System32\imageres.dll"

[System.IntPtr] $phiconSmall = 0
[System.IntPtr] $phiconLarge = 0

$nofImages = [Shell32_Extract]::ExtractIconEx($dllPath, -1, [ref] $phiconLarge, [ref] $phiconSmall, 0)

foreach ($iconIndex in 0 .. ($nofImages-1)) {

   $nofIconsExtracted = [Shell32_Extract]::ExtractIconEx($dllPath, $iconIndex, [ref] $phiconLarge, [ref] $phiconSmall, 1)

   if ($nofIconsExtracted -ne 2) {
      write-error "iconsExtracted = $nofIconsExtracted"
   }

   $iconSmall = [System.Drawing.Icon]::FromHandle($phiconSmall);
   $iconLarge = [System.Drawing.Icon]::FromHandle($phiconLarge);

   $bmpSmall = $iconSmall.ToBitmap()
   $bmpLarge = $iconLarge.ToBitmap()

   $iconIndex_0  = '{0,3:000}' -f $iconIndex

 #
 #  System.Drawing.Image.Save(), without specifying an encoder, stores
 #  the bitmap in png format.
 #
   $bmpLarge.Save("$(get-location)\small-$iconIndex_0.png");
   $bmpLarge.Save("$(get-location)\large-$iconIndex_0.png");

 #
 #  Use System.Drawing.Imaging.ImageFormat to specify a
 #  different format:
 #

   $bmpSmall.Save("$(get-location)\small-$iconIndex_0.bmp", [System.Drawing.Imaging.ImageFormat]::Bmp );
   $bmpLarge.Save("$(get-location)\large-$iconIndex_0.bmp", [System.Drawing.Imaging.ImageFormat]::Bmp );
 
   $bmpSmall.Save("$(get-location)\small-$iconIndex_0.jpg", [System.Drawing.Imaging.ImageFormat]::Jpeg);
   $bmpLarge.Save("$(get-location)\large-$iconIndex_0.jpg", [System.Drawing.Imaging.ImageFormat]::Jpeg);

}

Damit extrahiert man die Icons schon mal aus der .dll und kann sie extern im .bmp-Format bearbeiten.
 
Danke, aber ihr versteht das nicht. Rechtsklick auf einem Ordner und ihm aus dem Kontextmenü ein neues Symbol verpassen (aus der Images.dll).
 
Also im Prinzip willst Du das was Du über rechtsklick auf ordner > eigenschaften > anpassen > anderes symbol machst direkt als Option im Kontexmenü bei rechtsklick haben ?

https://www.deskmodder.de/blog/2019...mbole-schnell-ueber-das-kontextmenue-aendern/

Das kommt dann Deiner Idee am nächsten, ob das auch unter 11 rennt weiss ich allerdings nicht. Aber bei deskmodder wärst Du allgemein mit Deiner Frage besser aufgehoben.

MfG
 
  • Gefällt mir
Reaktionen: SCHLES1NGER und NotNerdNotDau
Ja ganz genau, nur halt eben mit den Symbolen aus der Images DLL und nicht die aus irgend einer Software :)
 
Weil mir die aus der imageres am ehesten zusagen. Soll schon alles rund sein, zumal weil ich es so möchte.
 
SCHLES1NGER schrieb:
Weil mir die aus der imageres am ehesten zusagen.
Schau Dir die Software doch mal an. Irgendwo kocht die auch nur mit Wasser, vielleicht kriegst Du die Standard DLLs da eingebunden. Versuch kann ja nicht schaden ;)

MfG
 
Zurück
Oben