問題タブ [windows-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.

0 投票する
1 に答える
150 参照

c# - スクリーン セーバー コントロール パネルがフォームを強制終了しないのはなぜですか?

CodeProject で見つけたコードを使用して、スクリーン セーバーを作成しました。次のフォームは、ユーザーがスクリーン セーバーを選択したときにコントロール パネルに表示される小さなフォームです。

すべて正常に動作しているようです。フォームのサイズが正しく変更され、コントロール パネルの正しい場所に描画され (空白になります)、CP とともに移動します。ただし、コントロール パネルを閉じる (またはフォームを別のスクリーン セーバーのミニ プレビューに置き換える) と、アプリは機能しません。死ぬ。記憶に残るだけです。

私のフォームは、フォームのクローズ/クローズ メッセージ、または可視性の変更などを受け取りません。ここで親子関係を正しく設定していませんか?

関連するコードは次のとおりです。インポートされたすべての WinAPI 呼び出しは期待値を返し、GetLastError は常にゼロを返すので、これは問題ではないと思います...

さまざまな「フォームが閉じています」イベントハンドラーに Application.Exit がありますが、呼び出されることはありません...

0 投票する
1 に答える
131 参照

c# - アプリを起動したプロセスを取得するにはどうすればよいですか?

あなたが何を読んでも、Windows スクリーン セーバーは .scr に名前が変更された「単なる」.exe ではないことがわかります。.scr ファイルは、EXE のように直接「起動」されません。代わりに、Windows は .scr ファイルで実行可能ファイルを探し、その実行可能ファイルを再起動します。Windows が実行可能ファイルに送りたいコマンド ライン パラメータは何でもかまいません。

これは、.scr ファイルへのショートカットを独自のパラメーター (たとえば、"myscreensaver.scr /windowed /doublebuffered" など) で作成した場合、そのショートカットを使用すると、Environment.CommandLine によって起動されたのが "myscreensaver" であることが明らかになることを意味します。 .scr/S". パラメータが置き換えられていることに注意してください。

ここで /s、/c、および /p パラメータの役割を理解しました。これについては説明するまでもありませんが、私はスクリーン セーバーで正しく使用しています。しかし、元のパラメータも戻したいです。自分のプロセスを起動したプロセスの名前を取得し、そのプロセスに供給されたコマンド ライン パラメータを取得することはできますか?

0 投票する
1 に答える
135 参照

delphi - Windows がスクリーンセーバーの設定を開くときに渡される数字は何ですか?

私はスクリーンセーバーを書いていて、パラメーター/cをチェックして、スクリーンセーバーを開始する必要があるかどうか、または設定ウィンドウを表示する必要があるかどうかを確認しました。

ここに画像の説明を入力

渡された実際のパラメーターの/c後に数字 ic が続くことがわかりまし3805726た。完全な引数は

この数字はどういう意味ですか?

0 投票する
1 に答える
733 参照

windows - Windows イベント ID 4802 と 4803 が同時にトリガーされる (スクリーン セーバーの呼び出しと解除)

イベント ID 4803 (スクリーン セーバーの破棄) は、イベント ID 4802 (スクリーン セーバーの呼び出し) の直後にトリガーされます。ユーザーの操作が検出されるまで、スクリーン セーバーは実際にはオンのままであることに注意してください。

ここに画像の説明を入力

Windows 8.1 を使用しています。Windows 7 では、ユーザーの操作によってスクリーン セーバーがオフになった後、イベント ID 4803 が正しく発行されます。

イベント ID 4803 が 4802 の直後にトリガーされるのはなぜですか?

更新: 私は Windows 7 でスクリーン セーバーの呼び出し/破棄メカニズムをテストしてきましたが、YouTube が有効になっていると同じことが起こるようです。

0 投票する
1 に答える
439 参照

c# - 従来の .NET 3DEngine を使用した C# スクリーンセーバー - ビルド構成

プレビュー (インストール) モード、構成、またはテスト モードで動作する C# スクリーンセーバーをコーディングしました。ただし、起動するために Windows タイマーに到達すると、画面が黒くなり、マウスの読み込みアイコンが 2 ~ 3 秒間表示された後、画面がデスクトップに戻ります。

コードの最初の行としてログ ファイル エントリを追加しましたmain()が、Windows で起動したときにこのコードが実行されないようです。

Windows 10 で Visual Studio 2017 を使用しています。

私は古い 3D エンジンを使用しているので、app.config を変更したことを確認しました。

Screensaver.exe を Screensaver.scr に、app.config を Screensaver.scr.config に名前を変更しました。これらを SysWOW64 フォルダーのエンジン dll と一緒にコピーしました。

ビルド プラットフォーム ターゲット = x86。

デバッグビルドとリリースビルドの両方を試しました...そして、同じコード構造を使用して、テキストを表示するスクリーンセーバーの簡単な例を実行しましたが、機能したため、問題は3Dエンジンdllの使用に起因すると本当に思います.

何かアドバイスはありますか?.scr に適用される構成にいくつかの特異性はありますか? どこにもリードが見つからず、私は考えが及ばない....

役立つ場合のメインコードは次のとおりです。