feat: 게임 가제 'One of the plans' UI 텍스트 적용
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
26
main.go
26
main.go
@@ -306,7 +306,7 @@ func downloadWithProgress(downloadURL, destDir string) error {
|
|||||||
y := (screenH - winH) / 2
|
y := (screenH - winH) / 2
|
||||||
|
|
||||||
// 창 타이틀은 비워서 타이틀바를 최소화
|
// 창 타이틀은 비워서 타이틀바를 최소화
|
||||||
titleStr, _ := windows.UTF16PtrFromString("A301 런처")
|
titleStr, _ := windows.UTF16PtrFromString("One of the plans 런처")
|
||||||
hwnd, _, _ := createWindowExWProc.Call(
|
hwnd, _, _ := createWindowExWProc.Call(
|
||||||
0,
|
0,
|
||||||
uintptr(unsafe.Pointer(className)),
|
uintptr(unsafe.Pointer(className)),
|
||||||
@@ -328,7 +328,7 @@ func downloadWithProgress(downloadURL, destDir string) error {
|
|||||||
// y=14 h=28 → "A301" 타이틀 (13pt bold, 강조색)
|
// y=14 h=28 → "A301" 타이틀 (13pt bold, 강조색)
|
||||||
// y=52 h=20 → 상태 텍스트 (9pt, 밝은 회색)
|
// y=52 h=20 → 상태 텍스트 (9pt, 밝은 회색)
|
||||||
// y=82 h=18 → 진행 막대
|
// y=82 h=18 → 진행 막대
|
||||||
titleText, _ := windows.UTF16PtrFromString("A301")
|
titleText, _ := windows.UTF16PtrFromString("One of the plans")
|
||||||
titleLabelHwnd, _, _ = createWindowExWProc.Call(
|
titleLabelHwnd, _, _ = createWindowExWProc.Call(
|
||||||
0,
|
0,
|
||||||
uintptr(unsafe.Pointer(staticClass)),
|
uintptr(unsafe.Pointer(staticClass)),
|
||||||
@@ -560,7 +560,7 @@ func install() error {
|
|||||||
return fmt.Errorf("레지스트리 키 생성 실패: %w", err)
|
return fmt.Errorf("레지스트리 키 생성 실패: %w", err)
|
||||||
}
|
}
|
||||||
defer key.Close()
|
defer key.Close()
|
||||||
key.SetStringValue("", "URL:A301 Protocol")
|
key.SetStringValue("", "URL:One of the plans Protocol")
|
||||||
key.SetStringValue("URL Protocol", "")
|
key.SetStringValue("URL Protocol", "")
|
||||||
|
|
||||||
cmdKey, _, err := registry.CreateKey(registry.CURRENT_USER, `Software\Classes\`+protocolName+`\shell\open\command`, registry.SET_VALUE)
|
cmdKey, _, err := registry.CreateKey(registry.CURRENT_USER, `Software\Classes\`+protocolName+`\shell\open\command`, registry.SET_VALUE)
|
||||||
@@ -658,15 +658,15 @@ func main() {
|
|||||||
enableDPIAwareness()
|
enableDPIAwareness()
|
||||||
|
|
||||||
if len(os.Args) < 2 {
|
if len(os.Args) < 2 {
|
||||||
ret := msgBox("A301 런처", "게임 실행을 위해 프로토콜을 등록합니다.\n계속하시겠습니까?", mbYesNo|mbQ)
|
ret := msgBox("One of the plans 런처", "게임 실행을 위해 프로토콜을 등록합니다.\n계속하시겠습니까?", mbYesNo|mbQ)
|
||||||
if ret != idYes {
|
if ret != idYes {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if err := install(); err != nil {
|
if err := install(); err != nil {
|
||||||
msgBox("A301 런처 - 오류", fmt.Sprintf("등록 실패:\n%v", err), mbOK|mbError)
|
msgBox("One of the plans 런처 - 오류", fmt.Sprintf("등록 실패:\n%v", err), mbOK|mbError)
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
msgBox("A301 런처", "a301:// 프로토콜이 등록되었습니다.\n이제 웹에서 게임 시작 버튼을 사용할 수 있습니다.", mbOK|mbInfo)
|
msgBox("One of the plans 런처", "a301:// 프로토콜이 등록되었습니다.\n이제 웹에서 게임 시작 버튼을 사용할 수 있습니다.", mbOK|mbInfo)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -674,33 +674,33 @@ func main() {
|
|||||||
switch {
|
switch {
|
||||||
case arg == "install":
|
case arg == "install":
|
||||||
if err := install(); err != nil {
|
if err := install(); err != nil {
|
||||||
msgBox("A301 런처 - 오류", fmt.Sprintf("등록 실패:\n%v", err), mbOK|mbError)
|
msgBox("One of the plans 런처 - 오류", fmt.Sprintf("등록 실패:\n%v", err), mbOK|mbError)
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
msgBox("A301 런처", "a301:// 프로토콜이 등록되었습니다.", mbOK|mbInfo)
|
msgBox("One of the plans 런처", "a301:// 프로토콜이 등록되었습니다.", mbOK|mbInfo)
|
||||||
|
|
||||||
case arg == "uninstall":
|
case arg == "uninstall":
|
||||||
if err := uninstall(); err != nil {
|
if err := uninstall(); err != nil {
|
||||||
msgBox("A301 런처 - 오류", fmt.Sprintf("제거 실패:\n%v", err), mbOK|mbError)
|
msgBox("One of the plans 런처 - 오류", fmt.Sprintf("제거 실패:\n%v", err), mbOK|mbError)
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
msgBox("A301 런처", "a301:// 프로토콜이 제거되었습니다.", mbOK|mbInfo)
|
msgBox("One of the plans 런처", "a301:// 프로토콜이 제거되었습니다.", mbOK|mbInfo)
|
||||||
|
|
||||||
case strings.HasPrefix(arg, protocolName+"://"):
|
case strings.HasPrefix(arg, protocolName+"://"):
|
||||||
if err := handleURI(arg); err != nil {
|
if err := handleURI(arg); err != nil {
|
||||||
if strings.Contains(err.Error(), "버전이 최신이 아닙니다") {
|
if strings.Contains(err.Error(), "버전이 최신이 아닙니다") {
|
||||||
ret := msgBox("A301 - 업데이트 필요", "새로운 버전이 있습니다. 다운로드 페이지로 이동할까요?", mbYesNo|mbInfo)
|
ret := msgBox("One of the plans - 업데이트 필요", "새로운 버전이 있습니다. 다운로드 페이지로 이동할까요?", mbYesNo|mbInfo)
|
||||||
if ret == idYes {
|
if ret == idYes {
|
||||||
openBrowser(webURL)
|
openBrowser(webURL)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
msgBox("A301 런처 - 오류", fmt.Sprintf("실행 실패:\n%v", err), mbOK|mbError)
|
msgBox("One of the plans 런처 - 오류", fmt.Sprintf("실행 실패:\n%v", err), mbOK|mbError)
|
||||||
}
|
}
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
|
|
||||||
default:
|
default:
|
||||||
msgBox("A301 런처 - 오류", fmt.Sprintf("알 수 없는 명령: %s", arg), mbOK|mbError)
|
msgBox("One of the plans 런처 - 오류", fmt.Sprintf("알 수 없는 명령: %s", arg), mbOK|mbError)
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user