โšก Sangsakala Proxy ๐Ÿ  Home
Skip to content
deuxdoomPublic

About

A lightweight Windows utility to remove unwanted context menu entries and stale Open With registrations, with registry backup and automatic Explorer restart.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

ย 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

ShellTidy ์•„์ด์ฝ˜

ShellTidy

์—ฐ๊ฒฐ ํ”„๋กœ๊ทธ๋žจ๊ณผ ์šฐํด๋ฆญ ๋ฉ”๋‰ด์— ๋‚จ์€ ์˜ค๋ž˜๋œ ๋“ฑ๋ก์„ ์ •๋ฆฌํ•˜์„ธ์š”.

๋ฒ„์ „ 0.0.2 Windows 10/11 x64 ๋Œ€์ƒ MIT ๋ผ์ด์„ ์Šค C++20 Win32

ShellTidy 0.0.2 EXE ๋‹ค์šด๋กœ๋“œ 0.0.2 ๋ฆด๋ฆฌ์Šค ์•ˆ๋‚ด

์ฃผ์š” ๊ธฐ๋Šฅ ย ยทย  ์‚ฌ์šฉ ๋ฐฉ๋ฒ• ย ยทย  ์ง์ ‘ ๋นŒ๋“œ ย ยทย  ๋ฐฑ์—…๊ณผ ๋ณต์› ย ยทย  ์ง€์› ๋ฒ”์œ„ ย ยทย  ๋ณ€๊ฒฝ ๋‚ด์—ญ ย ยทย  ์†Œ๊ฐœ ํŽ˜์ด์ง€ ์†Œ์Šค

์†Œ๊ฐœ

ํ˜„์žฌ ๋ฒ„์ „์€ 0.0.2์ž…๋‹ˆ๋‹ค. ์œ„ ๋‹ค์šด๋กœ๋“œ ๋งํฌ๋Š” ์ตœ์‹  ๊ณต๊ฐœํŒ EXE๋ฅผ ๋‚ด๋ ค๋ฐ›์œผ๋ฉฐ, ์ง์ ‘ ๋นŒ๋“œํ•œ ์‹คํ–‰ ํŒŒ์ผ์€ dist/ShellTidy.exe์— ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ๋ณ€๊ฒฝ ๋‚ด์šฉ์€ CHANGELOG.md๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.

ํ”„๋กœ๊ทธ๋žจ์„ ์˜ฎ๊ธฐ๊ฑฐ๋‚˜ ์‚ญ์ œํ•œ ๋’ค์—๋„ Windows์˜ ์—ฐ๊ฒฐ ํ”„๋กœ๊ทธ๋žจ(Open With) ๊ณผ ์šฐํด๋ฆญ ๋ฉ”๋‰ด์— ์˜ˆ์ „ ํ•ญ๋ชฉ์ด ๋‚จ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ShellTidy๋Š” ์‹ค์ œ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ๋“ฑ๋ก์„ ์ฐพ์•„ ๊ฒฝ๋กœ์™€ ์ถœ์ฒ˜๋ฅผ ๋ณด์—ฌ ์ฃผ๊ณ , ์‚ฌ์šฉ์ž๊ฐ€ ์„ ํƒํ•œ ๋“ฑ๋ก์„ ๋ฐฑ์—…ํ•œ ๋’ค ์‚ญ์ œํ•˜๋Š” ์ž‘์€ Windows ์•ฑ์ž…๋‹ˆ๋‹ค. ์ง€์šฐ๊ธฐ ๋ง์„ค์—ฌ์ง€๋Š” ์…ธ ๋ฉ”๋‰ด์™€ ์…ธ ํ™•์žฅ์€ ๋“ฑ๋ก์„ ๋‚จ๊ธด ์ฑ„ ์‚ฌ์šฉ ์•ˆ ํ•จ์œผ๋กœ ๋ฐ”๊พธ๊ณ  ๋‹ค์‹œ ๋˜๋Œ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ShellExViewยทOpenWithView์ฒ˜๋Ÿผ ๋ชฉ๋ก ์ค‘์‹ฌ์œผ๋กœ ๊ตฌ์„ฑํ–ˆ์œผ๋ฉฐ, ๊ฒ‰๋ชจ์Šต์€ Windows 11์˜ ๋ฐ๊ณ  ๋‹จ์ˆœํ•œ ์Šคํƒ€์ผ์„ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด Picvium.Image.jpg์™€ Picvium.Installed.Image.jpg๊ฐ€ ์„œ๋กœ ๋‹ค๋ฅธ ์‹คํ–‰ ๊ฒฝ๋กœ๋ฅผ ๊ฐ€๋ฆฌํ‚จ๋‹ค๋ฉด ๊ฐ๊ฐ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฆ„๋งŒ ๊ฐ™๋‹ค๊ณ  ํ•ฉ์น˜์ง€ ์•Š์œผ๋ฉฐ, ๊ฐ™์€ ๋ช…๋ น์„ ๊ฐ€๋ฆฌํ‚ค๋Š” ์—ฌ๋Ÿฌ ํ™•์žฅ์ž ์ฐธ์กฐ๋Š” ํ•จ๊ป˜ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ฌถ์Šต๋‹ˆ๋‹ค.

