Dim WHND As Long
WHND = FindWindow("SciCalc", vbNullString)
DestroyWindow WHND
という感じで、あるクラス名を持つトップレベルウインドウの
ハンドルを取得して、そのウインドウを破棄しようとしている
のですが、ハンドルは取得できても(WHNDの戻り値は0以外)
何故か最後の関数でエラーが帰ってきてしまい、ウインドウの破棄に
失敗してしまいます。NETでサンプルコードを探して、ほかにも
PostMessage WHND,WM_CLOSE,0,0
・・・等色々試したのですが悉く失敗しました。当方の開発環境が
Win2kということもあって、ひょっとしたらOSのセキュリティー
管理とかで無効になっているのかな?・・・とも思ったのですがどうなのでしょうか。
宜しければ解決策などお教え頂けると幸いです。
よろしくお願いします。
すみません、解決しました。
DestroyWindowは別スレッドが作成したウインドウは閉じられないんですね。
それとWM_CLOSEですが、以前MSDNで見たことがあったのでそのまま
使っていたため「Const WM_CLOSE = 16」とするのを忘れていました。
お騒がせして申し訳ございませんでした(汗。
あ、「解決」チェックするの忘れてました・・・(苦笑。
編集 削除