問題タブ [dynamic-data-exchange]

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

.net - これらのIPC技術をどのように行うことができますか?

Cとwin32を使用していた当時、私は多くのIPC技術を持っていたのを覚えています。これまでのところ、.NETでそれらのいずれにも遭遇したり、Cの外部でそれらを見たりしたことがないので、これらのプロセス間通信技術をどのように行うことができるかを尋ねると思いました。

  1. 共有/グローバルメモリ。信号なしで別のプロセスによって変更できるRAMを割り当てるだけです。

  2. ウィンドウメッセージ。SendMessageとWM_USER+Nを使用したことを覚えています。共有メモリに触れたときに別のアプリに伝え、ファイルや設定を変更するように依頼し、ときどき怠惰な気分になるため、キーストロークを入力してマクロとして機能するように他のアプリに伝えました。

  3. 動的データ交換。私は試しましたが、これを機能させることはできませんでした。私が覚えていることから(これは完全に間違っている可能性があることを警告します)、あなたは自分自身をグローバルメッセージまたはイベントに登録し、別のアプリ(通常はあなたのもの)がメッセージを送信し、2つほどのアプリが互いに通信し、メッセージを投稿し、統合することができますこのように2つのアプリ間。何がこれに取って代わったのか知りたいです。

私が知っている名前付きパイプもまだ使用され、見られています。そして、私は人々がIPCにソケットを推奨していることを覚えていますが、私はそれをするのが好きではありませんでした。

他に何が欠けていて、何がこのテクニックに取って代わりましたか?かっこいいグローバルミューテックスがあることは知っています。私はまだ2つのアプリ間でメッセージを送信するための最新の方法を探しています(ポイント2)。パイプにないFIFOキューがあるのではないかといつも思っていました。毎回メッセージを送信してグローバルメモリを割り当てる代わりに、データ(1kなど)をプッシュできることを除いて、Windowsメッセージと同様です。

-編集-バンプ。このスレッドは、現時点ではまだ私に関連しています。

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

windows - ランニング オブジェクト テーブル内の複数の Word2007 参照

以前のバージョン (ここを参照) とは対照的に、Word2007 では、実行中の WinWord.exe のインスタンスごとに、実行中のオブジェクト テーブルに 1 つのエントリが配置されることがわかりました。(MS VC 6.0 に付属の IROTVIEW.exe を使用して!)
Word を自動化するアプリケーションを構築しようとしています。Word の非表示インスタンスをユーザーが使用できないようにし、別の表示インスタンスと共存させたいと考えています。Word が ROT に登録されないようにする方法、またはユーザーが Word ドキュメントをダブルクリックしたときに、そのドキュメントを開く可視インスタンスであることを確認する方法はありますか?

振り返ってみると、おそらく別の質問をする必要があります: DDE メッセージをブロードキャストし、正しいアプリケーション名を持つウィンドウが複数ある場合、どのウィンドウが最初にメッセージを処理するかを決定するものは何ですか? doc、docx 拡張子などのファイル関連付けは、ドキュメントを開くために DDE が使用されることを示していることを認識しているため、質問します。

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

ipc - DDE と代替手段への使用?

XPに切り替えた頃のwin98時代にDDEを使ってみました。私は静かにそれを機能させることも、それが何に使用できるか、または何に使用する必要があるかを正確に知ることもできませんでした.

どのような代替手段を使用できるか知りたいですか? 当時、どの順番で開いても通信できるアプリを 3 つ作りたいと思っていました。最終的に、それらすべてに単一インスタンスサーバーアプリを起動させ、3つすべてがサーバーアプリと相互に通信するようにしました。DDEの方が適していますか?

とにかく、DDEに代わるものは何ですか? Dynamic Data Exchange (DDE)への回答を読みました- まだ関連がありますか? COMについて言及しましたが、それらが何であるか、またはそれらを使用する方法がわかりません。また、それらは上記の私の状況に関連していますか?

DDE に代わるものは何ですか? TCP (または名前付きパイプ) + ウィンドウ メッセージ + グローバル メモリが IPC の問題を解決できるように感じます。

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

c# - ac# アプリケーションで UI を使用して外部の Windows アプリケーションを呼び出す方法は?

GUIを備えたプログラム ( A.exe ) と、テキストを使って NLP 処理を行うツールバーがあります。そのツールバーには、いくつかの xml タグを追加してテキストを変換する関数 Aがあります。ここの誰か(上司) は、関数 Aを呼び出す Web サービスを作成することを望んでいます。Dynamic Data Exchangeについて教えてくれました(彼は数年前に使用していました)、SendMessageのようなものを見ました。

