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


HSPTV!掲示板


未解決 解決 停止 削除要請

2016
0910
ぽっくる指定のファイルを終了させる方法7解決


ぽっくる

リンク

2016/9/10(Sat) 09:44:36|NO.76830

過去ログを調べると、こちらのスレッドを見つけることができたので、自分なりにアレンジしてやってみているのですがうまくいきません。

http://hsp.tv/play/pforum.php?mode=pastwch&num=62385

どこでどのように終了させるファイルを指定しているのでしょうか?

よろしくお願いします。



この記事に返信する


SquidSky

リンク

2016/9/10(Sat) 10:26:37|NO.76831

titletext変数で、閉じたいアプリのタイトル文字を指定します。
また、exec "notepad.exe"はメモ帳を起動します。
FindWindow関数で閉じたいアプリを探します。検索につかうのは冒頭の変数です。
そして、sendmsgで、ウィンドウを閉じる為の通知を送ります。
これでリモートでアプリを閉じられます。



スペース

リンク

2016/9/10(Sat) 11:04:24|NO.76834


titletext = "無題 - メモ帳";titletextに終了したいウィンドウのウィンドウタイトルを代入 hwnd_t = FindWindow(null,titletext);FindWindowは指定されたウィンドウタイトルと一致するトップレベルウィンドウ(親を持たないウィンドウ、つまり自分が親ウィンドウ)のウィンドウハンドルを返します。 if stat = 0:dialog "見つからないのです":return;FindWindowはウィンドウが見つからなかった場合、statに0を代入します。 mes strf("メモ帳のウィンドウハンドル:%08X",hwnd_t);ウィンドウハンドルを表示。 sendmsg hwnd_t,WM_CLOSE,SC_CLOSE,16;本命の終了処理。1つ目のパラメーターで先ほど取得したウィンドウハンドルを指定、2つ目のパラメーターでメインとなるメッセージを指定。残り2つは追加の情報。 mes "消えましたか?"
FindWindowとは
https://msdn.microsoft.com/ja-jp/library/cc364634.aspx

SendMessageとは
https://msdn.microsoft.com/ja-jp/library/cc344590.aspx

ウィンドウハンドルとは
https://msdn.microsoft.com/ja-jp/library/cc344590.aspx



ぽっくる

リンク

2016/9/10(Sat) 11:21:41|NO.76835

>SquidSkyさん
>スペースさん

うまく行きました!
ファイル名ではなく、タイトルを入れるんですね!
大変勉強になりました。
ありがとうございました。



くちくん

リンク

2016/9/10(Sat) 12:07:30|NO.76836

ファイル名を指定して終了するならtaskkill(Windowsのコマンド)も使えるかもしれません。
 exec "taskkill /IM exe名" ; /IM->スペース->exe名(パスいらない...はず)
でできるんじゃないかなと思います。 目的が違ったらごめんなさい。



ぽっくる

リンク

2016/9/10(Sat) 13:31:30|NO.76838

>くちくんさん

おお!
こちらもあり難いです!
感謝。



SquidSky

リンク

2016/9/10(Sat) 18:49:05|NO.76845

あと、確かVectorに、dllの強力なタスク終了できるやつがありましたな。



ぽっくる

リンク

2016/9/10(Sat) 20:10:58|NO.76848

>SquidSkyさん

補足ありがとうございます。
探してみます!



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