問題タブ [wm-syscommand]

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 投票する
4 に答える
5332 参照

winapi - WM_SYSCOMMANDの奇妙な点

ユーザーがシステムメニューでメニュー項目コマンドを選択すると、アプリケーションはWM_SYSCOMMANDメッセージを受信するため、wParamはSC_CLOSE、SC_CONTEXTHELP、SC_MAXIMIZE、SC_MINIMIZE、SC_RESTOREなどになります。これは論理的です。(もちろん、最小化、最大化、閉じるボタンなどをクリックして、これらのメッセージを送信することもできます。)

ただし、WM_SYSCOMMANDメッセージを送信して、コマンドをWindowsシェルに送信することもできます。たとえば、スタートメニュー(SC_TASKLIST)を表示し、スクリーンセーバー(SC_SCREENSAVE)をアクティブにして、モニター(SC_MONITORPOWER)をオフにすることができます。これは意味がありませんね。これは、アプリケーションのシステムメニューと何の関係がありますか?これは、より「システムコマンド」、つまりメッセージの「WM_SYSCOMMAND」という名前の完全に別の解釈です。これは、メッセージがコマンド要求をシステムに送信するために使用されるようなものです。

このメッセージが2つの一見まったく異なるものに使用されるのはなぜですか。また、「SYSCOMMAND」という名前は何を指しますか(システムメニューのコマンドまたはオペレーティングシステムのコマンド)。

0 投票する
2 に答える
1344 参照

windows - 助けてください-AeroShake/3DフリップからのWM_SYSCOMMANDメッセージ

こんにちは

Delphi 2006で作成されたアプリケーションがあります。Windows7で実行している場合、アプリケーションがAeroShakeからWM_SYSCOMMANDメッセージを受信しないことに気付きました。ただし、アプリケーションを管理者として実行すると、AeroShakeを実行するときにWM_SYSCOMMANDを受け取ります。

WM_SYSCOMMANDに対してChangeWindowMessageFilterを呼び出そうとしましたが、呼び出しが成功したことを示すTrueの結果が得られましたが、AeroShakeからWM_SYSCOMMANDメッセージを取得できません。

誰かがなぜそしてどのようにこれを修正できるか知っていますか?

ありがとうございました

0 投票する
2 に答える
1474 参照

delphi - スクリーン セーバーをオンにする Delphi コードが Windows 7 で動作しない

を使用してコンピューターをスクリーンセーブに配置する Delphi アプリがあります。

これは XP では正常に動作しますが、(組み込みの) Windows 7 では動作しないことがわかりました。

何か案は?

0 投票する
2 に答える
709 参照

c# - C#アプリケーションのシステムメニューからサイズオプションを無効にする

私は ac# Windows ベース アプリケーションを持っています。システム メニューでサイズ オプションを無効にする必要があります。

システム メニューにオプションを追加するには、user32.dll を使用しています。Windowsフォームを使用しています。

ここに画像の説明を入力

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

c# - wParam 0xF063 の WM_SYSCOMMAND?

関係のない理由で、C# アプリケーションの WinForm に WM_SYSCOMMAND メッセージをトラップしています。ハンドラーが wParam 0xF063 の WM_SYSCOMMAND メッセージを受け取ることがあります。

ドキュメントに 0xF063 はありません: http://msdn.microsoft.com/en-us/library/windows/desktop/ms646360(v=vs.85).aspx

それを基本 Form クラスの WndProc に渡すと、ウィンドウが閉じているように見えます。これは、wParamがほぼ0xF060 である SC_CLOSE メッセージであるため、ある程度理にかなっていると思います。

では、この 0xF063 メッセージとは正確には何であり、通常の SC_CLOSE と何が違うのでしょうか? SC_CLOSE とまったく同じことをしているように見えるのに、なぜそれを持っているのでしょうか? この値に関するドキュメントはないようです。

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

windows - WM_SYSKEYDOWN が更新されない

キーボード入力用に WM_SYSKEYDOWN と WM_SYSKEYUP で何かを試しました。

これが重要なコード部分です。

ボタンを押すと1つの文字列を1回印刷し、キーを離すともう1つの文字列を印刷しようとしました。

リリースは機能しますが、応答を押すのは2 回押すごとに 1 回だけです。

この行は、文字列の再送信を頻繁に中断する必要があります。

理由はわかりません... ですが、そうなることを願っています。

前もって感謝します!