問題タブ [sendinput]

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 に答える
776 参照

c# - SendInput ExtraInfo / フラグ

ホットキー アプリケーションに SendInput API を使用しようとしています。だから私がやっていることは、グローバルなキーフックを持っていることです.いくつかのキーの組み合わせがヒットすると、代わりに別のキーを送信したいと思います.

私の問題は、シミュレートされたキーを送信すると、フックがそのメッセージを受信し、再帰ループになってしまうことです。

そのため、ExtraInfo / Flags を使用してみましたが、何らかの理由で、設定した値がフックで受け取る値と同じではありません。

ExtraInfo / Flags に何を設定しても、フックでメッセージを受信するとリセットされます。

次のようなセットアップで、低レベルキーボードフック「WH_KEYBOARD_LL」を使用しています。

他の誰かが同様の問題を抱えていて、私を助けることができますか? 動作するコードサンプルはどれも素晴らしいでしょう:)

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

c# - マウスを所定の位置に移動して左クリック

私はC#、フレームワーク4(32ビット)のWindowsフォームアプリケーションに取り組んでいます。

マウスの座標を保持するリストがあり、それらをキャプチャできます。ここまでは順調ですね。

しかし、ある時点で、それらの座標に移動して、マウスを左クリックしたいと思います。

現在の状況は次のとおりです。

そしてClickingクラス:

しかし、私はこのエラーを受け取ります:

そして、私は本当に問題が何であるかを理解していません...あなたたちは問題が何であるか知っていますか?または私がやろうとしていることをするためのより良い方法を知っていますか?

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

delphi - DelphiアプリからWM_COPYを送信します。Windows7の別のプロセスに

私はDelphi(BDS 2006)アプリケーションを持っており、QuickBooks会計ソフトウェアにキーストロークを送信してQuickBooksフォーム(請求書)をトラバースし、現在の編集コントロールからWindowsクリップボードにテキストをコピーし(データを収集するため)、収集したデータに基づいて計算を行います。最後に、キーストロークを送信してフォームに結果を書き込みます。

このアプリケーションは何年にもわたって開発されており、(少なくとも私にとっては)広範なWindows API技術を使用して、フォアグラウンドウィンドウ、フォーカスされたウィンドウなどを識別し、世界中の数十人のユーザーによって使用されています...それが多くのシステムで機能するという証拠として。

すべてではありません。最近、Windows 7システムで多くの障害の報告があります(QuickBooksのバージョンは重要ではないようです)。問題を報告した顧客に送信されたデバッグバージョンは、クリップボードに何もコピーしていないことを示していますが、それでも他のすべてを実行できるようです(フォームをトラバースするためにキーストロークを送信し、計算結果に貼り付けるためにキーストロークを送信します) ...残念ながら、データが収集されなかったため、現在は常にゼロになっています。)

QuickBooksの編集コントロールウィンドウにWM_COPYメッセージを送信するために使用するコードは次のとおりです。(XPまたはWindows 7システムのいずれでも、ここでこのコードを失敗させることはできませんが、複数のユーザーに対しては機能しません。)

デバッグバージョンを送信するエンドユーザーの忍耐力を損なうことを望まないので、他の何かを送信して試してみる前に、アイデアを探しています...

メモ/質問:

  • 他のすべてのキーストロークはSendInputを介して送信され、正常に機能します。速度の理由から、キーストロークとしてCtrl-Cを送信する代わりに、SendMessageTimeout(WM_COPY)を使用し始めたと思います。これにより、Ctrl-CがQuickBooksで処理されます。

  • アプリケーションでRunAs...Administratorを試すようにユーザーに依頼したと思いますが、効果はありませんでした(これが行われたことを確認する必要があります)。

  • 問題がUACの競合に起因するのではないかと思いますか?現在、アプリケーションはデジタル署名されておらず、マニフェストを使用していません。UIAccess=Trueを含むマニフェストの追加について読んでいます。しかし、アプリケーションがすでに問題なくQuickBooksにキーストロークを送信できる場合、UIAccess = Trueを設定すると、SendMessageTimeout()の成功に影響がありますか?また、デジタル証明書を使用する必要がありますか。UIAccess設定を有効にするには?

  • マニフェストにデジタル署名とUIAccessがないとSendMessageが機能しない場合、Ctrl-Cをキーストロークとして送信することにフォールバックすることは可能ですか?(私はそうは思いません。確かに、Microsoftはセキュリティの概念をめぐるそのエンドランを許可しません。)

