icons8 icon cool windows icons

windows - cool - ¿Cómo se obtienen los iconos de shell32.dll?



windows icons pack (10)

Otra opción es usar una herramienta como ResourceHacker . Maneja mucho más que solo iconos. ¡Aclamaciones!

Me gustaría que el ícono Tree se use para una aplicación local. ¿Alguien sabe cómo extraer las imágenes como archivos .icon? Me gustaría tanto el 16x16 como el 32x32, o simplemente haría una captura de pantalla.


El extracto de recursos es otra herramienta que buscará de manera recursiva íconos de una gran cantidad de DLL, IMO muy útil.


Simplemente abra el archivo DLL con IrfanView y guarde el resultado como .gif o .jpg.

Sé que esta pregunta es antigua, pero es el segundo hit de Google de "extraer ícono de dll", quería evitar instalar algo en mi estación de trabajo y recordé que uso IrfanView.



Puede descargar Freeware Resource Hacker y luego seguir las instrucciones a continuación:

  1. Abre cualquier archivo dll del que quieras encontrar íconos.
  2. Explore carpetas para encontrar íconos específicos.
  3. Desde la barra de menú, selecciona ''acción'' y luego ''guardar''.
  4. Seleccione el destino para el archivo .ico.

Referencia: http://techsultan.com/how-to-extract-icons-from-windows-7/


Necesitaba extraer el ícono # 238 de shell32.dll y no quería descargar Visual Studio o Resourcehacker, así que encontré un par de scripts de PowerShell de Technet (gracias a John Grenfell y a # https://social.technet.microsoft. com / Forums / windowsserver / en-US / 16444c7a-ad61-44a7-8c6f-b8d619381a27 / using-icons-in-powershell-scripts? forum = winserverpowershell ) que hizo algo similar y creó un nuevo script (a continuación) para satisfacer mis necesidades .

Los parámetros que ingresé fueron (la ruta DLL de origen, el nombre del archivo de ícono de destino y el índice del ícono dentro del archivo DLL):

C: / Windows / System32 / shell32.dll

C: / Temp / Restart.ico

238

Descubrí que el índice de íconos que necesitaba era # 238 por prueba y error al crear temporalmente un nuevo acceso directo (haga clic derecho en su escritorio y seleccione Nuevo -> Acceso directo y escriba calc y presione Intro dos veces). A continuación, haga clic con el botón derecho en el nuevo acceso directo y seleccione Propiedades, luego haga clic en el botón "Cambiar icono" en la pestaña Acceso directo. Pegue en la ruta C: / Windows / System32 / shell32.dll y haga clic en Aceptar. Encuentre el ícono que desea usar y resuelva su índice. NB: el índice n. ° 2 está debajo del n. ° 1 y no a la derecha. El índice de iconos # 5 estaba en la parte superior de la columna dos en mi máquina Windows 7 x64.

Si alguien tiene un método mejor que funciona de manera similar pero obtiene íconos de mayor calidad, me interesaría saberlo. Gracias, Shaun.

#Windows PowerShell Code########################################################################### # http://gallery.technet.microsoft.com/scriptcenter/Icon-Exporter-e372fe70 # # AUTHOR: John Grenfell # ########################################################################### <# .SYNOPSIS Exports an ico and bmp file from a given source to a given destination .Description You need to set the Source and Destination locations. First version of a script, I found other examples but all I wanted to do as grab and ico file from an exe but found getting a bmp useful. Others might find useful No error checking I''m afraid so make sure your source and destination locations exist! .EXAMPLE ./Icon_Exporter.ps1 .Notes Version HISTORY: 1.1 2012.03.8 #> Param ( [parameter(Mandatory = $true)][string] $SourceEXEFilePath, [parameter(Mandatory = $true)][string] $TargetIconFilePath ) CLS #"shell32.dll" 238 If ($SourceEXEFilePath.ToLower().Contains(".dll")) { $IconIndexNo = Read-Host "Enter the icon index: " $Icon = [System.IconExtractor]::Extract($SourceEXEFilePath, $IconIndexNo, $true) } Else { [void][Reflection.Assembly]::LoadWithPartialName("System.Drawing") [void] [System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms") $image = [System.Drawing.Icon]::ExtractAssociatedIcon("$($SourceEXEFilePath)").ToBitmap() $bitmap = new-object System.Drawing.Bitmap $image $bitmap.SetResolution(72,72) $icon = [System.Drawing.Icon]::FromHandle($bitmap.GetHicon()) } $stream = [System.IO.File]::OpenWrite("$($TargetIconFilePath)") $icon.save($stream) $stream.close() Write-Host "Icon file can be found at $TargetIconFilePath"