๋‹จ์ผ EXE๋กœ ์‹คํ–‰ํ•˜๋ฉฐ ์„ค์น˜ ๊ณผ์ •์ด๋‚˜ .NETยทPythonยทVC++ ์žฌ๋ฐฐํฌ ํŒจํ‚ค์ง€๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์‹คํ–‰ ํŒŒ์ผ์—๋Š” ์ •์  MSVC ๋Ÿฐํƒ€์ž„๊ณผ ์•„์ด์ฝ˜์ด ๋“ค์–ด ์žˆ์Šต๋‹ˆ๋‹ค. Windows ๊ธฐ๋ณธ ์‹œ์Šคํ…œ DLL์€ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

ํ™”๋ฉด ๋ฏธ๋ฆฌ๋ณด๊ธฐ

ํ˜„์žฌ UI ๋ฐฐ์น˜๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ๊ฐ€์ƒ์˜ ์•ฑ ์ด๋ฆ„ยท๊ฒฝ๋กœยท๋“ฑ๋ก์œผ๋กœ ์žฌ๊ตฌ์„ฑํ•œ ์˜ˆ์‹œ ํ™”๋ฉด์ž…๋‹ˆ๋‹ค.

๋ฉ”๋‰ด ๋ง‰๋Œ€, ๋„๊ตฌ ๋ชจ์Œ, ๋ชฉ๋ก, ํ•˜๋‹จ ์ •๋ณด ์ฐฝ์œผ๋กœ ๊ตฌ์„ฑํ•œ ShellTidy ์˜ˆ์‹œ ํ™”๋ฉด

