Richard Suchenwirth 2004-10-01 - After I posted icoview, kroc hinted me to the pure-Tcl ico extension in Tklib. This can also read (and write!) Windows icons from .exe and .dll files, and contains the ico::Show displayer, which renders the found images - in a slightly surprising way, as it packs a scrolled window under ., without having been told so, and adds a labelframe for each shown file.
So here's my tiny wrapper around ico::Show, which just contributes an entry for the file name, and a Select (...) button which brings up a file selector:
package require Tk package require ico 0.3 pack [frame .f] -fill x pack [button .f.b -text ... -command select] -side right pack [entry .f.e -textvariable filename -width 60] \ -fill x -expand 1 -side left bind .f.e <Return> {ico::Show $filename} set ::dir [file dir [info script]] proc select {} { set fn [tk_getOpenFile -initialdir $::dir -f { {"All Icons" .exe} {"All Icons" .ico} {"All Icons" .dll} {Exe .exe} {DLL .dll} {Icon .ico} {"All files" *}}] if {$fn ne ""} { set ::dir [file dir $fn] set ::filename $fn ico::Show $fn } } select bind . <Escape> {exec wish $argv0 &; exit}
MG Oct 2nd 2004 - Edited very slightly so that the tk_getOpenFile has an option that shows .exe, .dll and .ico files all at once, so you can view all the valid "icon" files without all the spam of viewing *.*.
Eugene 2011 February 26 - Seems that ::ico::Show isn't available anymore in ico package version 1.0.5 (the latest one teacup delivered me).