問題タブ [postmessage]
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# - どのWM_Messageを使用しますか?
私は自分で作ったものではないゲームのクライアントローダーに取り組んでいます。クライアントに送信するマウスイベントとキーイベントのライブラリを作成しましたが、ほとんどの場合機能します。しかし、私には理解できないビットが1つあります。
コードの入力部分を次のようにしました。
これは問題なく機能しますが、説明されていないことが2つあります。
- ゲーム内では、チャットを開くために入力する前にEnterキーを押す必要があります
- メニューを開くためのホットキーがあります
最初のEnterキーを送信するなどの試みをPostMessage(mainwnd, (uint)WM.CHAR, 0x0D, 1);
しましたが、ゲームはそれを処理しません。PostMessageを使用してメニューを開こうとした場合も同じことが起こります。メッセージを送信する前にチャットウィンドウがすでに開いていない限り、何も解析されません。
間違ったWM_Messageを使用していると思いますが、必要なWM_Messageが見つかりません。私が試してみました:
- WM_CHAR
- WM_SYSCHAR
- WM_MENUCHAR
- WM_HOTKEY
- WM_APPCOMMAND
- WM_KEYDOWNの後にWM_KEYUPが続く
そして多分他のいくつかですが、運がありません。どのコマンドが機能するか知っている人はいますか?
c# - エディット ボックスが複数ある場合に、エディット ボックスの hWnd を取得するにはどうすればよいですか?
3 つの TEdit ボックスと 3 つの TButton オブジェクトを持つ、私のものではないプログラムがあります。以下を使用して、ボタン ハンドルを簡単に取得できます。
しかし、編集ボックスにはテキストがないため、同じことはできません。したがってFindWindowEx(hWnd, IntPtr.Zero, "TEdit", "")
、それらすべてを取得できます。ただし、最初に遭遇したものしか取得できず、最後のものが必要です。いくつかのボックスをスキップしたり、それらを区別したりする方法はありますか?
c# - C# PostMessage - データの損失を防ぐには?
パケットを形成し、パケット データを外部プログラムに送信して送信するアプリケーションがあります。すべてが機能していますが、ウィンドウを最前面にする必要がない唯一の方法は、PostMessage です。ただし、メッセージの先頭で常に 0 ~ 2 文字を失うようです。紛失を防ぐためにチェックを行う方法はありますか?GetLastError() をループして、0 の場合は再送信しようとしましたが、何の役にも立ちません。これまでに取得したコードは次のとおりです。
TextSend クラスの定義は次のとおりです。
javascript - iFrame から親 JavaScript 関数を呼び出す HTML5 の方法 -- postMessage を使用する以外に? または、PhoneGap アプリのソリューションですか?
ウィンドウ間の通信にクロスドメインの制限が課されていること、およびHTML5でpostMessageが導入されていることは認識しています。
ただし、iFrame がその親ウィンドウで定義された JavaScript 関数を呼び出すことができる他の方法があるかどうか疑問に思っています。
postMessageは、それぞれが複数のパラメーターを必要とする複数のメソッドを呼び出すには少し扱いにくいと思います。
HTML5 の代替案が存在しない場合は、PhoneGap でソリューションを提供するためのボーナス ポイントです。
PhoneGap の詳細はこちら:
PhoneGap の「index.html」ページに iFrame を埋め込みます。
「index.html」から、JavaScript 関数を呼び出したり、iFrame 内の変数にアクセスしたりできます。
しかし、iFrame から「index.html」内の関数を呼び出したり、変数にアクセスしたりすることはできません。
これが逆に機能するのを防ぐPhoneGapについて何かありますか?
ありがとう!
javascript - Web Worker onmessage コールバックで postMessage を呼び出すと、SYNTAX_ERR: DOM Exception 12 がスローされる
Web Worker の onmessage コールバックを記述しているときに、別の postMessage() を送信しようとすると、コンソールに「Uncaught Error: SYNTAX_ERR: DOM Exception 12」が表示されます。
c# - 別のアプリケーションからテキスト データをコピーする
一部の win アプリケーション (私のものではない) からデータを受信する必要があります。この時点で、アプリケーション ウィンドウは非アクティブである可能性があります。必要なデータはテーブルで表されるため、WM_GETTEXT、WM_COPY は texbox、textarea などからのみテキストを取得するため、使用できません。このテーブルで手動で選択を行うことができ、必要なのはこの選択からテキストをコピーすることだけです。データをクリップボードにコピーするための Ctrl+C のエミュレーション。そのキーシーケンスをこのように送信しようとしました
しかし、成功もありません。これはメモ帳ではうまく機能しますが、私のテーブルでは機能しません。そこからテキストデータを取得する他の方法はありますか?
javascript - html5 postMessageが機能しない
postMessage 経由でドメイン メッセージを繰り返し送信しても、window.addEventListener の関数が起動しません。まったく反応がないようです。コードは次のとおりです。
リスナーがメッセージを拾わないのはなぜですか?
c# - SendMessage/PostMessage 関数の使用方法
これらのメッセージをアプリケーションに送信したい:
これらは Spy++ のものです。C# を使用して、SendMessage/PostMessage 関数を使用して送信するにはどうすればよいですか?
編集..返信ありがとうございます!私は私の問題を解決しました、ありがとう!
c++ - wParamをCStringに変換するにはどうすればよいですか?
WM_KEYDOWNメッセージからがありpMsg->wParam
、それをに変換したいと思いますCString
。どうやってやるの?
私は次のコードを試しました:
ただし、拡張ASCII文字では機能しません。