์ฃผ์š” ๊ธฐ๋Šฅ

  • ๋ชจ๋“  ํ™•์žฅ์ž ๊ฒ€์ƒ‰: HKCU FileExts, HKCU/HKLM Classes์˜ OpenWithListยทOpenWithProgids, Applications ๋ฐ RegisteredApplications์˜ ํŒŒ์ผ ์—ฐ๊ฒฐ ์ฐธ์กฐ๋ฅผ ์กฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.
  • ์ผ๋ฐ˜ ๋ฉ”๋‰ด ๊ฒ€์ƒ‰: ํŒŒ์ผยทํด๋”ยทํด๋” ๋ฐฐ๊ฒฝยท๋“œ๋ผ์ด๋ธŒ ๋ฐ ProgID์˜ ์ •์  shell verb์™€ COM ContextMenuHandlers๋ฅผ ๊ตฌ๋ถ„ํ•ฉ๋‹ˆ๋‹ค. SystemFileAssociations์˜ ํ™•์žฅ์žยทํŒŒ์ผ ์ข…๋ฅ˜๋ณ„ ๋ฉ”๋‰ด๋„ ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค.
  • ์ƒํƒœ ๊ตฌ๋ถ„: ์ •์ƒ, ๊ฒฝ๋กœ ์—†์Œ, ๋“ฑ๋ก ์—†์Œ, ์ค‘๋ณต ์˜์‹ฌ, ํ™•์ธ ํ•„์š”, ์‹œ์Šคํ…œ ๋ณดํ˜ธ๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. '๋“ฑ๋ก ์—†์Œ'์€ ์ฐธ์กฐํ•˜๋Š” ProgIDยทApplications ํ‚คยทCLSID ์ž์ฒด๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค. ์—ฐ๊ฒฐ๋˜์ง€ ์•Š์€ ๋“œ๋ผ์ด๋ธŒ๋‚˜ ๋„คํŠธ์›Œํฌ ์œ„์น˜์˜ ์•ฑ์€ '๊ฒฝ๋กœ ์—†์Œ'์ด ์•„๋‹ˆ๋ผ ํ™•์ธ ํ•„์š”๋กœ ๋‚จ๊น๋‹ˆ๋‹ค. ์ƒํƒœ ํ‘œ์‹œ๋Š” ์‚ญ์ œ ๊ถŒ๊ณ ๊ฐ€ ์•„๋‹ˆ๋ฉฐ, ๊ฒฝ๋กœ๋ฅผ ํ•ด์„ํ•˜์ง€ ๋ชปํ•˜๋ฉด ํ™•์ธ ํ•„์š”๋กœ ๋‚จ๊น๋‹ˆ๋‹ค.
  • ๊ธฐ๋ณธ ์•ฑ ๋ณดํ˜ธ: UserChoice์™€ Windows 11์˜ UserChoiceLatest, Windows๊ฐ€ ์•Œ๋ ค ์ฃผ๋Š” ์‹ค์ œ ๊ธฐ๋ณธ ์•ฑ (AssocQueryString), ์›น ํ”„๋กœํ† ์ฝœ ๊ธฐ๋ณธ ์•ฑ์„ ๋ชจ๋‘ ๋ณดํ˜ธํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ์•ฑ ์ •๋ณด๋ฅผ ์ฝ์ง€ ๋ชปํ•˜๋ฉด ํ•ด๋‹น ํ™•์žฅ์ž์™€ ๊ด€๋ จ๋œ ํ•ญ๋ชฉ๋งŒ ๋ณดํ˜ธํ•ฉ๋‹ˆ๋‹ค.
  • ์‚ฌ์šฉ ์•ˆ ํ•จ / ์‚ฌ์šฉ: ์…ธ ๋ฉ”๋‰ด๋Š” verb ํ‚ค์˜ LegacyDisable ๊ฐ’์œผ๋กœ, ์…ธ ํ™•์žฅ๊ณผ ํŒจํ‚ค์ง€ COM ํ›„๋ณด๋Š” HKCU\...\Shell Extensions\Blocked์˜ CLSID๋กœ ์‚ฌ์šฉ ์•ˆ ํ•จ์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ๋“ฑ๋ก์€ ์ง€์šฐ์ง€ ์•Š์œผ๋ฉฐ ์‚ฌ์šฉ์œผ๋กœ ๋˜๋Œ๋ฆฌ๋ฉด ์ด ๊ฐ’๋งŒ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค. ์…ธ ํ™•์žฅ ์ฐจ๋‹จ์€ ๊ฐ™์€ CLSID๋ฅผ ์“ฐ๋Š” ๋ชจ๋“  ๋ฉ”๋‰ด์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. openยทrunas ๊ฐ™์€ ํ•ต์‹ฌ ๋™์ž‘๊ณผ ํ˜„์žฌ ๊ธฐ๋ณธ ์•ฑ์˜ ๋ฉ”๋‰ด๋Š” ์‚ฌ์šฉ ์•ˆ ํ•จ์œผ๋กœ ๋ฐ”๊ฟ€ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
  • ์‹ค์ œ ์‚ญ์ œ: ์„ ํƒํ•œ ์ฐธ์กฐ ๊ฐ’์ด๋‚˜ ๊ฐœ๋ณ„ ๋ฉ”๋‰ด/์•ฑ ํ‚ค๋ฅผ ์‚ญ์ œํ•˜๊ณ  OpenWithList์˜ MRUList๋ฅผ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ์„ ํƒ ์ดํ›„ ์‹คํ–‰ ๋ช…๋ น์ด ๋ฐ”๋€Œ๋ฉด ์‚ญ์ œ๋ฅผ ์ค‘๋‹จํ•ฉ๋‹ˆ๋‹ค. ๊ณต์œ  ProgID์™€ CLSID ์ „์ฒด๋Š” ์ œ๊ฑฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • ์ž๋™ ๋ฐฑ์—…๊ณผ ๋ณต์›: ์‚ญ์ œ์™€ ์‚ฌ์šฉ ์•ˆ ํ•จ/์‚ฌ์šฉ ๋ณ€๊ฒฝ ๋ชจ๋‘ ๊ฐ’ ์ด๋ฆ„ยท์œ ํ˜•ยท๋ฐ”์ดํŠธ๋ฅผ ๋ณด๊ด€ํ•˜๋ฉฐ, ํ˜„์žฌ ๊ฐ’๊ณผ ์ถฉ๋Œํ•˜๋ฉด ๋ฎ์–ด์“ฐ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • ๋ชฉ๋ก ์ค‘์‹ฌ UI: ๋ฉ”๋‰ด ๋ง‰๋Œ€, Fluent ์•„์ด์ฝ˜ ๋„๊ตฌ ๋ชจ์Œ, ๊ฒ€์ƒ‰ยท์œ ํ˜•ยท์ƒํƒœ ํ•„ํ„ฐ, ๊ฐ€์ƒ ๋ชฉ๋ก, ํ•˜๋‹จ ์ •๋ณด ์ฐฝ, ์ƒํƒœ ํ‘œ์‹œ์ค„๋กœ ๊ตฌ์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ ํ•ญ๋ชฉ์„ ๋จผ์ € ์ •๋ ฌํ•˜๊ณ  ์—ฐํ•œ ๋ถ‰์€ ๋ฐฐ๊ฒฝ์œผ๋กœ ํ‘œ์‹œํ•˜๋ฉฐ, ๋ณดํ˜ธ ํ•ญ๋ชฉ์€ ์ฒดํฌ๋ฐ•์Šค ์—†์ด ํšŒ์ƒ‰์œผ๋กœ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ์—ด์—๋Š” ์‚ฌ์šฉ ์—ฌ๋ถ€, ํ™•์žฅ์ž, ํŒŒ์ผ ์„ค๋ช…ยทํšŒ์‚ฌ, ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ํ‚ค๊ฐ€ ์žˆ์œผ๋ฉฐ, ๋ชจ๋“  ์—ด์„ ๊ฐ€๋‚˜๋‹คยทABCยท์ž์—ฐ์ˆ˜ ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์กฐ์ž‘: ๋”๋ธ”ํด๋ฆญยทAlt+Enter ์†์„ฑ, ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ํŽธ์ง‘๊ธฐ์—์„œ ์—ด๊ธฐ, ํŒŒ์ผ ์œ„์น˜ ์—ด๊ธฐ, ์„ ํƒ ํ•ญ๋ชฉ ๋ณด๊ณ ์„œ ์ €์žฅ(txt/csv), ํ•ญ๋ชฉ ์ •๋ณด ๋ณต์‚ฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋‹จ์ถ•ํ‚ค๋Š” F5 ์ƒˆ๋กœ๊ณ ์นจ, Del ์‚ญ์ œ, F7 ์‚ฌ์šฉ ์•ˆ ํ•จ, F8 ์‚ฌ์šฉ, Space ์ฒดํฌ, Ctrl+F ์ฐพ๊ธฐ, Ctrl+A ๋ชจ๋‘ ์„ ํƒ, Ctrl+C ๋ณต์‚ฌ, Ctrl+S ์ €์žฅ์ž…๋‹ˆ๋‹ค. ์ฒดํฌํ•œ ํ•ญ๋ชฉ์ด ์—†์œผ๋ฉด ์„ ํƒํ•œ ํ–‰์„ ๋Œ€์ƒ์œผ๋กœ ํ•˜๋ฉฐ, ๊ฒ€์ƒ‰ยทํ•„ํ„ฐ๋กœ ์ˆจ๊ฒจ์ง„ ์ฒดํฌ ํ•ญ๋ชฉ์€ ์ž‘์—…์—์„œ ์ œ์™ธํ•ฉ๋‹ˆ๋‹ค.
  • ๋ณด๊ธฐ ์˜ต์…˜: ๋ณดํ˜ธ ํ•ญ๋ชฉ ์ˆจ๊ธฐ๊ธฐ, Microsoft ํ•ญ๋ชฉ ์ˆจ๊ธฐ๊ธฐ, ํŒจํ‚ค์ง€ COM ํ›„๋ณด ํ‘œ์‹œ, ํ•˜๋‹จ ์ •๋ณด ์ฐฝ์„ ๋ฉ”๋‰ด์—์„œ ์ผœ๊ณ  ๋Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์„ ํƒ์  ํƒ์ƒ‰๊ธฐ ์žฌ์‹œ์ž‘: ๋ณ€๊ฒฝ ์„ฑ๊ณต ํ›„ ์—ฐ๊ฒฐ ๋ณ€๊ฒฝ์„ ํ†ต์ง€ํ•ฉ๋‹ˆ๋‹ค. ์˜ต์…˜ ๋ฉ”๋‰ด์˜ ์ž๋™ ์žฌ์‹œ์ž‘์€ ๊ธฐ๋ณธ ์ฒดํฌ ํ•ด์ œ์ด๋ฉฐ, ์ฒดํฌํ•œ ์ž‘์—…์—์„œ๋งŒ ์žฌ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.
  • ๊ฐ€๋ฒผ์šด ๋„ค์ดํ‹ฐ๋ธŒ UI: ๋น„๋™๊ธฐ ๊ฒ€์ƒ‰๊ณผ ์•ˆ์ „ํ•œ ๋‹จ๊ณ„์—์„œ์˜ ์ทจ์†Œ, ํ•œ๊ธ€ ๊ฒฝ๋กœ, Windows UI ์–ธ์–ด์— ๋”ฐ๋ฅธ ํ•œ๊ตญ์–ด/์˜์–ด ์„ ํƒ, DPI ๋ฐฐ์œจ ๋Œ€์‘์„ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ์ž‘์€ ์ฐฝ๊ณผ ์งง์€ ํŒ์—…: ์ฐฝ์€ ๋ชจ๋‹ˆํ„ฐ ์ž‘์—… ์˜์—ญ ์ค‘์•™์— ์—ด๋ฆฝ๋‹ˆ๋‹ค. ํ™•์ธ/๊ฒฐ๊ณผ ํŒ์—…์€ ์Šคํฌ๋กค ์—†๋Š” ์š”์•ฝ๊ณผ ์ „์ฒด ๋‚ด์šฉ ๋ณต์‚ฌ ๋ฒ„ํŠผ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๊ฐ™์€ ์‚ฌ์šฉ์žยท์„ธ์…˜์—์„œ ๋‹ค์‹œ ์‹คํ–‰ํ•˜๋ฉด ๊ธฐ์กด ์ฐฝ์„ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค.

