海鮮丼の方

昨日、ぼそっと書いたように、海鮮丼の方が「昨日書いた予告」と「cltc 0.7.2」について書いてくださった

予告について

あ、あくまで予告なので、あのとおりに動くと思わないでください。ソフトウェアをいろいろ試したりする人ならこういうのがあったらいいなって妄想するでしょ、あれですよあれ。期待しないでください。(ほら、cltcっていつもバグバグですし)

/f オプションについて

そこをつっこまれるとすごく恥ずかしいです。簡単に説明します(しなくてもわかるとは思いますが)と、初回起動時はコマンドラインオプションから取得した文字列で絞り込めばOKなのですが、重複起動時は常駐している側に文字列を送らなければいけません(Windowsはプロセスごとにメモリ空間が違うから?です)。

で、どうしようかと考えたときに思いついたのが、「SendMessageで一文字ずつ送って更新させりゃいいか」だったわけです。ですから、メッセージの操作ができる方ならば/fオプションなんて無くてもできます。技術不足・手抜き工事と思ってください。もっといい方法あるはずなんで、また探しておきます。あーはずかし。

WM_COPYDATA で文字列くらいなら簡単にコピーできそうですね

アイコン表示について

えーと、0.7.2の更新に「応答のないウィンドウによって起動できなかった」という部分があるんですけど、これが原因だと思います。

SendMessageでアイコンを取得していたのをSendMessageTimeoutで取得する方法に変更したんですよ。100ミリ秒以内に応答がない場合は「そのウィンドウはすでに死んでいる*1」ということで、ウィンドウではなくクラスやパスから取得します。SendMessageTimeoutではダミーのメッセージを送って落ちてるかだけを確認したほうがいいのかな。対策考えます。(うちじゃ起こらないんで、微妙です)うちでもおきてました。気づいてませんでした、ごめんなさい。

タブ版 cltcについて

将来的にブラウザ(たぶん無理なのでプラグイン?拡張?)を作りたいと思っていますので、もしかしたら、実現されるかもしれません。(すでに実現されてそうですけど) ブラウザのタブ相手ならmigemoがあったほうがよさそうですね。*2

*1:言いたかった

*2:すごく関係のない話、これからのブラウザのタブ管理には「ツリー」「プレビュー」は必須ですよね。