問題タブ [sendmessage]
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.
winapi - C++ WINAPI: SendMessage/PostMessage WM_KEYDOWN lparam の使用方法
VB/VBS よりも低いものに対するアマチュアとして (C++ WINAPI は私の経験のある人にとっては悪夢です)、C++ で単純な KEYDOWN メッセージの長い lParam を構築する方法がわかりません。価値があるよりもまともな説明ですが、誰かがこれをどのように行うかを正確に説明できますか?
他のフォーラムでのこの質問に対するほとんどすべての回答は、実際に質問に回答することなく、「理由」または「代わりに SendInput を使用する」であったようです。人々が説明するにはあまりにも初歩的すぎると思います。とにかく、ここにmsdnからの説明があります。適切な説明またはリンク、および可能であれば実際の例をいただければ幸いです。
示されているように、繰り返し回数、スキャン コード、拡張キー フラグ、コンテキスト コード、前のキー状態フラグ、および遷移状態フラグ...
0-15 現在のメッセージの繰り返し回数。この値は、ユーザーがキーを押した結果、キーストロークが自動反復される回数です。キーストロークが十分長く保持されると、複数のメッセージが送信されます。ただし、繰り返し回数は累積されません。16-23 スキャンコード。値は OEM によって異なります。
24 キーが拡張キー (拡張 101 キーまたは 102 キー キーボードに表示される右側の ALT キーおよび CTRL キーなど) であるかどうかを示します。拡張キーの場合、値は 1 です。それ以外の場合は 0 です。 25 ~ 28 予約済み。使用禁止
29 コンテキストコード。キーが押されている間に Alt キーが押されている場合、値は 1 です。どのウィンドウにもキーボード フォーカスがないため、アクティブなウィンドウに WM_SYSKEYDOWN メッセージが送信された場合は 0 です。
30 前のキーの状態。メッセージが送信される前にキーが押されていない場合、値は 1 です。キーが押されている場合、値は 0 です。
31 遷移状態。WM_SYSKEYDOWN メッセージの場合、値は常に 0 です。
vb6 - Findwindow と SendMessage
これがALT + Fをメモ帳に送信しない理由を理解しようとしていますが、
parenthwndの値を取得しますが、retvalue 値 (0) の値は取得しません。
私は何が欠けていますか?
iphone - iPhone アプリでプログラムによって電子メールを送信できますか?
Iphone アプリ内からプログラムを使用して、事前に書式設定された電子メールまたは SMS テキスト メッセージを送信できる必要があります。これはできますか?Apple の MFMailComposeViewController クラスを見てきましたが、これは「電子メール メッセージの編集と送信を管理する標準インターフェイスを提供します」。MFMessageComposeViewController クラスには、独自の「SMS テキスト メッセージを作成するための標準システム インターフェイス」もあります。これらにより、ユーザーがすべてのデータを入力し、送信ボタンを明示的に押す必要があるインターフェイスをユーザーに提示できます。
このボイラープレート機能を使用できません。
ユーザーにインターフェイスを表示せずにメッセージを送信できる必要があります。これは悪いことのように聞こえますが、実際には、現場のユーザーが現場で特定のアクションを実行したときに、中央オフィスのユーザー グループと通信する必要がある商用アプリケーション向けです。
誰かがこれに対する解決策を見つけましたか?
iphone - MFMessageComposer iPhone,自動メッセージ送信
MFMessageComposerを使用して自動送信メッセージを実装する方法を知っている人は誰でも..メッセージコンポーザーを表示する必要がないことを意味します..定義済みのメッセージを特定の番号に送信する必要があります..またはMFMessageComposerを使用せずに他の方法で.. ???
sms - iPhone - UIMessage.framework
iPhone アプリケーションでは、テキスト メッセージの送信をサポートしています。このために、アプリケーションに UIMessage.framework を統合する必要があります。この機能は、OS 4.0 以降のバージョンでのみサポートされています。ただし、実装では、デバイスの OS が 4.0 より前の場合、この機能を無効にしました。ただし、私が直面している問題は、4.0 より前のデバイスの場合、フレームワークのニーズがパッケージに含まれているため、パッケージをインストールできないことです。
この問題の回避策はありますか? OS が 4.0 以上の場合にのみこのフレームワークが含まれるようにビルドすることは可能ですか? 以前のバージョンでは必要ありません。それとも、ここで何か不足していますか?
ありがとう
.net - 昇格したアプリケーションに CopyData を使用する代わりに使用できる適切な方法は何ですか?
サービスを停止し、ファイルをコピーしてから、サービスを再開するアプリケーションがあります。プログレスバーを表示し、余分なウィンドウを表示したり、画面を変更したりせず、UACに任せてそこから続行するだけです(これは構成プログラムであるため、コピーに盾のアイコンが付いた標準ユーザーとして引き続き使用できますボタン)。
これを行う方法は、管理者として別のアプリケーション (msiexec のように非表示にされた別のアプリケーション) を開くことであり、新しいアプリケーションはその役割を果たし、SendMessage を介して進行状況レポートを送り返します。これは問題なく動作しますが、SendMessage は管理者アプリケーションと非管理者アプリケーションの間で一方向にしか機能しないことがわかりました。StandardInput のリダイレクトは機能しません。これは、ShellExecute をオフにする必要があり、「runas」で ShellExecute をオンにする必要があるためです。
ファイルを使用したくありません。これは、速度が遅く、セキュリティ上のリスクがあるためです (以前は、コマンドを含む CopyData メッセージと一緒にキー コードを送信していました)。StandardInput/Output をリダイレクトする別の方法はありますか? MSIはどのようにそれを行いますか?
これにはC#を使用しています。
c++ - SendMessage 経由で IPC を実行するときに 32 ビット/64 ビットの不一致に対処するにはどうすればよいですか?
TVM_GETITEMウィンドウ メッセージを使用して、ツリー項目のテキスト (プレーンなCommon Controls Tree Viewに含まれている) を読み取る C++ コードがあります。メッセージを受け取るツリー ビューは別のプロセスにあるため、ウィンドウ メッセージへの引数の 1 つが指す構造体に共有メモリを少し使用しています。リモート プロセスは私の制御下にないため、この作業を行う必要があります (Spy++ に似たアプリケーションを作成しています)。
これは原理的にはうまく機能しますが、ターゲット プロセスが大幅に異なる場合は失敗します。
ターゲット プロセスのコードが UNICODE を定義してビルドされたが、自分のコードはそうでなかった場合、2 つのプロセスは、TVITEM 構造体の文字列メンバーの構造について異なる考えを持つことになります。私はすでにIsWindowUnicode呼び出しを使用してこれを解決し、明示的にまたはのいずれ
TVM_GETITEMA
かを送信しますTVM_GETITEMW
(必要に応じて結果を再コーディングします)。呼び出しプロセスが 32 ビット モードでビルドされ、ターゲット プロセスが 64 ビット (またはその逆) である場合、ポインターのサイズが異なるため、 TVITEM 構造体のレイアウト (およびサイズ) は異なります。
私は現在、2番目の問題を解決する良い方法を見つけようとしています。この特定の使用例 (ツリー項目テキストの取得) は単なる例です。コードが送信する他のウィンドウ メッセージにも同じ問題が存在します。現在、次の 2 つの方法を検討しています。
- コードを 2 回ビルドしてから、ターゲット プロセスの動作に応じて 32 ビットまたは 64 ビット コードを実行します。これには、ビルドおよびパッケージング システムにいくつかの変更が必要であり、アーキテクチャ固有のコードを専用のプロセスに分割する必要があります (現在は DLL 内にあります)。それが完了すると、うまく機能するはずです。
- 実行時にターゲット プロセスのイメージ フォーマットを検出し、32 ビットまたは 64 ビット幅のポインターを明示的に使用するTVITEM 構造体の代わりにカスタム構造体を使用します。これには、リモート プロセスのアーキテクチャを検出するためのコードを記述し (リモート プロセスでGetModuleFileNameを呼び出してから、 Image Help Libraryを使用して PE ヘッダーを分析することでこれを実行できることを願っています)、2 つの構造体 (1 つは 32 ビット ポインターを持ち、もう 1 つは を含む) をハードコーディングする必要があります。 64ビット)。さらに、共有メモリ アドレスが 32 ビット アドレス空間にあることを確認する必要があります (32 ビット モードでコンパイルされている場合でも、自分のコードが常にアクセスできるようにするため)。
他の誰かが同様の問題を解決する必要がありましたか? もっと簡単な解決策はありますか?
image-processing - Beagleboard: DSP との間でデータを送受信するにはどうすればよいですか?
私はTMS320C64x + DSP を搭載したビーグルボードを持っています。私は画像処理ビーグルボードアプリケーションに取り組んでいます。仕組みは次のとおりです。
- ARM はファイルから画像を読み取り、その画像を 2D 配列に配置します。
- アームはマトリックスを DSP に送信します。DSP はマトリックスを受け取ります。
- DSP は、受信したマトリックスに対して画像処理アルゴリズムを実行します (アルゴリズム コードは、動的に割り当てられた約 5MB のメモリを使用します)。
- DSP は、処理された画像 (マトリックス) を ARM に送信します。アームはマトリックスを受け取ります。
- アームは処理された画像をファイルに保存します。
手順 1、3、5 のコードは既に作成しています。ステップ 3 + 4 (データの送信) を実行する最も簡単な方法は何ですか? コード例は大歓迎です。
c# - sendmessage と c# を使用してサードパーティ アプリケーションでトラックバー/スライダーの値を増やす方法は?
こんにちは、サード パーティのアプリケーションでスライダー/トラックバーの値を増減したいと考えています。sendMessage() を使用して同じことを行うことは可能ですか? スライダーのハンドルを手に入れました。誰か助けてくれませんか?ありがとう。
c# - c#を使用してsendmessageでspy ++からフェッチしたハンドルを渡す方法は?
sendmessageでspy++ツールを使用して取得したハンドルを渡す方法は?すなわち。このハンドルを渡したい
spy++ 000010540から取得したハンドル
この関数で
ここで、ボタンハンドルのタイプはIntPtrです。ボタンハンドルを上記の値に置き換えたいと思います。ありがとう