์‚ฌ์šฉ ๋ฐฉ๋ฒ•

  1. ์ตœ์‹  ๋ฆด๋ฆฌ์Šค์˜ ShellTidy.exe๋ฅผ ๋‚ด๋ ค๋ฐ›์•„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ง์ ‘ ๋นŒ๋“œํ•œ ํŒŒ์ผ์€ dist/ShellTidy.exe์— ์žˆ์Šต๋‹ˆ๋‹ค.
  2. ๋ฌธ์ œ ํ•ญ๋ชฉ์ด ๋ชฉ๋ก ๋งจ ์œ„์— ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ์œ ํ˜•ยท์ƒํƒœ ํ•„ํ„ฐ๋‚˜ ๊ฒ€์ƒ‰์œผ๋กœ ๋ฒ”์œ„๋ฅผ ์ขํž™๋‹ˆ๋‹ค.
  3. ์‹คํ–‰ ๊ฒฝ๋กœ์™€ ํ•˜๋‹จ ์ •๋ณด ์ฐฝ(๋˜๋Š” ์†์„ฑ)์˜ ํ™•์žฅ์žยทProgIDยท์‹ค์ œ ํ‚ค/๊ฐ’์„ ํ™•์ธํ•œ ๋’ค ํ•ญ๋ชฉ์„ ์ฒดํฌํ•ฉ๋‹ˆ๋‹ค. ํŽธ์ง‘ โ†’ ๋ฌธ์ œ ํ•ญ๋ชฉ ๋ชจ๋‘ ์ฒดํฌ๋กœ ๊ฒฝ๋กœ ์—†์Œยท๋“ฑ๋ก ์—†์Œ ํ•ญ๋ชฉ์„ ํ•œ ๋ฒˆ์— ์ฒดํฌํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.
  4. ๋„๊ตฌ ๋ชจ์Œ์˜ ์‚ญ์ œ(Del) ๋˜๋Š” ์‚ฌ์šฉ ์•ˆ ํ•จ(F7)์„ ๋ˆ„๋ฅด๊ณ , ์˜ํ–ฅ๋ฐ›๋Š” ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ์œ„์น˜๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
  5. ํ•„์š”ํ•˜๋ฉด ์˜ต์…˜ โ†’ ๋ณ€๊ฒฝ ํ›„ Windows ํƒ์ƒ‰๊ธฐ ์ž๋™ ์žฌ์‹œ์ž‘์„ ์ฒดํฌํ•˜๊ณ  ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  6. ์ž˜๋ชป ์„ ํƒํ–ˆ๋‹ค๋ฉด ๋ณต์›(๋งˆ์ง€๋ง‰ ์ž‘์—…) ๋˜๋Š” ๋ฐฑ์—…(๋ชฉ๋ก)์—์„œ ๋ณต์›ํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ ์•ˆ ํ•จ์œผ๋กœ ๋ฐ”๊พผ ๋ฉ”๋‰ด๋Š” ์‚ฌ์šฉ(F8)์œผ๋กœ ๋˜๋Œ๋ฆด ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

