Jump to content

Recommended Posts

i have updated an old script named "Icon-Viewer", shortname 'iv'

After starting 'iv' search for all DLL's in @Systemdir, and show every dll with 1+ icons in a comboBox.  Afaik Shell32 is the most used DLL for, so 'iv' also start with it.

Each change of dllCombo clears the Lisview and after showing the Icons for the selected DLL.

The Icon's are shown in a Listview with 16 SubItems with Icon and the IconId.

The (Main)-Item is reduced to a checkbox which is used to select a Item with all 16 Icons for saving. After selecting all wanted item-rows click "ausgewählte Items speichern" 

Another way to save a Icon is rightclick on a subItem and after this click "Icon speichern"

The path for saving is @UserProfileDir & "\Pictures\Icons", the name for saved files is Dllname_ItemId.ico,


Have fun, use/test it and tell me your suggestions.



IconSaver.au3 IconSaver.exe

Edited by AutoBert
Link to post
Share on other sites

From the 'iv' i take the saving part to a CUI. name Icon-Saver Source in the opening post.

I needs at minimum 2 max. 3 Parameters:

  1. is the DLL.name like shell32.dll
  2. the iconid's separated by semicolon or just all
  3. the path where the icons should be saved is optional, without this is set to @UserProfileDir & "\Pictures\Icons"

mfg (auto)Bert

Edited by AutoBert
Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By rootx
      I would like to know how to increase the resolution of the icons in the grid.
      $iColor = 5 is 32 bit DIB section.. but if I try with
      $Image = _GUIImageList_Create(48,48,5,1)
      the upscaling is very bad and pixelate, I have 32bit icon resolution with hight detail, how can I control or force the resolution of the icons ?
    • By rootx
      Local $hGui, $listview, $hImage Local $aArray = _FileListToArrayRec(IniRead($ini, "Name", "path", ""), "*file.exe", $FLTAR_FILES, 1, $FLTAR_SORT,$FLTAR_FULLPATH) $hGui = GUICreate("ImageList", 400, 300) $listview = _GUICtrlListView_Create($hGui, "", 2, 2, 394, 268) _GUICtrlListView_InsertColumn($listview, 0, "Programs", 300) $hImage = _GUIImageList_Create(32, 32) GUISetState() $fileArray = UBound($aArray) -1 For $y = 1 To $fileArray _GUIImageList_AddIcon($hImage, $IniRead($ini,$aArray[$y], "icon", "")) _GUICtrlListView_SetImageList($listview, $hImage, 1) _GUICtrlListView_AddItem($listview, $aArray[$y]) Next 
       I would like to place an icon dynamically from an .ini file. From the .ini file the name of the program is loaded properly , but the icon remains the same, It loads only the icon of the first program. could Someone help me?
      Mea culpa,
      $ico =_GUIImageList_AddIcon($hImage, $IniRead($ini,$aArray[$y], "icon", ""))
      _GUICtrlListView_SetImageList($listview, $hImage, 1)
      _GUICtrlListView_AddItem($listview, $aArray[$y],$ico)
    • By Mithrandir
      First of all, I am starting with GUIs but reading examples from the helpfile as well as the forum I made an script in which I have a listview that is going to be populated with user input and sorted at any given moment. When I sort it by the first or second column with the data that was already set when starting the script (1|D,2|C,4|A,3|D ) It sorts correctly but when I add a new element it doesn't sort it right, it seems it dismisses the new entered data. Here is a small example of my code to show the issue:

      #include <ButtonConstants.au3> #include <EditConstants.au3> #include <GUIConstantsEx.au3> #include <ListViewConstants.au3> #include <StaticConstants.au3> #include <WindowsConstants.au3> #include <GuiListView.au3> $Form1_1 = GUICreate("Form1", 969, 569, 209, 134) $ListView1 = GUICtrlCreateListView("Col1|Col2", 32, 128, 353, 321, -1, $LVS_EX_CHECKBOXES) _GUICtrlListView_RegisterSortCallBack($ListView1) GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 115) GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 1, 115) $ListView1_0 = GUICtrlCreateListViewItem("1|D", $ListView1) $ListView1_1 = GUICtrlCreateListViewItem("2|C", $ListView1) $ListView1_2 = GUICtrlCreateListViewItem("4|A", $ListView1) $ListView1_3 = GUICtrlCreateListViewItem("3|B", $ListView1) $bElim = GUICtrlCreateButton("Delete element(s)", 176, 464, 201, 25) $elem = GUICtrlCreateInput("Element", 88, 16, 241, 21) $bAdd = GUICtrlCreateButton("Add letter", 112, 48, 201, 33) GUISetState(@SW_SHOW) While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE _GUICtrlListView_UnRegisterSortCallBack($ListView1) Exit Case $ListView1 _GUICtrlListView_SortItems($ListView1, GUICtrlGetState($ListView1)) Case $bElim $i = 0 $cantitems = _GUICtrlListView_GetItemCount(GUICtrlGetHandle($ListView1)) While $i <= $cantitems If _GUICtrlListView_GetItemChecked(GUICtrlGetHandle($ListView1), $i) Then _GUICtrlListView_DeleteItem(GUICtrlGetHandle($ListView1), $i) Else $i += 1 EndIf WEnd Case $bAdd $number = Random(0, 100, 1) $handlelista = GUICtrlGetHandle($ListView1) _GUICtrlListView_AddItem($handlelista, $number) _GUICtrlListView_AddSubItem($handlelista, _GUICtrlListView_GetItemCount(GUICtrlGetHandle($ListView1)) - 1, GUICtrlRead($elem), 1) EndSwitch WEnd
      Note that if you delete all the elements that are set after the script started and you add new ones, it doesn't sort them.
      What's wrong? Thanks for your help!
    • By Reekod
      Hi all,

      I don't understand why the column 2 and 3 have no value when i press GO button

      Thx for help

      #include <ButtonConstants.au3> #include <GUIConstantsEx.au3> #include <ListViewConstants.au3> #include <WindowsConstants.au3> #include <GuiListView.au3> #Region ### START Koda GUI section ### Form= $Form1 = GUICreate("Form1", 633, 454, 192, 114) $ListView1 = GUICtrlCreateListView("", 48, 48, 538, 382) $Go = GUICtrlCreateButton("Go", 280, 8, 75, 25, $WS_GROUP) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $Go go() EndSwitch WEnd Func Go() _GUICtrlListView_Destroy($ListView1) $ListView1 = GUICtrlCreateListView("", 48, 48, 538, 382) _GUICtrlListView_InsertColumn($ListView1, 0, "Column 1", 100) _GUICtrlListView_InsertColumn($ListView1, 1, "Column 2", 100) _GUICtrlListView_InsertColumn($ListView1, 2, "Column 3", 100) $i = 1 For $dropcols = 1 To 100 If $i = 1 Then _GUICtrlListView_AddItem($ListView1, $dropcols) Else If $i > 3 Then $i = 0 Else _GUICtrlListView_AddSubItem($ListView1, $i, $dropcols, $dropcols) EndIf EndIf $i = $i + 1 Next EndFunc ;==>Go
  • Create New...