Windowsログオンで実行されるアプリケーションを作成していますが、実際に何かを開始する前にデスクトップが完全に機能するまで待機する必要があります。 Windowsがデスクトップのロードを完全に完了したときに、何らかの方法で作業することはできますか?Windowsデスクトップが完全に機能する(ロードされた)かどうかを確認する方法#
答えて
自動(遅延)モードでサービスを使用することができますが、誰も速くログオンしていない場合はログオンする前に起動しますが、システムの大半が準備完了になるまで実行を避けたい場合は、 。準備が整うまで待ちたいと思っているユーザー中心のユーザーにとっては、ユーザー中心のトリガーを使用する必要があります。システムアカウントに関連付けられているプロセスの
- CPUの負荷がもはやCPUのかなりの割合を取っていた。
いくつかの指標は、あなたに、ユーザが使用するセッションの準備ができ見なさかどうかの良いアイデアを与えるだろうが存在します時間。
- ユーザーがネットワーク接続は、これらはヒューリスティックなので、あなたが最小のためにいくつかの時間ベースの制約があり、最大可能なはずです
を確立している
アプリケーションをstartup folderにインストールするだけです。また、ウィキペディアのページstartupを見てください。スタートアップフォルダread thisにC#アプリケーションをインストールするには
アプリケーションの起動は問題ではありません。私のアプリケーションで実際に作業を開始する前に、他のすべてがロードされ、完了していることを確認しています。私はCPUの活動を監視する行に沿って考えていましたが、これを行うにはとても良い方法ではありません。 – PentaPenguin
** @ Ataris22:**一部の古いシステムでは常に約80%-100%の使用率で動作するため、CPUアクティビティの監視は機能しません。最後のリンクは、あなたがしたいことをする方法を説明しています。 – Kredns
もう一度、私は苦労しているアプリケーションの開始ではありません。アプリケーションは、上記のリンクに記載されているレジストリキーを既に使用しています。質問は、Windowsデスクトップが完全に機能している状態にあることを最もよく伝える方法に関するものです。起動時に実行するように設定するのではなく、それだけで達成するものではありません。 – PentaPenguin
私は主に、インタラクティブなUIベースのアプリケーションであり、システムサービスではないと仮定しています。
「終了」の定義が明確にされていないため、他のアプリケーションの読み込みが完了したことを知る方法はありません。ただし、http://www.chameleon-managers.com/windows-startup-manager/startup-delayer.phpなどのサードパーティのユーティリティを使用して、アプリケーションの起動順序を制御できます。
他のデスクトップアプリケーションの読み込みが完了した後でアプリケーションを実行させることで、どのような効果を達成しようとしているのかがわかりました。これを知ることは、別の答えを示唆するのに役立つかもしれませんアプリケーションの負荷に
よろしく
あなたはタイマーループに入り、すべての前提条件プロセスがプロセスリストをmoniteringによってロードされるまで待つことができませんでした。条件が満たされたら、アプリケーションの初期化を続けることができます。
Process[] apps = Process.GetProcesses();
あなたは良い点を確認します。あなたが何を待っているかを明示的に知っていれば、それをコード化することができます。 – Matt
非常に古い質問ですが、私は同じことが必要でした。次のコードは動作するようです:
[DllImport("user32.dll", SetLastError = true)]
static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
// wait until desktop ready
IntPtr lHwnd = IntPtr.Zero;
do
{
lHwnd = FindWindow("Shell_TrayWnd", null);
Thread.Sleep(100);
} while (lHwnd == IntPtr.Zero);
これはお金です。デスクトップがユーザー環境を準備している間にロードするまでに5分かかると、初めてのログインで発生したアプリケーションで実際にクラッシュしました。私はシステムトレーにもアクセスしていたので、これは実際にはダグが準備が整うまで待ちます。 – Ultratrunks
- 1. JavaScriptを使用してウェブページが完全にロードされているかどうかを確認する方法
- 2. Spring Rest APIを使用してファイルが完全にダウンロードされたかどうかを確認する方法
- 3. wp7 - 画像がロードされたかどうかを確認する方法
- 4. 購入状況が完全かどうかを確認する方法
- 5. スクロール内の表示が完全に表示されるかどうかを確認する方法
- 6. ListViewの最後の行が完全に表示されているかどうかを確認する方法?
- 7. UIViewがロードされているかどうかを確認する方法
- 8. GACアセンブリがロードされているかどうかを確認する方法
- 9. mithril.jsがロードされているかどうかを確認する方法は?
- 10. exeがデスクトップにあるかどうかを確認する#
- 11. Googleマップが完全に読み込まれているかどうかを確認する方法は?
- 12. データベースメールが機能しているかどうかを確認する方法は?
- 13. ジェスチャー認識機能を完全に削除する方法
- 14. 完全に完全なHTMLが生成されたページをJavaでロードする方法はありますか?
- 15. 動的にロードされたPHP拡張機能をコマンドラインから確認する
- 16. in c#番号が完全か正確かを確認する方法
- 17. segueがSwift 3を完了したかどうかを確認する方法?
- 18. VCRがカセットを完了したかどうかを確認する方法
- 19. postgres_fdw拡張機能がpostgresにインストールされているかどうかを確認する方法
- 20. スイフト:特定のボタンが機能内に押されているかどうかを確認する方法は?
- 21. Pheanstalkジョブが完了したかどうかを確認する方法
- 22. APIでトランザクションが完了したかどうかを確認する方法
- 23. Laravel JobIdジョブが完了したかどうかを確認する方法
- 24. 印刷ジョブが完了したかどうかを確認する方法?
- 25. PHP CURL - 要求されたファイル全体が完全にダウンロードされていないかどうかを確認する方法
- 26. 特定の列が完全に一致するかどうかを確認する方法
- 27. 認証された紹介 - ユーザーが認証されたばかりかどうかを確認する方法
- 28. 正しいURLとタブタイトルがロードされたページがあるかどうかを確認する方法
- 29. ファイルが正常にダウンロードされたかどうかを確認する方法
- 30. パラメータ値がストアドプロシージャに渡されたかどうかを確認する方法
ありがとう、これは私が後にしたものです。私はパフォーマンスカウンターがこれを見始める場所かもしれないと思っています。システムは自動化されているため、監視するユーザーの操作はありませんが、ビットとボブの作業が終了したことを示す良い情報が必要です。掘り起こすだろう。 – PentaPenguin
Ataris22 - 私はあなたが達成しようとしている究極の効果を知りたいと考えています。あなたのアプリケーションは、スタートアッププロセスで遅く(最後に)ロードされるように、何をしますか? – Matt
@ShuggyCoUK私は、同様の状況に直面しています。違いは、デスクトップの高速切り替え中にデスクトップが準備できているかどうかを確認することです(Windows 8.1にログインしてユーザーを切り替え、同じユーザーに切り替え、すべてが整理される前にちらつきます)。その時点でデスクトップ上のすべてのロードが完了したことをどのように知ることができますか? – armanali