HKCU ์ •๋ฆฌ์—๋Š” ๊ด€๋ฆฌ์ž ๊ถŒํ•œ์„ ์š”๊ตฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์“ฐ๊ธฐ ๊ถŒํ•œ์ด ๋ถ€์กฑํ•œ ๋“ฑ๋ก์„ ์ฒ˜๋ฆฌํ•  ๋•Œ๋งŒ UAC ์ž‘์—…์ž๋ฅผ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๊ด€๋ฆฌ์ž ๊ณ„์ •์˜ ์ž๊ฒฉ ์ฆ๋ช…์„ ์‚ฌ์šฉํ•œ ์ž‘์—…์€ ์‚ฌ์šฉ์ž ํ•˜์ด๋ธŒ ํ˜ผ๋™์„ ๋ง‰๊ธฐ ์œ„ํ•ด ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

ํƒ์ƒ‰๊ธฐ ์žฌ์‹œ์ž‘์„ ์„ ํƒํ•˜๋ฉด ํŒŒ์ผ ๋ณต์‚ฌยท์ด๋™ ์ž‘์—…๊ณผ ์—ด๋ฆฐ ํƒ์ƒ‰๊ธฐ ์ฐฝ์ด ์ค‘๋‹จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ™•์ธ ํ™”๋ฉด์—๋„ ์ด ๋‚ด์šฉ์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ์‚ญ์ œ๊ฐ€ ์ „ํ˜€ ์„ฑ๊ณตํ•˜์ง€ ์•Š์œผ๋ฉด ์žฌ์‹œ์ž‘ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋ฐฑ์—…๊ณผ ๋ณต์›

๊ธฐ๋ณธ ๋ฐฑ์—… ์œ„์น˜๋Š” %LOCALAPPDATA%\ShellTidy\Backups์ž…๋‹ˆ๋‹ค. ์‚ญ์ œ ์ „ .stb ํŒŒ์ผ์„ ๋””์Šคํฌ์— ๊ธฐ๋กยทํ™•์ •ํ•˜๊ณ , ๊ฐ ๋ณ€๊ฒฝ์˜ ์ง„ํ–‰ ์ƒํƒœ๋ฅผ ๊ฐฑ์‹ ํ•ฉ๋‹ˆ๋‹ค. ํŒŒ์ผ์€ ์†์ƒ ๊ฒ€์‚ฌ์šฉ ์ฒดํฌ์„ฌ์„ ํฌํ•จํ•œ ShellTidy ์ „์šฉ ๋ฐ”์ด๋„ˆ๋ฆฌ ํ˜•์‹์ด๋ฉฐ .reg ํŒŒ์ผ์ด ์•„๋‹™๋‹ˆ๋‹ค. 0.0.2๋Š” ์‹คํ–‰ ๋ช…๋ น ์žฌ๊ฒ€์ฆ ์ •๋ณด๋ฅผ ํฌํ•จํ•œ ๋ฐฑ์—… v2๋ฅผ ์ €์žฅํ•˜๋ฉฐ, 0.0.1์˜ ๋ฐฑ์—… v1๋„ ์ฝ์–ด ๋ณต์›ํ•ฉ๋‹ˆ๋‹ค. 0.0.2์—์„œ ๊ฐฑ์‹ ํ•œ ๋ฐฑ์—…์€ 0.0.1์—์„œ ์—ด ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

