1

ダイアログをポップアップするJavaプログラムを作成し、それをタスクとしてスケジュールしました。スケジュールされたJavaプログラムが実行され、ダイアログがポップアップする場合を除いて、すべてが正常に機能します。ダイアログボックスの後ろに別のウィンドウ(svchost.exe)がぶら下がっていて、Javaプログラムの実行が完了するまでどこにも移動しません。プログラムはWindowsXPで実行されています。

どうすればそのdosプロンプトを回避できますか?

ありがとう

4

3 に答える 3

3

警告の一言 (ファンシーなリンクと長さを取得できるように回答として投稿): UI をポップアップするサービスは、基本的に、悪用されるのを待っているセキュリティ ホールです (詳細については、「粉砕攻撃」を検索してください)。そのため、Windows Vista 以降では、サービスはデスクトップに UI を表示できません (サービスはセッション 0 で実行され、対話ユーザーはセッション 1 で実行されます)。

さらに重要なことに、Windows XP では、アプリケーションが動作しないシナリオがいくつかあります。コンピュータに複数のユーザーが同時にログオンしている場合 (ユーザーの高速切り替え)、またはマシンがターミナル サーバー ロールで実行されている Server 2003 マシンである場合インタラクティブなユーザーのセッションで UI がポップアップしません。

この記事では、セッション 0 分離の問題とその回避方法について説明します。

于 2010-01-26T02:45:01.367 に答える
2

Java プログラムにコンソール ウィンドウを持たせたくない場合はjavaw、 ではなくを使用して Java を起動する必要がありますjava

于 2010-01-26T02:12:04.607 に答える
0

スケジュールしたいもののショートカットを作成します。ショートカットのプロパティ ダイアログで、ショートカット タブの [最小化して実行] を選択します。このショートカットをスケジュールするときは、ショートカットを参照していることを確認してください。.lnk で終わります。参照すると、ショートカットが指すもののショートカットをバイパスする可能性があります。ソース: http://ask.metafilter.com/18994/Windows-Batch-File-Run-Minimized

于 2010-03-31T16:47:35.897 に答える