のら(NORA)のブログ

主にソフトについて備忘録で(手抜き)書いていますねー。困った人の役とかに立てばいいかなー。とかそういう程度の奴でーす。むぎゅぎゅ~。更新停滞中ですね~。

Sublime Textの有料版買ってね!!が表示されたら閉じるのをahk2で作ってみた(勉強中)

はじめに

まあ無料で使えるなら無料で使い倒そうという魂胆で使っていますが、
まだ使い始めたばかりなのでそんなにがっつりやってるわけでもなく。
初心者なのでそのうち使いこなしてSublimeさんに恋をしたら有料版買おうかなって思っているので取り合えず邪魔なので消させてもらう。
決して有料版を買わないようにの催促ではないのでお金ある人は買ってあげて(ボソッ

学習中の身のため間違えることが多いので、もし動作しないことや間違い等があったら指摘してくれるとありがたいです。(説明内容含む)、また、正常に動作する保証はありません
間違えたコードは何個かまでは履歴として残して勉強用(戒め)に使ってますので間違えてコピペしてしまうと動作しないぞこのやろってなります。

autohotkeyさんについては検索してもらえれば良い紹介文でもあるかと思います。

取り合えずSublime Textさんの紹介

Sublime Text公式ホームページ
恋に落ちるテキストエディタというキャッチコピーのテキストエディタソフトです。
まだそんな使いこなしてないからがっつり紹介はできないけども高機能でpackageを追加することで色々カスタマイズできるんだよね、そのくせ軽いわ軽いわ。プログラミングの入門とかで使うエディタとしては結構いいんじゃないかな。まあそんなとこ

以下ahk2(autohotkey2)のコード
これ単独では完全に機能しないので別途ソフト起動時に呼び出すものがいります。

改善版

SetTitleMatchMode, 3
    ProcessExist,ids,sublime_text.exe
    countersi := 0
    while(ids <> 0 and countersi < 100){
        ProcessExist,ids,sublime_text.exe
        Sleep, 1000
        If WinExist("This is an unregistered copy ahk_class #32770")
            WinClose
        countersi++
    }
    If (ids <> 0){
        Reload
    } else {
        Return
    }

説明入れると、プロセスが存在する限りwhileループするようにして、その中の最後にカウンターとして変数をインクリメントで一つずつ増加させていって100回ループしたらこのスクリプトを再起動させるようにして正常に起動するように保っている(なんか時間たった時だったかなんかのときにsublimeさん終了されててプロセスないのにスクリプトが終わんなかったから)

追記

5/31 コード大幅に変更、ahkclassだけだとwordかなんかのやつも勝手に閉じられて困ってたからsublimeさんがアクティブだった時だけって思ってたけど完全一致で指定すれば被らないじゃんってことで簡素なのになった
削除要請等あったら消します

ていうかあまり賢くない方法でやってる気が…まあいいか。
Vimに乗り換えたのでもう使ってないのでー。