๋ณต์›์€ ํ•ด๋‹น ์ž‘์—…์ด ๋ฐฑ์—…ํ•œ ๋“ฑ๋ก๋งŒ ๋Œ€์ƒ์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค. ์ดํ›„ ์ถ”๊ฐ€๋œ ๋ฌด๊ด€ํ•œ ๊ฐ’์„ ๋ณด์กดํ•˜๊ณ , ๋™์ผ ๊ฐ’์ด ๋‹ค๋ฅธ ๋‚ด์šฉ์œผ๋กœ ์กด์žฌํ•˜๋ฉด ์ถฉ๋Œ๋กœ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ์•ฑ ํŒŒ์ผ, ์„ค์น˜ ํด๋”, ๋ฌธ์„œ, Obsidian Vault๋Š” ์‚ญ์ œํ•˜๊ฑฐ๋‚˜ ๋ณต์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์‚ฌ์šฉ ์•ˆ ํ•จ ์ž‘์—…์„ ๋ณต์›ํ•˜๋ฉด ShellTidy๊ฐ€ ๋งŒ๋“  LegacyDisable ๋˜๋Š” Blocked ๊ฐ’์„ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค. ๊ทธ ๊ฐ’์ด ์ดํ›„ ๋‹ค๋ฅธ ๋‚ด์šฉ์œผ๋กœ ๋ฐ”๋€Œ์—ˆ๋‹ค๋ฉด ์ถฉ๋Œ๋กœ ๋ณด๊ณ ํ•˜๊ณ  ๋ณด์กดํ•ฉ๋‹ˆ๋‹ค. ํŒŒ์ผ โ†’ ๋ณต์›์ด ๋๋‚œ ๋ฐฑ์—… ์ •๋ฆฌ๋Š” ๋ณต์›ํ•  ๋ณ€๊ฒฝ์ด ๋‚จ์ง€ ์•Š์€ ๋ฐฑ์—…๋งŒ ํ™•์ธ ํ›„ ์‚ญ์ œํ•˜๋ฉฐ, ์ฝ์„ ์ˆ˜ ์—†๋Š” ๋ฐฑ์—…์€ ๋‚จ๊ฒจ ๋‘ก๋‹ˆ๋‹ค.

๋ฐฑ์—… ์œ„์น˜๋ฅผ ๋ฐ”๊พธ๋ ค๋ฉด ์‹คํ–‰ ์ „ SHELLTIDY_BACKUP_DIR์— ์ ˆ๋Œ€ ๊ฒฝ๋กœ๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ/์ž๋™ ํ…Œ์ŠคํŠธ๋Š” F ๋“œ๋ผ์ด๋ธŒ์˜ ๊ฒฉ๋ฆฌ ๋ฐฑ์—… ์œ„์น˜๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์ง์ ‘ ๋นŒ๋“œ

ํ•„์š”ํ•œ ๊ฐœ๋ฐœ ๋„๊ตฌ๋Š” Visual Studio C++ x64 ๋นŒ๋“œ ๋„๊ตฌ์™€ Windows SDK, PowerShell์ž…๋‹ˆ๋‹ค. Visual Studio 2026 Insiders / MSVC 14.52 / Windows SDK 10.0.26100.0์œผ๋กœ ๋นŒ๋“œํ–ˆ์Šต๋‹ˆ๋‹ค.

git clone https://github.com/deuxdoom/ShellTidy.git
cd ShellTidy
msbuild ShellTidy.vcxproj /p:Configuration=Release /p:Platform=x64

Visual Studio ๊ฐœ๋ฐœ์ž PowerShell์—์„œ ์œ„ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๊ฑฐ๋‚˜ ShellTidy.vcxproj๋ฅผ ์—ด์–ด Release / x64๋กœ ๋นŒ๋“œํ•˜์„ธ์š”. ๊ฒฐ๊ณผ๋Š” dist/ShellTidy.exe, ์ค‘๊ฐ„ ํŒŒ์ผ์€ build/์— ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. /std:c++20 /O2 /MT๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ ๋ณ„๋„ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค์น˜๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ ์ค‘ C ๋“œ๋ผ์ด๋ธŒ์— ์ž„์‹œ ํŒŒ์ผ์„ ๋งŒ๋“ค์ง€ ์•Š์œผ๋ ค๋ฉด ๋นŒ๋“œ ์ „์— $env:TEMP์™€ $env:TMP๋ฅผ F ๋“œ๋ผ์ด๋ธŒ์˜ ์ž‘์—… ๋””๋ ‰ํ„ฐ๋ฆฌ๋กœ ์ง€์ •ํ•˜์„ธ์š”. ํ”„๋กœ์ ํŠธ ์ „์šฉ ๋„๊ตฌ๋Š” tools/์— ๋ชจ์•˜์Šต๋‹ˆ๋‹ค. ๋กœ์ปฌ ๋„๊ตฌ ์ค€๋น„ยท๋นŒ๋“œยท๊ฒ€์ฆยท์ด๋ฏธ์ง€ ์žฌ์ƒ์„ฑ ๋ฐฉ๋ฒ•์€ tools/README.md๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”. ๊ฐœ๋ฐœ PC์—์„œ๋Š” PythonยทNodeยทGitยทMSVCยทSDK๋„ tools/runtime, tools/vendor, tools/toolchain์— ์ค€๋น„ํ•œ ๋ณต์‚ฌ๋ณธ์œผ๋กœ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