私の考えを正すためにコメントをいただければ幸いです...

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

excel - SendInput VB 基本例

誰かが助けてくれることを願っています。キーボード コマンドをシミュレートする SendInput コードの例を見つけようとしています。メモ帳ウィンドウを見つけて、テスト メッセージを入力したいと思います。

私は当初、現在取り組んでいるプロジェクトで SendKeys を使用していました。SendKeys 関数を使用すると、職場で使用している特注のソフトウェアにキーボード コマンドを転送できました。

誰かが助けてくれることを願っています.インターネット上の例はうまくいかないようです.

SendInput メソッドが侵入的であるかどうか、つまり、受信者ウィンドウに損傷を与えるかどうかについても、誰でもアドバイスできますか。

SendKey メソッドは機能しましたが、信頼性は非常に当たり外れがあるようです。

どうもありがとう

サラ

編集:

インターネットで次のコードを見つけました。これは SendInput メソッドですか? 「SendKey」という用語が使用されていることに気付きましたか?

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

c++ - プログラムでWin + X、Alt-Tabを押す

Windows 8 で Win+X のキープレス イベントをシミュレートしようとしていますが、これにより小さなメニューがポップアップ表示されますが、SendInput を使用してこれを機能させることができませんでした。その他のキーの組み合わせ (例: Win+R、Win+E、Win+D) では機能しますが、Win+X では機能しません。Synergy+ にも同じ問題があることに気付きましたが、Windows のオンスクリーン キーボードにはありません。オンスクリーン キーボードが使用する SendInput のパラメーターも確認しましたが、アプリケーションでまったく同じパラメーターを使用してもメニューが表示されません。

私の質問ですが、どうすればこれを機能させることができますか? または、このメニューを表示する別の方法はありますか?

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

c++ - SendInputAPIを使用するためのベストプラクティス

自動テストライブラリに取り組んでおり、SendInputWin32APIを使用してマウスとキーボードの入力をシミュレートしたいと考えています。このAPIを使用すると、APIへの1回の呼び出しで複数の入力項目をプッシュできます。SendInputを使用したWeb全体には、他にも多くの例や同様のライブラリがあります。それらの多くは、APIへの呼び出しごとに単一の入力操作を渡します。入力をバッチ処理すること、またはSendInputの呼び出しごとに単一の入力を使用することには利点がありますか?ドキュメントはガイダンスを提供していないようです、またはおそらく私はそれを誤解しています。

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

c - Direct3D ゲームでのキーの再マッピング

ゲーム (Elsword) のいくつかのキーを再マップしようとしています。

まず、このコードを使用して、押されたキーをシミュレートします。

他のすべてのアプリケーションでは問題なく動作しますが、ゲーム ウィンドウでは何もしません...

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

c++ - SendInputで使用するHARDWAREINPUT構造体を埋める適切な方法は何ですか?

WM_KEYDOWN / WM_KEYUPペアを、通常はKEYBDINPUT構造体の使用に応答しないアプリケーションに送信しようとしています。エスケープキーと英数字を送信する必要があります。MSDNはハードウェア構造体の使用に関する漠然とした情報しか提供していないため、uMsgフィールドはWM_KEYDOWN / WM_KEYUPメッセージを保持するためのものであり、次の2つのフィールドはlParamのLOWORDとHIWORD用であると想定できます(いくつかのビットで構成されています)キーが「繰り返し」であるかどうかなど、スキャンコードを定義します)。

しかし、これらの値を数時間調整した後、ハードウェアのキーストロークを正しくシミュレートする方法がまったくわかりません。これを機能させるにはどうすればよいですか?

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

c# - SendInput hides repeating symbols (seems it doesn't perform KEYUP event)

I have app that sends character input into another app. Everything goes fine, but if text contain repeating characters (for example "app") then only one letter 'p' will arrive into destination window.

When sending "app" i receive "ap". After searching the web i've found that this is because missing KEYUP event. But i definitely have one in the code below. What's wrong?

#xA;