Aquí hay una versión actualizada de una solución anterior. Agregué una asamblea faltante que estaba enterrada en un enlace. Los principiantes no entenderán eso. Esta es una muestra que se ejecutará sin modificaciones.

<# .SYNOPSIS Exports an ico and bmp file from a given source to a given destination .Description You need to set the Source and Destination locations. First version of a script, I found other examples but all I wanted to do as grab and ico file from an exe but found getting a bmp useful. Others might find useful .EXAMPLE This will run but will nag you for input ./Icon_Exporter.ps1 .EXAMPLE this will default to shell32.dll automatically for -SourceEXEFilePath ./Icon_Exporter.ps1 -TargetIconFilePath ''C:/temp/Myicon.ico'' -IconIndexNo 238 .EXAMPLE This will give you a green tree icon (press F5 for windows to refresh Windows explorer) ./Icon_Exporter.ps1 -SourceEXEFilePath ''C:/Windows/system32/shell32.dll'' -TargetIconFilePath ''C:/temp/Myicon.ico'' -IconIndexNo 41 .Notes Based on http://.com/questions/8435/how-do-you-get-the-icons-out-of-shell32-dll Version 1.1 2012.03.8 New version: Version 1.2 2015.11.20 (Added missing custom assembly and some error checking for novices) #> Param ( [parameter(Mandatory = $true)] [string] $SourceEXEFilePath = ''C:/Windows/system32/shell32.dll'', [parameter(Mandatory = $true)] [string] $TargetIconFilePath, [parameter(Mandatory = $False)] [Int32]$IconIndexNo = 0 ) #https://social.technet.microsoft.com/Forums/windowsserver/en-US/16444c7a-ad61-44a7-8c6f-b8d619381a27/using-icons-in-powershell-scripts?forum=winserverpowershell $code = @" using System; using System.Drawing; using System.Runtime.InteropServices; namespace System { public class IconExtractor { public static Icon Extract(string file, int number, bool largeIcon) { IntPtr large; IntPtr small; ExtractIconEx(file, number, out large, out small, 1); try { return Icon.FromHandle(largeIcon ? large : small); } catch { return null; } } [DllImport("Shell32.dll", EntryPoint = "ExtractIconExW", CharSet = CharSet.Unicode, ExactSpelling = true, CallingConvention = CallingConvention.StdCall)] private static extern int ExtractIconEx(string sFile, int iIndex, out IntPtr piLargeVersion, out IntPtr piSmallVersion, int amountIcons); } } "@ If (-not (Test-path -Path $SourceEXEFilePath -ErrorAction SilentlyContinue ) ) { Throw "Source file [$SourceEXEFilePath] does not exist!" } [String]$TargetIconFilefolder = [System.IO.Path]::GetDirectoryName($TargetIconFilePath) If (-not (Test-path -Path $TargetIconFilefolder -ErrorAction SilentlyContinue ) ) { Throw "Target folder [$TargetIconFilefolder] does not exist!" } Try { If ($SourceEXEFilePath.ToLower().Contains(".dll")) { Add-Type -TypeDefinition $code -ReferencedAssemblies System.Drawing $form = New-Object System.Windows.Forms.Form $Icon = [System.IconExtractor]::Extract($SourceEXEFilePath, $IconIndexNo, $true) } Else { [void][Reflection.Assembly]::LoadWithPartialName("System.Drawing") [void] [System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms") $image = [System.Drawing.Icon]::ExtractAssociatedIcon("$($SourceEXEFilePath)").ToBitmap() $bitmap = new-object System.Drawing.Bitmap $image $bitmap.SetResolution(72,72) $icon = [System.Drawing.Icon]::FromHandle($bitmap.GetHicon()) } } Catch { Throw "Error extracting ICO file" } Try { $stream = [System.IO.File]::OpenWrite("$($TargetIconFilePath)") $icon.save($stream) $stream.close() } Catch { Throw "Error saving ICO file [$TargetIconFilePath]" } Write-Host "Icon file can be found at [$TargetIconFilePath]"


En Visual Studio, elija "Archivo Abrir ..." luego "Archivo ...". A continuación, elija el Shell32.dll. Se debe abrir un árbol de carpetas y encontrará los iconos en la carpeta "Icono".

Para guardar un ícono, puede hacer clic derecho en el ícono en el árbol de carpetas y elegir "Exportar".


Si alguien está buscando una manera fácil, simplemente use 7zip para descomprimir el shell32.dll y busque la carpeta .src / ICON /


También hay este recurso disponible, la Biblioteca de imágenes de Visual Studio, que "se puede usar para crear aplicaciones que se vean visualmente consistentes con el software de Microsoft", presumiblemente sujeto a la licencia otorgada en la parte inferior. https://www.microsoft.com/en-ca/download/details.aspx?id=35825