hakeの日記

Windows環境でプログラミングの勉強をしています。

関連付け起動時のQCopメッセージ

下の日記に関連してちょっと疑問に思ったので調べてみた。
使用したのは以前QTアプリの勉強で作ったrcvqcopの修正版、これをアイコン登録して新規拡張子と新規MimeTypeを登録して、その拡張子も持つファイルをファイルタブから起動

goingToSendSetDocument(QString) filepath ←既にrcvqcopが起動している場合はこのコマンドも受信
raise()
setDocument(QString) filepath

上の2つ(3つ)のメッセージが送られていることが判明。
通常はraise()で起動(何故かこのときにfilepathが引数で渡されている)させて、setDocument(QString)で選択されたファイルを通知しているみたい。既にアプリが起動している場合はgoingToSendSetDocument(QString)も送られているけど、これで既にオープンしているファイルのクローズ処理なんかさせるのかな。


ここで素朴な疑問、あるqcopを受信してそれに対応する処理が終わらないうちに次のqcopを受信したらどうなるのだろうか?
明日へ続く