์ง์ ํ ํ๋ฉด ์์ญ(์: ์นด์นด์คํก ๋ํ์ฐฝ)์ ๊ฐ์ํ๋ค๊ฐ ํฝ์ ๋ณํ๊ฐ ๊ฐ์ง๋๋ฉด ํ ๋ ๊ทธ๋จ ๋ดยทWindows ํ ์คํธ๋ก ์๋ ค์ฃผ๋ Windows ๋ฐ์คํฌํฑ ์ฑ์ ๋๋ค.
- ๐ฑ ์์ญ ์ง์ ์ง์ ยท ๋ค์ค ์์ญ โ ํ๋ฉด์ ๋๋๊ทธํด ์ฌ๋ฌ ์์ญ์ ๋์์ ๊ฐ์ํฉ๋๋ค. (๋ค์ค ๋ชจ๋ํฐยท๊ณ DPI ๋์)
- ๐ ์์ญ๋ณ ๊ฐ๋ณ ์ต์ โ ์์ญ๋ง๋ค ๊ฐ๊ฒฉยท๊ฐ๋ยทํฝ์ ์๊ณ๊ฐยท์ฟจ๋ค์ดยทํ์ธ ํ๋ ์ยท์ด๋ฏธ์ง ์ ์กยทํค์๋๋ฅผ ๋ฐ๋ก ์ค์ ํฉ๋๋ค.
- ๐ ํฝ์ ๋ณํ ๊ฐ์ง โ ์บก์ฒํ ์์ญ์ ํฝ์ ์ ๋น๊ตํด ๋ณํ ๋น์จ์ ๊ณ์ฐํฉ๋๋ค.
- ๐ค OCR ํค์๋ ํํฐ โ ๋ณํ ํ๋ฉด์ ๊ธ์ ์ธ์(Windows ๋ด์ฅ OCR)ํด, ์ง์ ํ ๋จ์ด๊ฐ ๋ณด์ผ ๋๋ง ์๋ฆผํฉ๋๋ค.
- ๐ ํ ๋ ๊ทธ๋จ + ํ ์คํธ ์๋ฆผ โ ๋ณํ ์ ํ ๋ ๊ทธ๋จ ๋ฉ์์ง(+์บก์ฒ ์ด๋ฏธ์ง)์ Windows ํ ์คํธ๋ฅผ ํจ๊ป ๋์๋๋ค.
- ๐ฒ ํ ๋ ๊ทธ๋จ ์๊ฒฉ ๋ช ๋ น โ ํฐ์์ ๋ด์๊ฒ ๋ช ๋ น์ ๋ณด๋ด ์ ์ฒด ๋ชจ๋ํฐ ์คํฌ๋ฆฐ์ท์ ๋ฐ๊ฑฐ๋ ๊ฐ์๋ฅผ ์ ์ดํฉ๋๋ค.
- ๐ง ์๊ฐ ๋ณํ ๋ฌด์ โ ๋ง์ฐ์ค ์ปค์๊ฐ ์ง๋๊ฐ๋ ๋ฑ ์ผ์์ ๋ณํ๋ ๋ฌด์ํฉ๋๋ค. ๋ณํ๊ฐ ์ ์ง๋ ์ํ๋ก ์ฌ๋ฌ ํ๋ ์ ์ฐ์ ์ ์ง๋ ๋๋ง ์๋ฆผํฉ๋๋ค.
- โ ์ ์ ๋ฐฉ์ง โ ๊ฐ์ ์ค์๋ ์์คํ ์ ์ ยทํ๋ฉด ๊บผ์ง์ ๋ง์ต๋๋ค.
- ๐ฅ ๋ชจ๋ํฐ ๊ตฌ์ฑ ๋ณ๊ฒฝ ๋์ โ ๋ชจ๋ํฐ๋ฅผ ๊ป๋ค ์ผ๋ ์คํ ์์ด ์ด์ด์ ๊ฐ์ํฉ๋๋ค. ํ๋ฉด ๋ฐ์ผ๋ก ๋ฒ์ด๋ ์์ญ๋ง ๊ฑด๋๋ฐ๊ณ , ๋ณต๊ทํ๋ฉด ์๋ ์ฌ๊ฐํฉ๋๋ค.
- ๐ ํธ๋ ์ด ์์ฃผ โ ์ฐฝ์ ๋ซ์๋(X) ์ข ๋ฃ๋์ง ์๊ณ ์์คํ ํธ๋ ์ด์์ ๊ณ์ ๊ฐ์ํฉ๋๋ค.
- โฌ ์๋ ์ ๋ฐ์ดํธ โ GitHub ๋ฆด๋ฆฌ์ฆ๋ฅผ ํ์ธํด ์ ๋ฒ์ ์ ๋ด๋ ค๋ฐ์ ๊ต์ฒดยท์ฌ์์ํฉ๋๋ค.
- ๐พ ์ค์ ์๋ ์ ์ฅ โ ํ ํฐยทChat IDยท์์ญยท์์ญ๋ณ ์ต์ ์ ์๋ ๋ณต์ํฉ๋๋ค.
- ๏ผ ์์ญ ์ถ๊ฐ โ ๊ฐ์ํ ํ๋ฉด ์์ญ์ ๋๋๊ทธ๋ก ์ ํํฉ๋๋ค. (
ESC= ์ทจ์) ์ฌ๋ฌ ๊ฐ ์ถ๊ฐํ ์ ์์ต๋๋ค. - ๊ฐ ์์ญ ์นด๋์์ ๊ฐ๊ฒฉยท๊ฐ๋ยท์ฟจ๋ค์ดยทํ์ธ ํ๋ ์ยทํค์๋ ๋ฑ ์ต์ ์ ๊ฐ๋ณ ์กฐ์ ํฉ๋๋ค.
- ํ
๋ ๊ทธ๋จ ์ค๋น
- ํ
๋ ๊ทธ๋จ์์ ๋ด์๊ฒ ์๋ฌด ๋ฉ์์ง(
/start)๋ฅผ ๋จผ์ ๋ณด๋ ๋๋ค. - ์๋ ๊ฐ์ง ๋ฒํผ์ ๋๋ฅด๋ฉด Chat ID๊ฐ ์ฑ์์ง๋๋ค.
- ํ ์คํธ ์๋ฆผ ๋ณด๋ด๊ธฐ๋ก ์ฐ๊ฒฐ์ ํ์ธํฉ๋๋ค.
- ํ
๋ ๊ทธ๋จ์์ ๋ด์๊ฒ ์๋ฌด ๋ฉ์์ง(
- ๊ฐ์ ์์ ๋ฒํผ์ ๋๋ฆ ๋๋ค. ์ดํ ๋ณํ๊ฐ ์๊ธฐ๋ฉด ์๋ฆผ์ด ์ต๋๋ค.
- ์ฐฝ์ X๋ฅผ ๋๋ฌ๋ ํธ๋ ์ด์์ ๊ณ์ ์คํ๋ฉ๋๋ค. ํธ๋ ์ด ์์ด์ฝ ๋๋ธํด๋ฆญ=์ด๊ธฐ, ์ฐํด๋ฆญ โ ์ข ๋ฃ=์์ ์ข ๋ฃ.
| ์ต์ | ์ค๋ช | ๊ธฐ๋ณธ๊ฐ |
|---|---|---|
| ๊ฐ๊ฒฉ(ms) | ์ด ์์ญ์ ๋ค์ ์บก์ฒยท๋น๊ตํ๋ ์ฃผ๊ธฐ | 800 |
| ์ฟจ๋ค์ด(์ด) | ํ ๋ฒ ์๋ฆผ ํ ๋ค์ ์๋ฆผ๊น์ง ์ต์ ๊ฐ๊ฒฉ(๋๋ฐฐ ๋ฐฉ์ง) | 15 |
| ๊ฐ๋(๋ณํ %) | ์ด ๋น์จ ์ด์ ํฝ์ ์ด ๋ฐ๋๋ฉด "๋ณํ"๋ก ํ๋จ | 1.0 |
| ํฝ์ ์๊ณ๊ฐ(0-255) | ํ ํฝ์ ์ "๋ฐ๋ ๊ฒ"์ผ๋ก ๋ณผ ์์ ์ฐจ์ด. ๋ฎ์์๋ก ๋ฏผ๊ฐ | 30 |
| ํ์ธ ํ๋ ์ | ๋ณํ๊ฐ ์ ์ง ์ํ๋ก Nํ ์ฐ์ ์ ์ง๋ผ์ผ ์๋ฆผ. ํด์๋ก ์๊ฐ ๋ณํ ๋ฌด์ | 2 |
| ์ด๋ฏธ์ง ์ ์ก | ์๋ฆผ์ ์บก์ฒ ์ด๋ฏธ์ง๋ฅผ ์ฒจ๋ถ | ์ผ์ง |
| ์๋ฆผ ํค์๋ | ์ผํ ๊ตฌ๋ถ. ์ง์ ์ OCR๋ก ํด๋น ๋จ์ด๊ฐ ๋ณด์ผ ๋๋ง ์๋ฆผ(๋น์ฐ๋ฉด ๋ชจ๋ ๋ณํ) | (์์) |
์ปค์ ํต๊ณผ ๋ฑ ์คํ์ด ์ฆ๋ค๋ฉด โ ํ์ธ ํ๋ ์์ 3~4๋ก ์ฌ๋ฆฌ๊ฑฐ๋, ๊ฐ๋ยทํฝ์ ์๊ณ๊ฐ์ ๋์ด์ธ์.
'ํ ๋ ๊ทธ๋จ ์๊ฒฉ ๋ช ๋ น ์์ '์ ์ผ ๋ค, ๋ด์๊ฒ ๋ค์์ ๋ณด๋ ๋๋ค.
| ๋ช ๋ น | ๋์ |
|---|---|
/shot |
์ ์ฒด ๋ชจ๋ํฐ ์คํฌ๋ฆฐ์ท์ ์ฐ์ด ์ ์ก(๊ฐ์ ์์ญ๊ณผ ๋ฌด๊ด) |
/status |
ํ์ฌ ๊ฐ์ ์ํยทํ์ฑ ์์ญ ์ยท๋ฒ์ |
/go |
๊ฐ์ ์์ |
/stop |
๊ฐ์ ์ ์ง |
/help |
๋ช ๋ น ๋์๋ง |
๋ณด์์ ์ฑ์ ์ค์ ๋ Chat ID์ ๋ฐ์ ์๋ง ์๋ตํฉ๋๋ค.
- Windows ๋ด์ฅ OCR(
Windows.Media.Ocr)์ ์ฌ์ฉํด ์ธ๋ถ ์ค์น๊ฐ ํ์ ์์ต๋๋ค. - ํ๊ตญ์ด ์ธ์์ ์์คํ ์ ํ๊ตญ์ด OCR ์ธ์ดํฉ์ด ์์ด์ผ ํฉ๋๋ค: ์ค์ โ ์๊ฐ ๋ฐ ์ธ์ด โ ์ธ์ด โ ํ๊ตญ์ด โ ์ต์ ์์ ์ธ์ด ๊ธฐ๋ฅ(๊ดํ ๋ฌธ์ ์ธ์) ์ค์น.
- ์ธ์ดํฉ์ด ์์ผ๋ฉด ํค์๋ ํํฐ๋ฅผ ๊ฑด๋๋ฐ๊ณ ๋ชจ๋ ๋ณํ๋ฅผ ์๋ฆฝ๋๋ค(๋ฌด์ ์คํจ ๋ฐฉ์ง).
- ๊ณต๋ฐฑ ๋ฌด์ ๋งค์นญ: OCR์ด ํ๊ธ์ ์์ ๋ก ์ชผ๊ฐ ์ฝ์ด๋(
ํ ๋ฆฌโ"ํ ๋ฆฌ") ํค์๋๊ฐ ๋งค์นญ๋ฉ๋๋ค. - ์์ ์์ญ ์๋ ํ๋: ๊ธ์จ๊ฐ ์์ผ๋ฉด OCR ์ ์ ํ๋ํด ์ธ์๋ฅ ์ ๋์ ๋๋ค.
- ํค์๋๋ฅผ ๋ชป ์ฐพ์ผ๋ฉด ๋ก๊ทธ์ OCR์ด ์ค์ ๋ก ์ฝ์ ํ ์คํธ๊ฐ ๋จ์ ์์ธ ํ์ ์ด ์ฝ์ต๋๋ค.
๊ฐ์ ์์ญ ์ขํ๋ ๊ฐ์ ํ๋ฉด ๊ธฐ์ค ์ ๋ ๋ฌผ๋ฆฌ ํฝ์ ์ ๋๋ค. ๋ชจ๋ํฐ ์ ์์ ๋๋ฉด(ํนํ DisplayPort) Windows๋ ์ด๋ฅผ ๋ชจ๋ํฐ ๋ถ๋ฆฌ๋ก ์ฒ๋ฆฌํด ๊ฐ์ ํ๋ฉด์ ๋ค์ ๊ณ์ฐํ๋ฏ๋ก, ๊ทธ ๋ชจ๋ํฐ์ ์๋ ์์ญ์ ํ๋ฉด ๋ฐ ์ขํ๊ฐ ๋ฉ๋๋ค. PixelWatch๋ ์ด ์ํฉ์ ์๋์ผ๋ก ์ฒ๋ฆฌํฉ๋๋ค.
| ์ํฉ | ๋์ |
|---|---|
| ๋ชจ๋ํฐ๋ฅผ ๊ป๋ค๊ฐ ๊ฐ์ ๋ฐฐ์น๋ก ๋ณต๊ตฌ | ์บก์ฒ๋ฅผ ์ ์ ๋ฉ์ท๋ค๊ฐ, ๊ธฐ์ค ํ๋ ์์ ์๋ก ์ก๊ณ ๊ทธ๋๋ก ์ด์ด์ ๊ฐ์ |
| ์ผ๋ถ ๋ชจ๋ํฐ๊ฐ ๊บผ์ง ์ฑ ์ ์ง | ํ๋ฉด ๋ฐ ์์ญ๋ง ๊ฑด๋๋ฐ๊ณ ๋๋จธ์ง๋ ๊ณ์ ๊ฐ์ ยท ํ ๋ ๊ทธ๋จ์ผ๋ก ํต์ง |
| ํด์๋ยท๋ฐฐ์น๊ฐ ๋ฐ๋ ์ฑ ๋ณต๊ตฌ | ์์ญ๋ณ๋ก ์ ํจ์ฑ์ ์ฌ๊ฒ์ฌํด, ํ๋ฉด ์์ ์๋ ์์ญ์ ๊ณ์ ๊ฐ์ |
- ํ๋ฉด ๋ฐ ์์ญ์ ์นด๋์
ํ๋ฉด ๋ฐ์ผ๋ก ํ์๋๊ณ , ๋ชจ๋ํฐ๋ฅผ ๋ค์ ์ผ๋ฉด ์๋์ผ๋ก ์ฌ๊ฐ๋ฉ๋๋ค. โ ๏ธ ์ ์ ๋ฐฉ์ง๋ก๋ ๋ง์ ์ ์์ต๋๋ค.KeepAwake๋ Windows๊ฐ ์ค์ค๋ก ํ๋ฉด์ ๋๊ฑฐ๋ ์ ์ ์ ๋๋ ๊ฒ๋ง ๋ง์ต๋๋ค. ์ฌ์ฉ์๊ฐ ๋ชจ๋ํฐ ์ ์ ๋ฒํผ์ ์ง์ ๋๋ ๊ฒ์ OS ๊ถํ ๋ฐ์ ๋๋ค.- ๋ฌด์จ ์ผ์ด ์์๋์ง๋ ๋ก๊ทธ ํ์ผ์์ ํ์ธํ ์ ์์ต๋๋ค:
%AppData%\PixelWatch\logs\pixelwatch-yyyyMMdd.log(14์ผ ๋ณด๊ด)
- Windows 10 (1809+) / 11
- .NET 8 Desktop Runtime (ํ๋ ์์ํฌ ์ข ์ ๋ฐฐํฌ). ๋ฏธ์ค์น ์ ์คํํ ๋ ์๋ด๊ฐ ๋น๋๋ค. ๋ค์ด๋ก๋: https://dotnet.microsoft.com/download/dotnet/8.0
# ๊ฐ๋ฐ ๋น๋ & ์คํ
dotnet run -c Debug
# ๋จ์ผ ์คํํ์ผ(ํ๋ ์์ํฌ ์ข
์) ๋ฐฐํฌ
dotnet publish -c Release -r win-x64 --self-contained false -p:PublishSingleFile=true -o publish์ฐ์ถ๋ฌผ: publish/PixelWatch.exe
detect/
โโ App.xaml(.cs) ์ฑ ์ง์
์ ยท ์ ์ญ ์์ธ ์ฒ๋ฆฌ ยท ์คํ์ผ
โโ MainWindow.xaml(.cs) ๋ฉ์ธ UI ยท ์์คํ
ํธ๋ ์ด ยท ํ ์คํธ ยท ์
๋ฐ์ดํธ ํ์ธ
โโ app.manifest Per-Monitor V2 DPI ์ธ์
โโ Models/
โ โโ CaptureRegion ๊ฐ์ ์์ญ(๋ฌผ๋ฆฌ ํฝ์
)
โ โโ WatchRegion ์์ญ๋ณ ์ต์
ยท๋ฏธ๋ฆฌ๋ณด๊ธฐ(๋ค์ค ์์ญ)
โ โโ AppSettings ์ค์ ์์ํ
โโ Services/
โ โโ ScreenCaptureService ์์ญ/์ ์ฒดํ๋ฉด ์บก์ฒ
โ โโ ChangeDetector LockBits ๊ธฐ๋ฐ ๊ณ ์ ํฝ์
๋น๊ต
โ โโ OcrService Windows ๋ด์ฅ OCR(ํค์๋ ํํฐ)
โ โโ TelegramService ๋ฉ์์ง/์ฌ์ง ์ ์ก ยท ๋ช
๋ น ์์ (getUpdates)
โ โโ KeepAwakeService ์ ์ ยทํ๋ฉด ๊บผ์ง ๋ฐฉ์ง
โ โโ DisplayTopologyService ๋ชจ๋ํฐ ๋ฐฐ์น ์ค๋
์ท ยท ์์ญ ํ๋ฉด ๋ฐ ํ์
โ โโ LogFileService ์ง๋จ ๋ก๊ทธ ํ์ผ ๊ธฐ๋ก(14์ผ ๋ณด๊ด)
โ โโ UpdateService GitHub ๋ฆด๋ฆฌ์ฆ ๊ธฐ๋ฐ ์๋ ์
๋ฐ์ดํธ
โโ ViewModels/MainViewModel ๊ฐ์ ๋ฃจํ ยท ์๋ฆผ ยท ๋ช
๋ น ยท ์
๋ฐ์ดํธ ์ค์ผ์คํธ๋ ์ด์
(MVVM)
โโ Views/RegionSelectorForm ๋๋๊ทธ ์์ญ ์ ํ ์ค๋ฒ๋ ์ด
โโ Helpers/ BitmapโBitmapSource ยท ์ปจ๋ฒํฐ
ยฉ H.Soft (Jeju, KR) ยท Hyun-woo Bae