あー、思ったよりも深いかも。
ProcessクラスのWaitForExitメソッドで外部プロセスを実行した際には、呼びもとのAPでは全てのメッセージ処理が行われない、ということがわかったので色々と方法を試しているんだけど。VB6時代に利用していたWaitForSingleObject APIを利用したパターンだとまた微妙な動作をしてくれる。
子プロセスとして起動したAPの背景だけがクリアされる。それ以外の部分は最描写もキチンと行われている・・・。
これがWaitForExitメソッドだと全て再描写されないんだよね。
動き的にはAPI使っているほうがいいんだけど、どっちもダメな事には変わりないねぇ。
後は今思いついている最後の手として、
APを同期で起動した際、呼び出し元のAPではマウスのローカルフックを行う起動されたAPの終了を監視し、終了時にローカルフックを終了させる
という方向でいこうかと。こっちでの問題は「別ユーザーで起動したAP」の終了判断なんだよなぁ。Processクラスで起動できればExitイベントがあるからいいんだけど、別ユーザーの場合API使って起動するもんでねぇ・・・。
さて、どうしようか?
0 件のコメント:
コメントを投稿