EXE名で外部アプリを終了させる方法 – プログラミング – Home

EXE名で外部アプリを終了させる方法
 
通知
すべてクリア

EXE名で外部アプリを終了させる方法


よもぎ丸
 よもぎ丸
(@よもぎ丸)
ゲスト
結合: 20年前
投稿: 5
Topic starter  

ウィンドウ名があるEXEでは、

if (FirsthWnd = FindWindow(NULL, ウィンドウタイトル)) {
 PostMessage(FirsthWnd, WM_CLOSE, 0, 0L);
}

で、外部アプリを終了可能ですが、

ウィンドウがない常駐アプリ(EXE名はA.EXE固定です)の終了を行いたいのですが
方法を思いつきません。

ご存知の方よろしくおねがいします。


引用解決済
トピックタグ
aetos
(@aetos)
Noble Member
結合: 5年前
投稿: 1480
 

http://support.microsoft.com/default.aspx?scid=kb;JA;175030
このへん参考に、目的のプロセスの ID 見つけ出して TerminateProcess かと。


返信引用
PATIO
(@patio)
Famed Member
結合: 3年前
投稿: 2660
 

停止される側のアプリ次第ではありますが、
WM_CLOSEをPostするにしても、TerminateProcessを使用するにしても
ユーザーが正常にオペレーションして終了させた場合と全く同じように
終了する保証は無いのでこの点は注意が必要だと思います。

終了させるアプリも自分が作成している、または仕様の変更が可能で
WM_CLOSEはポストされたら必ず必要な終了処理を行って終了するとか
必要なデータの保存はその都度行っていてTerminateProcessを使用しても
データ保存に影響が無い等の保証が無ければ、終了結果の保証は出来ません。

一般の全てアプリに対して通用する外部からの安全な終了方法と言うのは
ないと考えた方が良いと思います。


返信引用
よもぎ丸
 よもぎ丸
(@よもぎ丸)
ゲスト
結合: 20年前
投稿: 5
Topic starter  

お力添えありがとうございます。

外部アプリは自分で作成したアプリなので終了自体には問題ないと思います。

EXE名がわかっていても”狙い撃ち”での処理って難しいのですか?

EXE名での”狙い撃ち”プロセスID取得の方法をご存知の方が折られましたら、
よろしくお願いします。

シャノンさんが教えてくださったURLの研究をしながら・・・


返信引用
επιστημη
 επιστημη
(@επιστημη)
ゲスト
結合: 21年前
投稿: 600
 

> 外部アプリは自分で作成したアプリなので終了自体には問題ないと思います。

だったらもっと安全に殺せるんちゃいますか?
適当なイベントに反応して自殺するように仕組んでおけば、
そのイベントをbroadcastするだけで死んでくれるでしょうし。


返信引用
PATIO
(@patio)
Famed Member
結合: 3年前
投稿: 2660
 

επιστημηさんが言われているように
終了させる側のソフトも自分で作成しているなら
外部から終了させるための仕組みをそのソフトに組み込んでしまった方が
安全確実です。
なぜなら、終了する側が自分の意思を持って終了するからです。
この動きならするべき終了処理まできちんとして終了できるので
実はこれが一番理想的だと思います。
外部からの終了も必要なソフトなら外部から終了するためのインター
フェイスまで設計して組み込んでおくのが本来の姿だと思います。
その仕組みは実装しだいなのでよもぎ丸さん次第だと思いますけれど。


返信引用
よもぎ丸
 よもぎ丸
(@よもぎ丸)
ゲスト
結合: 20年前
投稿: 5
Topic starter  

> 外部アプリは自分で作成したアプリなので終了自体には問題ないと思います。

> だったらもっと安全に殺せるんちゃいますか?
> 適当なイベントに反応して自殺するように仕組んでおけば、
> そのイベントをbroadcastするだけで死んでくれるでしょうし。

ごめんなさい;;説明がたりなかったです。

既存・外部アプリ(常駐)を終了
  ↓
修正済・外部アプリ入れ替え(自作コピーPG)
  ↓
修正済・外部アプリ(常駐)を起動

という処理を行いたかったのです。


返信引用
よもぎ丸
 よもぎ丸
(@よもぎ丸)
ゲスト
結合: 20年前
投稿: 5
Topic starter  

またまた、説明不足でした;;

上記の処理を1本の自作アプリで行いたかったのです。


返信引用
PATIO
(@patio)
Famed Member
結合: 3年前
投稿: 2660
 

シャノンさんが紹介されている記事でほぼ解決できそうですね。
ただ、入れ替える予定があるのでしたら外部アプリ自体に
外部から安全に終了するための仕掛けまで入れといた方が
いいと思いますよ。
言われているようなことを今後もしたいのであれば、
アプリの仕掛けとして用意しておくのが正解でしょう。


返信引用
aetos
(@aetos)
Noble Member
結合: 5年前
投稿: 1480
 

あの記事、あちこちの掲示板で何度となく紹介してるんですよね。
もうすっかり FAQ もの。


返信引用
よもぎ丸
 よもぎ丸
(@よもぎ丸)
ゲスト
結合: 20年前
投稿: 5
Topic starter  

みなさん、いろいろご助力ありがとうございました。

がんばって見たいと思います。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました