(AutoHotkey)(電卓を強制的に 関数電卓スタイルで開く 編)

 以前に書いたものと組み合わせて ちょっとだけ 役に立つ感じのサンプルを書いてみます
Windows再インストール直後の最初の一度だけ 「もう最初から 関数電卓で起動してくれぇぇぇぇぇ!!!」
欲求不満に駆られる人も多いでしょう 笑)

 今回のサンプルは たとえ前回終了時 「普通の電卓」スタイル で終了しても 次回起動時には 強制的に 関数電卓で開くようになります

[]; 定数を設定、 とはいっても変数に代入してるだけです[]
[]WM_COMMAND     := 0x0111[]
[]FUNCTION_STYLE := 0x0130[]
[]TIMEOUT_SEC    := 10[]

[]; 電卓を起動[]
[]Run, calc[]

[]; 電卓が起動するまで または タイムアウトまで待ちます、 今回は 10秒にセットしてます[]
[]WinWait, ahk_class SciCalc, , %TIMEOUT_SEC%[]

[]; WinWaitの ErrorLevelは 成功時0 失敗時1 なので いきなり Bool型として使える[]
[]; WinExist("ahk_class SciCalc") は 電卓のハンドルを クラス名から取得しています[]
[]if ( ErrorLevel )[]
[]{[]
[]	MsgBox, 電卓の起動に失敗しました[]
[]}[]
[]else[]
[]{[]
[]	DllCall("SendMessageA", "Int", WinExist("ahk_class SciCalc"), "Int", WM_COMMAND, "Int", FUNCTION_STYLE)[]
[]}[]
 私と 感覚が合う人には 嬉しい機能・・・・ かな? 笑)
このサンプルも 呼び出し方を ホットキーに仕込んだりとか exeファイル化とか 簡易ランチャーを作って組み込むとか いろいろ工夫してみると
活路を見出せるかも? 笑)

 SendMessageは 意地でも APIを直接呼び出しているのは こっちの方が 気に入っているからです 笑)