ab.com コミュニティ

ActiveBasicを通したコミュニケーション
現在時刻 - 2017年9月22日(金) 08:00

All times are UTC+09:00




新しいトピックを投稿する  トピックへ返信する  [ 6 件の記事 ] 
作成者 メッセージ
 記事の件名: ウインドウ破棄
投稿記事Posted: 2016年11月10日(木) 17:37 
オフライン

登録日時: 2016年9月24日(土) 15:35
記事: 62
表示しているウインドウを破棄するプログラムを教えてください


通報する
ページトップ
 記事の件名: Re: ウインドウ破棄
投稿記事Posted: 2016年11月13日(日) 21:44 
オフライン

登録日時: 2006年2月05日(日) 17:10
記事: 189
住所: 東京都
「表示しているウインドウを破棄する」についていまいちよくわかりません。
例えばメモ帳(NOTEPAD.EXE)が実行されているときにABなど自作のプログラムでメモ帳を強制終了させることでしょうか?
タスクマネージャーで強制終了させる機能と類似したことを実現したいのでしょうか?


通報する
ページトップ
 記事の件名: Re: ウインドウ破棄
投稿記事Posted: 2016年11月14日(月) 22:50 
オフライン

登録日時: 2016年9月24日(土) 15:35
記事: 62
プログラムで表示しているwindowを消すのです。


通報する
ページトップ
 記事の件名: Re: ウインドウ破棄
投稿記事Posted: 2016年11月15日(火) 00:37 
オフライン

登録日時: 2006年2月05日(日) 17:10
記事: 189
住所: 東京都
引用:
プログラムで表示しているwindowを消すのです。
もう一度確認したいのですが
①ノーマルウインドウのプログラムを起動して表示中にそれを破棄(プログラム終了)する方法
②ダイアログボックスがあるノーマルウインドウのプログラムを起動して実行中に表示中のダイアログボックスのウインドウを破棄する方法
③タスクマネージャーの機能と類似した方法
 つまり実行中/表示中のノーマルウインドウ系プログラム(メモ帳、ワード、エクセルなど)を強制終了する機能
どちらでしょうか?


通報する
ページトップ
 記事の件名: Re: ウインドウ破棄
投稿記事Posted: 2016年11月15日(火) 16:40 
オフライン

登録日時: 2016年9月24日(土) 15:35
記事: 62
引用:
③タスクマネージャーの機能と類似した方法
 つまり実行中/表示中のノーマルウインドウ系プログラム(メモ帳、ワード、エクセルなど)を強制終了する機能
ですね


通報する
ページトップ
 記事の件名: Re: ウインドウ破棄
投稿記事Posted: 2016年11月17日(木) 22:41 
オフライン

登録日時: 2006年2月05日(日) 17:10
記事: 189
住所: 東京都
表示中のウインドウのハンドルがわかれば以下の方法でできます。
例(これは何らかの方法でウインドウのハンドルの値が判明したとき)
DIM HWNHND AS HANDLE
HWNHND = &h0016075a AS HANDLE 'ウインドウのハンドルを設定
SendMessage(HWNHND,WM_CLOSE,0,0) 'ウインドウの閉じるボタンを押されたことを通知

ウインドウのハンドルはウインドウクラスまたはウインドウタイトルを基にWIN32 API FindWindowで取得します。
なおウインドウクラスがわからなくてもウインドウタイトルのみでも取得できます。というか私はそうしてます。
FindWindowについてはABのヘルプに載ってますので詳細はこちらをご確認下さい。

私自身あまりよく理解できていませんが、
WM_CLOSEメッセージはウインドウの閉じるボタンを押されたことを通知するもので強制的に終了するものではありません。
しかしながらWM_CLOSEメッセージを対象のウインドウに送ると基本的にウインドウ系のプログラムは終了します。
もちろんプログラムの作りに依存しますが。
2017.06.13修正


通報する
ページトップ
期間内表示:  ソート  
新しいトピックを投稿する  トピックへ返信する  [ 6 件の記事 ] 

All times are UTC+09:00


オンラインデータ

このフォーラムを閲覧中のユーザー: なし & ゲスト[2人]


トピック投稿:  可
返信投稿:  可
記事編集: 不可
記事削除: 不可
ファイル添付: 不可

検索:
ページ移動:  
cron
Powered by phpBB® Forum Software © phpBB Limited
Japanese translation principally by KONISHI Yohsuke