問題タブ [user32]
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# - C#で現在フォーカスされているプロセス名とバージョンを確認するにはどうすればよいですか
たとえば、Visual Studio 2008 で作業している場合、devenv と 2008 または 9 の値が必要です。
バージョン番号は非常に重要です...
.net - .NETでのUser32API呼び出し
私は現在、Windowsのシェル置換(Blackbox、具体的にはbbleanに基づく)の作成を含むプロジェクトを計画しています。ただし、.NETの機能を活用してこれを実現したいと思います。必要なAPI呼び出しの多くは、User32ライブラリ内に格納されています。もちろん、P / Invokeを使用して、これを処理する静的クラスを作成することもできます。
ただし、この機能の多くは、.NET Framework、特にプロセスやアクティブウィンドウなどを処理するためのSystem.Management名前空間ですでに使用できます。たとえば、SetForegroundWindow関数など、一部が欠落しているようです。
この機能をすでに提供している.NETFrameworkに組み込まれているものを知っていますか、それともP / Invokeルートを使用する必要がありますか?
c# - User32 の ShowWindow が期待どおりに動作しない
User32 の ShowWindow メソッドを使用して、ユーザーからウィンドウ (cmd.exe) を非表示にしています (主にウィンドウを閉じないようにするため)。ユーザーがフォームを開くとプロセスが開始され、非表示になり、フォームが閉じられるとプロセスが強制終了されます。ただし、フォームを再度開くと、ウィンドウは非表示になりません (最初は非表示になる場合もあります)。
c# - ログオンしているユーザーのアクティブ ウィンドウをサービスから取得する方法
アクティブなウィンドウや最後のマウスの動きなど、現在ログオンしているユーザーから情報を取得する必要がある C# サービスを作成しています。user32.dll を使用してこれらの情報を取得できることは既に学びましたが、これはメソッドを呼び出すユーザー コンテキスト内からのみ機能します。
このようにして、私のサービスはそれ自体に関する情報しか取得できず、「現実世界」のユーザーに関する情報は取得できませんでした。また、これは WTSEnumerateSessions、OpenWindowStation、EnumDesktops などを使用することで可能になるはずだと聞きましたが、これを行う方法を示す例は見つかりませんでした。
誰かが私の目標を達成する方法の手がかり (またはコード例) を持っていますか?
.net - .NET でマウスの左ボタンと右ボタンを入れ替える
.NET (できれば C#) でマウスの左ボタンと右ボタンを入れ替えるにはどうすればよいですか? 基本的に、結果は、ユーザーがコントロール パネルからマウスのプロパティの [プライマリ ボタンとセカンダリ ボタンを切り替える] チェックボックスをオンにした場合と同じになります。それが違いを生む場合に備えて、私はWindows XPを扱っています。
silverlight - Caps Lock が Silverlight アプリケーションで切り替えられているかどうかを確認する方法は?
Silverlight アプリケーションのログイン画面で、Caps Lock がオンになっているかどうかを確認する必要があります。これは KeyUp または KeyDown イベントを処理することで簡単に実行できますが、キーが押されていない場合でも、キーがオンまたはオフに切り替えられているかどうかを判断するにはどうすればよいでしょうか?
これを実行したい理由は、Silverlight アプリケーションの実行中にユーザーが Caps Lock を押さずに、ログイン画面に到達する前に Caps Lock を切り替えた場合です。Caps Lock がオンになっていることを警告する必要があります。
どうやら、Silverlight ではアンマネージ コードを処理できないため、次のコードは機能しません。
[DllImport("user32.dll")] internal static extern short GetKeyState(int keyCode);
dialog - 自動クリックの問題
さまざまな User32.dll ライブラリ呼び出しを使用して、開いているアプリケーション ウィンドウをランダムにクリックする自動テスト用のプログラムをコーディングしています。私の現在の問題は、クリックでダイアログが開く場合、 Process.WaitForInputIdle() を使用しても、ループの次のトリップでそのダイアログが検出されるまで十分に待機しません。つまり、いくつかのクリックがキューされ、それらのクリックが発生した場合回避したいダイアログ内の何か(終了ボタンなど)にあることを事前に伝える方法はありません。私の質問はこれです。プロセスまたはスレッドがすべての処理を終了し、メッセージ ループでのみ待機するのを待つ方法はありますか?
それが理にかなっていることを願っています。
乾杯
ロス
編集
これに失敗すると、ターゲットプログラムと私のプログラムのプロセス/スレッドを両方とも同じプロセッサを使用するように設定し、ターゲットプログラムが優先されるようにそれぞれの優先順位を調整することは何とか可能でしょうか?
winapi - SendMessage を使用してユーザーのマウス クリックをシミュレートする
SendMessage は、トリガーするイベントの処理が完了するまでブロックされるため、ターゲット プログラムでユーザーのクリックをシミュレートするために SendMessage を使用する必要があります。この理由は、このブロックにより、クリックの結果としてダイアログが開いたかどうかを検出する機会が得られるためです。現在の私の問題は、モデル ダイアログを開くモックアップ フォームのボタンで WM_LBUTTONDOWN メッセージと WM_LBUTTONUP メッセージを連続して使用してクリックを機能させることはできますが、標準の Windows アプリのメニューやメニュー項目では機能させることができないことです (メモ帳)。機能する方法でメニュー項目のクリックを実行する機能を取得するための助けをいただければ幸いです。それがメニュー項目であるかどうかは既に検出できますが、SendMessage を使用してブロックしてクリックをシミュレートできる必要があります。
乾杯
ロス
winapi - 非クライアント項目をクリックするための SendMessage
SendMessage で別のプログラムのメニューを有効にするのに問題があります。ユーザーがメニューをクリックしたときに Spy++ を調べると、次のことが起こります。
一方、WM_NCLBUTTONDOWN で SendMessage を使用して同じことを試みると、代わりに次のことが起こります。
これを正しく機能させる方法を知っている人はいますか?
乾杯
ロス