問題タブ [screensaver]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - Windowsスクリーンセーバーマルチモニターの問題
私が書いたシンプルなスクリーンセーバーがあり、これは当社のすべてのクライアントPCに展開されています。
ほとんどのPCにはデュアルモニターが搭載されているため、スクリーンセーバーが両方のディスプレイで実行されるように注意しました。
これは正常に機能しますが、プライマリ画面が(左側のモニターに)スワップされている一部のシステムでは、スクリーンセーバーは左側(プライマリ)画面でのみ機能します。
問題のあるコードは以下のとおりです。誰かが私が間違ったことをしたこと、またはこれを処理するためのより良い方法を見ることができますか?
参考までに、「これ」のコンテキストは、スクリーンセーバーフォーム自体です。
c# - C# スクリーンセーバー: 提供された HWND への構成ダイアログ モーダル
私は C# XNA スクリーンセーバー キットに取り組んでいますが、これまでのところ、 Windows によって提供されるスクリーン セーバー設定ダイアログ ("/c:<hwnd>" 引数) に対してモーダルである必要がある構成ダイアログを除いて、すべてが整っています。
私のベンチマークは、Vista に組み込まれた 3D テキストスクリーンセーバーです。私のコードは同じ機能を提供し、設定ダイアログに関して、3D テキストはスクリーン セーバー設定ダイアログに対して完全にモーダルに表示され、スクリーン セーバー設定ダイアログをクリックすると、クリックを受け入れずにダイアログが点滅します。
Ryan Farleyが提案したように、HWND を IWin32Window でラップする方法を試しましたが、ダイアログが [スクリーン セーバーの設定] ダイアログの上に表示されても、[スクリーン セーバーの設定]ダイアログのコントロールは引き続きクリックできます。
では、親ダイアログにモダライズされたこと、またはよりクリーンなソリューションが存在することを通知するために、いくつかのエキゾチックな Win32API 呼び出しが必要ですか?
java - スクリーンセーバーが Java で実行されているかどうかを判断する方法は?
マイアプリケーションは定期的に画面に情報を表示します。ただし、スクリーンショットがアクティブな場合、アプリケーションはユーザーが戻るまで待機する必要があります。
スクリーンセーバーが実行されているかどうかを確認する方法はありますか?
クリーンなソリューションは必要ありません。Windows XP で作業する必要があるだけです。
同様の質問ですが、他のテクノロジー: スクリーンセーバーが実行されていることを確認するにはどうすればよいですか?
.net - Windows 7 でのスクリーン セーバーの無効化と有効化
スライド ショーを実行するために、スクリーン セーバーを一時的に無効にするアプリケーションがあります。これを使用してオンまたはオフにします。
これは XP では問題なく動作します。Windows 7 では、スクリーン セーバーを適切に無効にします。ただし、再度有効にすると、通常はスクリーン セーバーがオンになるときに、システムはスクリーン セーバーを表示する代わりにパスワードを要求します。
以降、操作パネルでスクリーンセーバーの設定を変更するまでの間、スクリーンセーバーの代わりにパスワード画面が表示されます。
Windows 7 で他にすべきことはありますか? SPI_GETSCREENSAVEACTIVE が Windows 7 でサポートされていないことは理解していますが、SPI_SETSCREENSAVEACTIVE はサポートされるはずです。
c# - スクリーン セーバー アプリケーションが App.Config を読み取らない
C# でスクリーン セーバーを作成しましたが、プレビュー モードで実行したり起動したりすると、例外がスローされます。Windows\System32 でダブルクリックすると、問題なく動作します。Visual Studio デバッガーでは、Windows\System32 にもあるアプリケーションの .config ファイルを読み取れないことがわかりました。
rundll32.exe がスクリーン セーバーを実行すると、app.config ファイルが省略されていると思います。強制的にロードする方法はありますか?
ありがとう
java - Java アプリを Windows スクリーンセーバーに変える
深さ優先探索で迷路を解くプログラムを書きました。この Java プログラムをスクリーンセーバー アプリケーションに変換する方法を考えていました。スクリーンセーバーが通常アクティブになっているときに Windows 7 がアプリを起動する方法はありますか?
performance - スクリーンセーバーはCUDAのパフォーマンスを損ないますか?
スクリーンセーバーが起動した瞬間に、CUDAカーネルの実行時間がほぼ3倍になることに気づきました。これは、空白のスクリーンセーバーであっても発生します。
奇妙なことに、これは電源設定とは何の関係もないようです。スクリーンセーバーを無効にして画面の電源をオフにしても、パフォーマンスは変わりません。「モニターをオフにする」を「しない」に設定し、スクリーンセーバーを起動させると、それが発生します。
なぜこれが起こるのですか?
この現象に対抗する方法はありますか?
スクリーンセーバーを起動しないようにウィンドウに指示する方法はありますか?(メディアプレーヤーはどのようにそれを行いますか?)
XPSP2x64に取り組んでいます
windows - スクリーンセーバーの通知を受け取る
スクリーンセーバーが開始しようとしているときに、C++ アプリケーションで通知を受け取りたいです。一部の人々がトリックを行うべきだと考えるメッセージWM_SYSCOMMAND
を聞いてみました。それはうまくいきませんでした。Spy++ は、ウィンドウがメッセージを受信していないことさえ示しました。興味深いのは、モニターの電源を切ったときに、 でメッセージを受信したことです。私はそれを間違って理解していますか?それとも、何かを逃しただけですか?wParam == SC_SCREENSAVE
WM_SYSCOMMAND
wParam == SC_MONITORPOWER
編集: テストでは、デフォルトの Windows スクリーンセーバー (Windows のロゴが付いたもの) を使用しました。
c# - 表示プロパティダイアログで別のスクリーンセーバーが選択されたことを確認するにはどうすればよいですか?
さて、Googleは今夜私の友達ではありません...
スクリーンセーバーCC.Votd(Codeplexのフルソース)があり、正常に機能しているプレビューモード(/ p引数)の実装を開始しました。プレビューモードのとき、フォームを小さなコンピューターモニターウィンドウの子にして、そこに描画します。
これは正常に機能し、プロパティの表示ダイアログが消えるとアプリケーションは終了します。
問題は、リストからスクリーンセーバーを選択してから別のスクリーンセーバーを選択すると、引き続き実行され、新しく選択されたスクリーンセーバーのプレビューが描画されることです。
では、別のスクリーンセーバーが選択され、自分のスクリーンセーバーを閉じる必要があることをどのように知ることができますか?
編集: Anonの場合、フォームをプレビューウィンドウの子にするために使用しているコードは次のとおりです。
P /呼び出し:
コード:
完全なフォームコード:http ://ccvotd.codeplex.com/SourceControl/changeset/view/40085#862458
IsWindowVisible()
プレビューウィンドウがまだ表示されていて、スクリーンセーバーが選択されたときと同じハンドルを持っているため、使用してみましたが、機能しませんでした。
編集:および関連する呼び出しを追加する前はSetParent()
、表示ダイアログを閉じた後もアプリケーションが実行され続けるため、ユーザーが別のスクリーンセーバーを選択すると、一部が機能し、何か別のことが起こると思います。
John Kが提案したように、私はSpy++で自分のフォームを見てきました。WS_CHILDスタイルが適用されているのを見たことがありません。しかし、私のデバッグはすべて、そうあるべきだと示唆しています。コードを次のように変更しました。
そして、スタイルは最後の3つのトレースで同じであり、そのうちの2つはフォーム自体から値を取得する必要があります。私のネイティブAPI呼び出しを調査し、それらの宣言をクリーンアップして、私が理解できることを確認します。
これまでのすべての助けに感謝します!
解決策:問題は、フォームのいくつかのプロパティを設定していたため、基になる.NETコントロールが新しいスタイルを上書きしてしまうことでした。だから変化する:
に:
問題を修正しました。単純な間違い:-)
それを解決する正しい方法...CreateParamsをオーバーライドします。