この Web サービスは、テキストを送信し、結果をxmlとして取得するなど、インターネット経由で誰かによって使用されます。遅すぎるために誰かが WS を呼び出したときに GUI プログラムを開始できませんでした。誰かがこのA.exeを一度起動することを提案し、WS はDDE 呼び出しを送信してこのA.exeを要求します。同時呼び出しの場合にA.exeがどのように反応するかはわかりません。

Web サービスは次のことを行います。

  1. ディレクトリにテキストファイルを保存する
  2. A.exeを呼び出す
  3. A.exeはテキスト ファイルを計算し、xml ファイルを作成します。
  4. WS は xml ファイルが存在するまでループします
  5. WS は xml を取得し、それをストリームとして元の呼び出し元に送信します

次の点に注意してください。

  1. DDE は古く、DDE サーバー対応プログラムが必要なようです。
  2. 私は Java 開発者であるため、SendMessage は少しあいまいです。
  3. 名前付きパイプまたは匿名パイプを使用して、提案どおりにその呼び出しを行うことはしませんでした。

ありがとうございました。

PS: サーバー側のプログラムを UI で呼び出す WS を構築するのは異端ですよね。

0 投票する
3 に答える
1305 参照

excel - Excelで条件付き書式の変更に対応する方法はありますか?

リアルタイムの市場データへの dde ​​リンクを含む Excel シートがあります。私はタイマーを使って 1 秒ごとに dde ​​の価格を監視しています。その後、一定の条件が満たされたときに注文を送信します。途中で DoEvent を使用して無限ループを試しました。これは 5 秒間機能し、その後ワークブックをフリーズします。

dde 更新の変更に対応する方法はありますか? 変更イベントはそれらを検出しません。ユーザーが手動で変更したことを検出するだけです。

条件付き書式を使用している場合、そのイベントを取得する方法があると言われました。したがって、条件が満たされたときに真になるセル式を作成し、真のときにそのセルを何らかの書式に条件付きで書式設定してから、書式変更イベントを取得できます。それは可能ですか?もしそうならどのように。任意の提案をいただければ幸いです。

明確にするために:株式を取引するための注文を送信するイベントをVBAで取得したいと考えています。私が今これを行っている方法は、トリガー列で真のセルを探してすべての行をループするタイマーを使用することです。見つかったら、その行のフラグをオフにし (true 条件を false に設定)、注文を送信します。

問題は、動きの速い株式にとって 1 秒が永遠に続くことです。そのため、トリガー列のセルが true になったときに VBA でイベントをスローする必要があるため、タイマー クラスの 2 番目の間隔を待たずにすぐに応答できます。

私の知る限り、1 秒未満の値でタイマーを呼び出すことはできません。ミリ秒を使用できれば、問題は解決します。10 ミリ秒ごとにリストをループするだけです。

私の知る限り、VBA で別のスレッドを作成することはできません。可能であれば、無限ループを作成し、10 ミリ秒程度の反復ごとにスリープ状態にします。

私の知る限り、MSDN はサポートされなくなったと言っているので、dde を VBA や .net に直接取り込むことはできません。

これが明確になることを願っています。すべての提案をいただければ幸いです。

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

c++ - ダイアログ ボックス変数 -- DoDataExchange() にエントリが追加されない

C# で何年も働いた後、私は自分が書いた古い MFC アプリケーションに戻ってきました。しかし、いくつかのことについて復習が必要なようです。

チェック ボックス コントロールを既存のダイアログ ボックスに追加しました。次に、Class Wizard を使用して、type の非コントロール変数を追加しましたbool。変数は期待どおりに作成されました。

ただし、DoDataExchange()メソッドにエントリが追加されていません。そして、手動で追加しようとしたとき:

IntelliSense エラーが発生します。

タイプ "int &" (const 修飾されていない) の参照は、タイプ "bool" の値で初期化できません

1.DoDataExchange()変数を追加したときにエントリが作成されなかったのはなぜですか?

2.DDX_Check()と が期待される場合int &、Class Wizards がデフォルトboolでチェックボックスの値を入力するのはなぜですか?

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

java - DDEMLException: 0x400a クライアントが会話を確立しようとして失敗しました

pretty-tools-JDDE-2.0.3-examples+jdde-binaries の例を実行しようとすると

このエラーが発生しました

私はWindows 10を使用しています。私のJavaは