
No.4ベストアンサー
- 回答日時:
★なるほどね。
・単純な方法でよいならメッセージ処理をちょっとだけ細工するのはどうですか。
アイディアとして、その終了したくないソフトウェアに
(1)WM_QUIT
(2)WM_DESTORY
(3)WM_CLOSE
を処理します。ただし、中身は空っぽにします。
・未確認ですが、多分これで『タスクマネージャ』の『プロセスの終了』ボタンより
強制終了を禁止できると思います。ただし、Windows が終了したときに正常に終了
させるために WM_QUERYENDSESSION か、WM_ENDSESSION メッセージ内でウインドウを
破棄する処理などの終了処理を記述します。お勧めは WM_ENDSESSION メッセージ内に
WM_QUIT、WM_DESTORY、WM_CLOSE で記述している終了処理を記述するのです。
・その他、タスクマネージャから『プロセスの終了』ボタンが押されたとき、メッセージの
WM_QUIT、WM_DESTORY、WM_CLOSE で強制終了できません。というメッセージを出しておくとか。
あとタスクマネージャの『シャットダウン』タブから『電源を切る』とか『再起動』などで
正常にプログラムが終了するかなどを試して下さい。
・メッセージの資料として下の『参考URL』と『参考資料』を張っておきます。どうぞ。
・以上。参考アイディアでした。
参考資料:
http://www.winapi-database.com/Message/WM/WM_END …→『WM_ENDSESSION』
http://www.winapi-database.com/Message/WM/WM_QUE …→『WM_QUERYENDSESSION』
参考URL:http://www.winapi-database.com/Message/WM/index. …
No.5
- 回答日時:
★追記。
・タスクマネージャを使用禁止にする方法もあります。
レジストリにタスクマネージャの起動を禁止にすればもっと楽かもしれません。
次の過去質問をどうぞ。
・http://oshiete1.goo.ne.jp/qa2753582.html→『Ctrl+Alt+Del禁止方法について』
・http://oshiete1.goo.ne.jp/qa2752619.html→『タスクマネージャが使えません』
上記のレジストリの値『DisableTaskMgr』を DWORD 値で作成すれば良い。
・以上。参考に!
参考URL:http://www.kt.rim.or.jp/~yuta/prog/win32/Registr …
色々と回答を頂き、ありがとうございます。タスクマネージャの使用禁止ですが、学校の方針なのか分かりませんが、使用できないといけないようで...。(タスクバー上での右クリックメニューは出ないようにしてあるのですが、Ctrl+Alt+Delete時の項目は、ログオフのみディゼーブルされているのです。)
今さらですが、OSはXPです。
これまで複数の開発者がいじってるので、InstallShieldでそういう設定が出来ないかと思いまして。
No.2
- 回答日時:
★補足要求します。
・なぜ、タスクマネージャの『プロセスの終了』ボタンで終了禁止にしたいのですか?
そのソフトウェアは、常駐プログラムで強制終了されると動作に重大な支障が
出たりするのですか?そういう理由で起動中は『強制終了を禁止』にしたいのですか。
・ちょっとだけお尋ねします。
この回答への補足
学校で使用しているシステムで、スレーブ側のソフトなのですが、学生が勝手に終了してるのです。学生は、Users権限しか与えていないので、システム権限のソフトに出来ればいいのですが。
また、そのソフトは小さいウインドウながら、学生にボタンをクリックさせる事もありまして...。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
他のEXEが起動しているかの確認
-
常駐するアプリケーションを初...
-
アプリケーションが終了するま...
-
タスクマネージャーのプロセス...
-
実行中のプログラムIDが取得...
-
C++のプログラムをバックグラウ...
-
UNIX関数?(popen)...
-
Apacheの子プロセスが再起動す...
-
シェルで親プロセス終了時に子...
-
forkについて
-
Macターミナルで実行中のプログ...
-
エクセルVBA 大容量CSVファイル...
-
FOM出版の公認テキスト&問題集...
-
vb.netでバッチ処理
-
VB 電卓 メモリー機能
-
ソケット通信 同じポート番号...
-
Linuxでのシリアル通信について...
-
powershell を使いカレントディ...
-
VBA:CSVファイルの読出し手法...
-
.sb3のファイルを.sb2に変換す...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
タスクマネージャーのプロセス...
-
バックグラウンドのプロセスの...
-
プロセスのアタッチ・デタッチ...
-
OSPFでプロセスを分ける意義に...
-
ADOでアクセスのレコードに...
-
非表示になったエクセルは?
-
Process.Startの戻り値を後で取得
-
vb.netでEXCEL起動がうまくでき...
-
C#でのbatファイル実行結果取得
-
プロセスIDの取得方法について
-
Linuxでのスレッド間メッセージ...
-
Visual C++からpingを実行して...
-
SendMessageが失敗するときがある
-
IISがフリーズ
-
スティーブ・ジョブズはプログ...
-
c言語でプロセスIDを調べたい
-
特定ユーザーのプロセス情報を...
-
怪しいプロセス教えてください。
-
セマフォとmutexの違いは?
-
Windowsでのfork方法
おすすめ情報