HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2016
0124
Callウィンドウを閉じさせる方法8未解決


Call

リンク

2016/1/24(Sun) 14:33:59|NO.74270

指定したウィンドウタイトルがあった場合、そのウィンドウを閉じたいのですがどうやればいいのでしょうか?

ウィンドウタイトルを検索するコードは見つけました。


#include "hspext.as" #define TEST_WINDOW_TITLE "test" #define WM_QUIT 0x12 g_hWndAnthor = 0 g_nSearchId = 0 g_bActive = 0 g_strTitle = 0 aplsel TEST_WINDOW_TITLE, g_nSearchId g_bActive = stat g_strTitle = refstr if(g_bActive = 1) { mes TEST_WINDOW_TITLE + "は、起動していません" } else { mes TEST_WINDOW_TITLE + "は、起動しています" mes "正式なウィンドウタイトルは、" + g_strTitle + "です。" }

プロセスレベルから閉じるのではなく
例えば名前の違うウィンドウが二つあるプロセスがあったとして、(片方を閉じた場合、その片方しか閉じない前提)
ウィンドウレベル?から閉じたいです(日本語がおかしくてすいません

よろしくお願いいたします



この記事に返信する


cats

リンク

2016/1/24(Sun) 15:39:58|NO.74273

対象のウィンドウハンドルに、WIN32APIのShowWindow関数でSW_HIDEを適応します。
なお、IsWindowVisible等で表示状態を確認できます。
https://msdn.microsoft.com/ja-jp/library/cc411211.aspx
https://msdn.microsoft.com/ja-jp/library/cc364819.aspx



Call

リンク

2016/1/24(Sun) 17:34:31|NO.74275

ありがとうございます!!

タイトルからウィンドウハンドルはどうやって取得すればいいのでしょうか?(T_T)



zero

リンク

2016/1/24(Sun) 17:40:12|NO.74276

FindWindowにウィンドウタイトルを指定して取得できます。


#include "user32.as" //(前略) if (g_bActive = 0) { FindWindow 0, g_strTitle hwndTarget = stat //... }



Call

リンク

2016/1/24(Sun) 18:12:00|NO.74277

こんばんは
できました!ありがとうございます!

質問があります
何度もすいません

ShowWindow hwndTarget,SW_HIDE

によりウィンドウを閉じる事はデキたのですが

自分が対象としたプログラムの場合は、
子ウィンドウを表示してる際は親ウィンドウの操作が無効化されていました
ですので、SW_HIDEで閉じたらソフトがクリックできなくなりタスクマネージャーから終了するしかありませんでした(泣

他に何か良い方法はないでしょうか?
よろしくお願いします



Call

リンク

2016/1/24(Sun) 18:14:50|NO.74278

すいません
追記です

#define SW_HIDE 0

としました



窓月らら

リンク

2016/1/24(Sun) 19:16:05|NO.74280

これで有効にすればよろしいのでは?

#include "user32.as" EnableWindow hwnd,1 // 有効 ;EnableWindow hwnd,0 // 無効



Call

リンク

2016/1/24(Sun) 19:41:28|NO.74281

親ウィンドウを動かす事には成功したのですが
一部表示がおかしくなってたりしました(T T)



Rich

リンク

2016/1/25(Mon) 16:25:38|NO.74291

完全に閉じるなら、PostQuitMessageを使います。
引数に、閉じさせるウィンドウハンドルを指定します。
参考 https://msdn.microsoft.com/ja-jp/library/cc410954.aspx

#include "user32.as" PostQuitMessage hwnd

>SW_HIDEで閉じたらソフトがクリックできなくなりタスクマネージャーから終了するしかありませんでした(泣
それは、メインウィンドウをShowWindowで閉じた(非表示にした)ので、タスクバーなどから表示させることはできません。
ShowWindowの第2引数を5(SW_SHOW)にすることで再び表示されます。
参考 https://msdn.microsoft.com/ja-jp/library/cc411211.aspx



ONION software Copyright 1997-2021(c) All rights reserved.