質問

(おそらく4.0 soonish .NET 3.5、上の)C#のWinFormsアプリケーションでは、どのようにユーザーが自分のマクロを定義できるようにすることについては行くでしょうか?たとえば、ユーザーがキーを押し、CTRL + Kは、ダイアログを閉じるには「OK」を押す前に、メニュー内の特定の項目をクリックし、メニューによって開かれたダイアログにテキストを入力することを意味したいことができます。

理想的には、当社のソフトウェアは、単に、録画を開始したいタスクを実行すると、マクロの利用可能を持っているストップ記録にユーザーを可能にすること、マクロ記録機能を提供することができます。この彼らはFoxProで書かれたソフトウェアの旧バージョン、内蔵された、このような機能を持つツールからに使用されているという特徴ます。

は、私たちのために最良の選択肢を明確に取得し、いくつかの種類の実証済みのサードパーティのライブラリを利用しますが、私たち自身のバージョンを圧延するためのアイデアも高く評価されていることでしょう。

正しい解決策はありません

他のヒント

私はこのような何かに取り組んでいた場合は、

、私は多分のEventHandlerを拡張するために使用できるボタンやRecordedEventHandlerクラスを作成することによって、追加の個々のハンドラとして、おそらくどちらか(あなたが記録可能になりたいというイベントをログに記録する汎用のEventHandlerを統合すると、最も実行可能になり、私はその中に見ていないので、これらは単に最高級の頭のアイデアです)、ちょうどそのためのスイッチとして「マクロの記録」ボタンを使う - その取り扱いからすべてのイベントをサブクラス化。それはもちろん、作業のが非常に負担のかかる作業ではありませんので、ボタンをクリックすると、任意のマウス入力フィールド上の任意のテキストフィールド、キーボードショートカットやマウスの入力にキーボード入力 - 唯一の可能性が高い必要が記録されるというイベントのいくつかの異なる種類があるとされています保存してバインドマクロとあなたがして傾斜している場合、インポートとエクスポートを容易にするために、どのようにする方法を見つけるので、時間がかかるが、技術的に困難ではありません。私はこの目的のために任意のライブラリを知っている(私はいくつかが存在を期待するが)、それについて考えていない私は確信してマクロの点で最も人々のニーズは可能性が高いとされているので、それはそのような何かを統合することですいかに簡単ではありませんよ異なるます。

あなたがあなたのアプリケーションを中心にイベントをログに記録できるようにするために必要な場合は、

あなたは ManagedWinApi のことかもしれません有用ます。

私は、マクロ記録functionalyのための「コマンド・デザイン・パターン」との良好な経験を持っています。すべてのコマンドの火災情報アボパラメータなどといくつかのアプリケーション全体の(静的例えば)イベントが...レコーダーは、このイベントに耳を傾け、コマンド呼び出しのシーケンスを持続します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top