๊ฒฉ๋ฆฌ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ํ…Œ์ŠคํŠธ๋Š” ๋ฐฐํฌ์šฉ EXE์™€ ๋ถ„๋ฆฌ๋œ ํ…Œ์ŠคํŠธ ๋นŒ๋“œ์—์„œ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๋ฐฐํฌ์šฉ dist/ShellTidy.exe์—๋Š” ํ…Œ์ŠคํŠธ ์ฝ”๋“œ์™€ --self-test ์˜ต์…˜์ด ๋“ค์–ด ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

msbuild ShellTidy.vcxproj /p:Configuration=Release /p:Platform=x64 /p:SelfTest=true
New-Item -ItemType Directory -Force build\test-backups | Out-Null
$env:SHELLTIDY_BACKUP_DIR = "$PWD\build\test-backups"
$report = "$PWD\build\test-results.txt"
$test = Start-Process .\build\test\ShellTidy.Tests.exe -ArgumentList @('--self-test',('"' + $report + '"')) -PassThru -Wait
Get-Content build\test-results.txt
$test.ExitCode

์ž๋™ ํ…Œ์ŠคํŠธ๋Š” HKCU\Software\ShellTidy\Tests\Run-* ์•„๋ž˜์˜ ํ…Œ์ŠคํŠธ ๋“ฑ๋ก๋งŒ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž ์•ฑ์˜ ์‹ค์ œ ์—ฐ๊ฒฐ ๋“ฑ๋ก์ด๋‚˜ ์‹ค์ œ Explorer ํ”„๋กœ์„ธ์Šค๋ฅผ ์‚ญ์ œยท์ข…๋ฃŒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ฒ€์ฆ ๋ฒ”์œ„์™€ ์ˆ˜๋™ ํ™•์ธ ํ•ญ๋ชฉ์€ TESTING.md์— ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค.

