소프트웨어 imageres.dll shell32.dll icon index 복사.ahk
2021.08.21 23:55
청락님의 댓글 참고하여 메인 메뉴에 아이콘을 추가하였습니다. dll_icon_index_copy(icon).ahk
- 참고로 오토핫키는 아이콘을 +1 하여 가져오네요.
- 필요시 상단 설정 부분에서 아이콘 DLL을 추가하거나 빼서, 수정하여 사용하십시오.
안녕하세요. 아래 게시물에서 착안하여 주말에 도전해봅니다.(구글신에게 물어도 쓸만한 것이 없어서...)
- https://windowsforum.kr/lecture/16665455
- https://windowsforum.kr/lecture/16665439
- "코요88"님 수고 많으셨습니다. ^^
아주 가끔 아이콘 적용을 위해 imageres.dll, shell32.dll 등에서 아이콘을 찾은 후 index 번호를 얻습니다.
상기 게시물 댓글에 몇가지 관련 유틸 정보를 올렸지만 대부분 인덱스 번호가 일치하지 않았습니다.
IconExplorer.exe 가 가장 맞는 정보를 보여주는데, 이것도 뒷쪽에 위치한 아이콘들이 나타나지가 않더군요.
참고로 윈도우 버전별로 인덱스가 조금씩 다르고 윈10도 초기 버전과 요즘 버전의 인덱스도 조금씩 다르네요.
그래서 자신의 윈도우에 맞는 정보를 얻어보고자 시도하게 되었습니다.
얼마나 필요할지는 모르겠지만... 예전에 "코요88" 님이 올려주신 것과 같은 스샷을 얻고 싶었던 적이 있었습니다.^^
수정할 부분 발견되면 댓글 부탁드립니다. 오류가 있을지도 모르겠습니다.
아이콘을 표시하는 방법을 몇가지 생각해보았는데, 오토핫키의 Menu에 표시되는 것을 착안하여 아래처럼 만들었습니다.
dll_icon_index_copy.ahk <- 필요시 스크립트의 초반부의 아래 내용을 수정해줍니다. dll 파일이 많으면 처음 실행 시간이 좀 걸립니다.
아이콘 크기 32가 마음에 드는데 세로 1080 해상도에 30개 정도 보여주려면 28 정도가 적당할 것 같은데 어떠실지...ㅎ~
ps. 목,어깨에 담이 걸려 아파 죽겠네요.ㅠㅠ 쉬엄쉬엄 했더니 저녁시간이 다 갔다는... 아프지말고 행복하세요. ㅋ~
메뉴 마지막에 종료 메뉴 추가하였습니다.^^ dll_icon_index_copy.ahk
댓글 [8]
-
지후빠 2021.08.22 09:01
-
cungice 2021.08.22 15:09
수고 많으셨습니다. 감사합니다.
-
코요88 2021.08.22 17:36
갯수지정이 있어서 수작업은 많이 줄겠네요.. 수고하셨습니다.
-
지후빠 2021.08.22 20:29
예전에 필요해서 구글 검색했는데 구글 이미지에 나온 아이콘 인덱스와 제 PC와는 달라서 어리둥절 했던 기억이 있습니다.
그래서 관련된 것을 검색하다 보니, 유틸도 써보고 했지만 부족하여 토탈커맨터 도구바에서 아이콘 변경 트릭으로 확인했어야 했습니다.^^
-
두리안 2021.08.23 00:52
오 ! 꼭 챙겨놔야할 파일이 한개 더 늘었네요. 감사합니다 ^^
-
청락 2021.08.23 15:46 고생하셨습니다.^^
바로나오게 + F1대신 마우스우클릭 + 종료아이콘...
; Script Name: DLL ICON INDEX COPY
; Description: DLL 파일에 포함된 아이콘들을 조회하고 선택시 인덱스 번호를 복사
; Author: 지후빠 <bhleejw@naver.com>
; Revision 1 (2021-08-21), Initial release
; SETTINGS =====================================================================
#SingleInstance, Force
Global dllfiles := ["imageres.dll","shell32.dll","netshell.dll","wmploc.dll","ddores.dll","ieframe.dll","setupapi.dll"]
Global menuline := 30 ; 한번에 보여줄 아이콘 갯수 지정
Global iconsize := 28 ; 아이콘 크기 지정
; ==============================================================================
Global dlliconi := Array()
Global idx1, dllfile
Menu, dllicons, Add
Menu, dllicons, DeleteAll
Loop % dllfiles.Length()
{
count := 0
dllfile := dllfiles[A_Index]
while(handle:=LoadPicture(dllfile,"icon" A_Index))
count++
dlliconi[A_Index] := count
subname := dllfile . "_"
divpart := 1 + (dlliconi[A_Index] // menuline)
SubMenu(subname,divpart,dlliconi[A_Index])
Menu, dllicons, Add, %dllfile%, :%subname%
}
Menu, dllicons, Add
Menu, dllicons, Add, 종료, menuclose
Menu, dllicons, Icon, 종료, %A_Windir%\system32\imageres.dll, 162
Menu, dllicons, Show,,
Return
SubMenu(name,n,m)
{
Menu,%name%,Add
Menu,%name%,DeleteAll
Loop, %n%
{
idx1 := (A_index - 1) * menuline
subname := dllfile . "_" . idx1
ExtIcons(subname,m)
Menu,%name%,Add,%idx1%,:%subname%
}
}
ExtIcons(name,n)
{
Menu,%name%,Add
Menu,%name%,deleteAll
Loop, %menuline%
{
idx3 := A_index + idx1
if idx3 > %n%
break
idx2 := idx3 - 1
Menu,%name%,Add,%idx2%,copyindex
Menu,%name%,icon,%idx2%,%dllfile%,%idx3%,%iconsize%
}
}
copyindex:
dllname := RegExReplace(A_ThisMenu,"_.*?$")
clipboard := dllname . "," . A_ThisMenuItem
MsgBox,,Copy to clipboard ,%clipboard%를 클립보드에 복사완료,1
Return
menuclose:
ExitApp
Rbutton::
;WinActivate, ahk_class Progman
sleep, 450
send, {escape}
Menu, dllicons, Show,,
Return
-
지후빠 2021.08.23 16:15
청락님 관심주시어 감사합니다.^^
또 댓글과 추천해주신 모든 분께 감사드립니다. 즐거운 하루되세요.~
-
왕초보 2021.08.24 07:45
아이콘 번호 찾는데 이제 고생 끝인것 같습니다..
좋은 작품 감사합니다
항상 웃음이 가득한 일만 있으시길 바랍니다..
오토핫키 설치 안되어 있는 분들을 위한 실행파일 입니다. ^^ dll_icon_index_copy.exe
(컴파일된 오토핫키 스크립트 특성상 백신에서 바이러스 오진이 있을 수 있습니다.)