- ベストアンサー
リモート接続コンピュータでのアプリケーション実行時にシャットダウンができない問題
- リモート接続したコンピュータでアプリケーションを実行し、処理完了時に自動でシャットダウンする設定をしていますが、ダイアログが表示されてシャットダウンができません。
- この問題を解決するためには、ダイアログを非表示にする方法が必要ですが、アプリケーションの改変はできません。
- 解決策をご存知の方がいらっしゃいましたら、教えていただけると助かります。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
バッチファイルで start /w aviutl shutdown /s /f /t 0 みたにいしてみるとか。
その他の回答 (4)
- bakakyatap
- ベストアンサー率38% (115/299)
>このダイアログを表示しないようにしたいのですが、どなたかご存知ではないでしょうか 他の方がやり方を指摘していますが、もう少し柔軟に考えないと解決しません。メッセージが出たとしても「フォース=強制終了」を指定すればダウンできます。もちろんハングしている状態であれば、とまっていますが。 shutdodwn コマンドの /f はフォースの意味です。 ユーザーに警告せずに実行中のアプリケーションを強制終了します。 /f は、/t xxx と共に使用されると自動的に設定されます。 これでもだめなら、なぜだめなのか記載しましょう。 なお、 「誰もこのコンピュータを使えなくなります」とはリモートにあるから、その場所へ行かないと誰も使えなくなりますよ。といっているので、本当に誰も使えなくなるわけではありません。 だったら、リモートから起動できるようにすれば言い訳です。 また、このメッセージが出たら、OKボタンなどを押すようにスクリプトを組めばいいわけです。 「出したくない」なんてがちがちに固まっていないで、もっと、もっと、もっと柔軟に考えましょう。 だいたいどのようにして、 >リモート接続したコンピュータ内でアプリケーションを実行 をしているんですかね? 普通の状態じゃできないですよね。リモートディスクトップならちゃんとそのように書きましょう。BATファイルからなんて到底できません。もし、本当にBATファイルから単純にやっているならまず、そこをスクリプト言語及びプログラム言語を変えないとだめです。 たとえばマイクロソフトのSDKには次のようにちゃんと強制終了のオプションが公開されています。 ********************************************************************************** Win32Shutdownメソッド: オプション一覧 ********************************************************************************** Int Hex 実行内容 -----|------|--------------- 0 0x0 Log Off 4 0x4 Forced Log Off (0 + 4) 1 0x1 Shutdown 5 0x5 Forced Shutdown (1 + 4) 2 0x2 Reboot 6 0x6 Forced Reboot (2 + 4) 8 0x8 Power Off 12 0xC Forced Power このフォースでメッセージが出ていても強制終了します。これは、shutdownコマンドのオプションにも指定されているものです。 http://msdn.microsoft.com/en-us/library/aa394058(VS.85).aspx (ここです)
お礼
回答ありがとうございます。 確かに柔軟な考え方が必要でしたね。ですが本当にこのダイアログを表示させない方法はないものでしょうか? どこに調べに行ってもshutdownコマンドの紹介ばかりで表示しない方法はありませんでした。 レジストリをちょっとイジれば出なくなったりするのかなと思ったのです。 (勉強不足でレジストリについては良くわかりません。) 出なくなる方法は無い(不可能)ということなんですね。 >>リモート接続したコンピュータ内でアプリケーションを実行 仰る通り、リモートデスクトップで接続して管理者権限でログオンしています。(両者共 XP pro SP2です。) >Win32Shutdownメソッド これについては調べていた時にこのページに辿り着いたのですが、正直よく分かりませんでした。 勉強して出直してきます。 大変勉強になりました、ありがとうございました。
- m-take0220
- ベストアンサー率60% (477/782)
> アプリケーションでの処理が完了した時にコンピュータを自動でシャットダウンする様に指定しているのですが どうやってこれを指定しているのでしょうか? その方法によっては、shutdownコマンドの実行に置き換えられるかもしれません。
補足
「aviutl」という動画作成ツールです。 動画作成中に下のプルダウンメニューで下記の「ウィンドウズのシャットダウン」を選択しています。 ・なにもしない ・ウィンドウズをシャットダウン ・ウィンドウズを休止 ・ウィンドウズをサスペンド ・aviutlの終了 このメニューは外部ファイルから読み込んでいる訳ではなさそうです。
- tochanboo
- ベストアンサー率50% (62/122)
リモートされたコンピュータを切断しようとしているから、 当たり前の表示が出るのであって、 なぜ、その表示が出ないようにしたいのか、 理解しがたい質問です。 ご自分の目の前の、リモートしているコンピュータを切断したかったら、 リモート接続を解除してから、切断することです。
お礼
回答ありがとうございます。 >リモートされたコンピュータを切断しようとしているから、当たり前の表示が出る リモートするコンピュータは自分しか繋がないので、そのメッセージ内容は理解しているので毎回毎回表示されると面倒ですし、アプリケーションの処理終了と連動でシャットダウンするとそのダイアログ表示で止まってしまってPCの電源が付きっ放しになるからです。
- YEND77
- ベストアンサー率56% (21/37)
今、家なんでうろ覚えですが、会社ではshutdownコマンドでやってます。 オプションがいろいろあって、ダイアログをださないで自動で何秒後におちろとか たしかできたはずです。参考になればよいのですが。。。
お礼
回答ありがとうございます。 shutdownコマンドを使用するのは調べたのですが、アプリケーションの終了と連動させるとshutdownコマンドを使用することが出来ません。 根本的にダイアログを表示しない様にしようと試みています。
お礼
回答ありがとうございます。 この方法で実装出来ました。 とりあえずはこの方法で運用しながら他の方法も探してみたいと思います。 ありがとうございました。