์–ธ์–ด๋ฅผ ์ง์ ‘ ํ™•์ธํ•  ๋•Œ๋Š” --korean, --english๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์•„์ด์ฝ˜ยทSocial Previewยท๊ฐ€์ƒ UI ์ด๋ฏธ์ง€ ์›๋ณธ์€ assets/, ์žฌ์ƒ์„ฑ ์Šคํฌ๋ฆฝํŠธ๋Š” tools/์— ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฏธ ์ƒ์„ฑ๋œ ICO๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฏ€๋กœ ์ผ๋ฐ˜ EXE ๋นŒ๋“œ์— Python์€ ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ง€์› ๋ฒ”์œ„์™€ ์ œํ•œ

  • Windows 10/11 x64๋ฅผ ๋Œ€์ƒ์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค. ์‹ค์ œ ์‚ฌ์šฉ ํ™•์ธ์€ Windows 11์—์„œ ์ง„ํ–‰ํ–ˆ์œผ๋ฉฐ, Windows 10์—์„œ๋Š” ์•„์ง ๊ฒ€์ฆํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.
  • ํ˜„์žฌ ๊ธฐ๋ณธ ์•ฑ ๋ฐ ํ™•์ธ๋œ Windows ๊ตฌ์„ฑ์š”์†Œ๋ฅผ ๋ณดํ˜ธํ•ฉ๋‹ˆ๋‹ค. UserChoice๋Š” ์ง์ ‘ ์ˆ˜์ •ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • ๊ธฐ๋ณธ ์•ฑ ์ •๋ณด๋ฅผ ์ฝ๊ฑฐ๋‚˜ ํ•ด์„ํ•˜์ง€ ๋ชปํ•˜๋ฉด ๊ด€๋ จ ํ™•์žฅ์ž์˜ ์‚ญ์ œ๋ฅผ ๋ณดํ˜ธํ•ฉ๋‹ˆ๋‹ค. ๊ณต์œ  ๋“ฑ๋ก์€ 32/64๋น„ํŠธ ์ค‘ ํ•œ์ชฝ์—์„œ ๋ณดํ˜ธ/์กฐํšŒ ์ „์šฉ์œผ๋กœ ํŒ์ •๋˜์–ด๋„ ์‚ญ์ œํ•  ์ˆ˜ ์—†๊ณ , ๋‹ค๋ฅธ ๋ทฐ์—์„œ ์ •์ƒ์ด๋ฉด ํ™•์ธ ํ•„์š”๋กœ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.
  • Windows 11 ExplorerCommandยทDelegateExecuteยท์บ์Šค์ผ€์ด๋“œ ๋ฉ”๋‰ด์™€ ํŒจํ‚ค์ง€ COM ํ›„๋ณด๋Š” ์‚ญ์ œํ•˜์ง€ ์•Š๋Š” ์กฐํšŒ ์ „์šฉ์ž…๋‹ˆ๋‹ค. ํŒจํ‚ค์ง€ COM ํ›„๋ณด๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์ˆจ๊ธฐ๋ฉฐ ๋ชจ๋‘ ์ปจํ…์ŠคํŠธ ๋ฉ”๋‰ด์ธ ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค.
  • ์‚ฌ์šฉ ์•ˆ ํ•จ์€ Windows๊ฐ€ ์ฝ๋Š” LegacyDisable๊ณผ Shell Extensions\Blocked๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ฒฉ๋ฆฌ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์—์„œ ๊ฐ’์˜ ์ถ”๊ฐ€ยท์ œ๊ฑฐยท๋ณต์›์„ ์ž๋™ ํ…Œ์ŠคํŠธํ•˜๊ณ , Windows 11 ์‹ค์ œ ์‚ฌ์šฉ์—์„œ ๋ฉ”๋‰ด๊ฐ€ ์ˆจ๊ฒจ์ง€๊ณ  ๋˜๋Œ์•„์˜ค๋Š” ๊ฒƒ์„ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋งŒ ์•ฑ๋งˆ๋‹ค ๋“ฑ๋ก ๋ฐฉ์‹์ด ๋‹ฌ๋ผ ๋ชจ๋“  ์•ฑ์—์„œ ๊ฐ™์€ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์žฅํ•˜์ง€๋Š” ์•Š์œผ๋ฉฐ, ์ด๋ฏธ ์—ด๋ฆฐ Explorer ์ฐฝ์—๋Š” ์žฌ์‹œ์ž‘ ์ „๊นŒ์ง€ ๋ฐ˜์˜๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • Open With ํ•ญ๋ชฉ์€ ํ™•์žฅ์ž๋ณ„๋กœ ๋˜๋Œ๋ฆด ์ˆ˜ ์žˆ๋Š” ํ‘œ์ค€ ์ฐจ๋‹จ ๋ฐฉ์‹์ด ์—†์–ด ์‚ญ์ œ๋งŒ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • HKLM์— ๋“ฑ๋ก๋œ ์ฐจ๋‹จ ๊ฐ’์„ ํ•ด์ œํ•  ๋•Œ๋Š” UAC๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
  • ๋™์ ์œผ๋กœ๋งŒ ๋“ฑ๋ก๋˜๋Š” ํŒจํ‚ค์ง€ ๋ฉ”๋‰ด ์ „์ฒด๋ฅผ ์—ด๊ฑฐํ•˜๊ฑฐ๋‚˜ ์ œ๊ฑฐํ•˜๋Š” ๊ธฐ๋Šฅ์€ ์—†์Šต๋‹ˆ๋‹ค.
  • ๊ณต์œ  ProgID๋ฅผ ๋ณด์กดํ•˜๋ฏ€๋กœ ์„ ํƒํ•˜์ง€ ์•Š์€ ๋‹ค๋ฅธ ์ถœ์ฒ˜๊ฐ€ ๋‚จ์•„ ์žˆ๊ฑฐ๋‚˜ ์•ฑ์ด ์žฌ๋“ฑ๋กํ•˜๋ฉด ๋ฉ”๋‰ด ํ•ญ๋ชฉ์ด ๋‹ค์‹œ ๋‚˜ํƒ€๋‚  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋ชฉ๋กยท๋ฉ”๋‰ดยท๋‹จ์ถ•ํ‚ค ์กฐ์ž‘, ์‚ฌ์šฉ ์•ˆ ํ•จ/์‚ฌ์šฉ, ์‚ญ์ œยท๋ณต์›, Explorer ์žฌ์‹œ์ž‘์€ Windows 11 ์‹ค์ œ ์‚ฌ์šฉ์—์„œ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค. Explorer ์žฌ์‹คํ–‰ ์‹คํŒจ๋ฅผ ์ผ๋ถ€๋Ÿฌ ์ผ์œผํ‚ค๋Š” ๋ณต๊ตฌ ์‹œ๋‚˜๋ฆฌ์˜ค๋Š” ์‹คํ–‰ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.
  • 100~200% DPI ๋Œ€์‘ ์ฝ”๋“œ๋Š” ๊ตฌํ˜„ํ–ˆ์œผ๋ฉฐ, ์‹ค์ œ ํ™”๋ฉด์€ ๊ฐœ๋ฐœ PC์˜ ์‚ฌ์šฉ ๋ฐฐ์œจ์—์„œ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค.

์†Œ์Šค์™€ ๋ผ์ด์„ ์Šค

์ „์ฒด ์•ฑ ์†Œ์Šค๋Š” src/, ๋ฆฌ์†Œ์Šค๋Š” resources/์— ๊ณต๊ฐœํ•ฉ๋‹ˆ๋‹ค. ShellTidy๋Š” MIT License์ž…๋‹ˆ๋‹ค. ๋‚ด๋ถ€ ๋ฒ„ํŠผ์˜ Fluent UI ์•„์ด์ฝ˜์—๋„ MIT ๋ผ์ด์„ ์Šค๋ฅผ ์ ์šฉํ•˜๋ฉฐ ์›๋ฌธ ๊ณ ์ง€๋Š” THIRD_PARTY_NOTICES.md์™€ EXE ์•ˆ์— ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ๋„์›€๋ง โ†’ ShellTidy ์ •๋ณด์—์„œ ๋ฒ„์ „๊ณผ ๊ณ ์ง€๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Copyright (c) 2026 SAKURA.

About

A lightweight Windows utility to remove unwanted context menu entries and stale Open With registrations, with registry backup and automatic Explorer restart.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Contributors

Languages