﻿#Requires AutoHotkey v2.0
#SingleInstance Force

if !A_IsAdmin
{
    try {
        Run('*RunAs "' . A_ScriptFullPath . '"')
    } catch {
        MsgBox("管理者権限が必要です。`nもし表示されない場合は、`nアプリアイコンを右クリックし「管理者として実行」を押してください。")
    }
    ExitApp()
}

Result := MsgBox("本ソフトはいたずらアプリです。`n実行により人間関係関係や社会的信用を失っても、`n製作者は一切の責任を負えません。`n本当に続行しますか？`nなお、停止する場合はEscを押してください。", "【最終警告】", "Icon! Yn")

if (Result = "No") {
    ExitApp()
}

$Esc::ExitApp()

CharMap := Map(
    "r", "{U+30EB}{U+30FC}{U+30DF}{U+30A2}",
    "d", "{U+5927}{U+5996}{U+7CBE}",
    "c", "{U+30C1}{U+30EB}{U+30CE}",
    "m", "{U+7D05}{U+7F8E}{U+9234}",
    "q", "{U+5C0F}{U+60AA}{U+9B54}",
    "p", "{U+30D1}{U+30C1}{U+30E5}{U+30EA}{U+30FC}{U+30FB}{U+30CE}{U+30FC}{U+30EC}{U+30C3}{U+30B8}",
    "i", "{U+5341}{U+516D}{U+591C}{U+0020}{U+54B2}{U+591C}",
    "l", "{U+30EC}{U+30DF}{U+30EA}{U+30A2}{U+30FB}{U+30B9}{U+30AB}{U+30FC}{U+30EC}{U+30C3}{U+30C8}",
    "f", "{U+30D5}{U+30E9}{U+30F3}{U+30C9}{U+30FC}{U+30EB}{U+30FB}{U+30B9}{U+30AB}{U+30FC}{U+30ec}{U+30C3}{U+30C8}",
    "h", "{U+535A}{U+9E97}{U+970A}{U+5922}",
    "k", "{U+9727}{U+96E8}{U+9B54}{U+7406}{U+6C99}",
)

for key, value in CharMap {
    HotKey("$" . key, SendChar.Bind(value))
}

SendChar(name, *) {
    Send(name)
}