私が知っている、WinFax Pro は 1998 年です。
(注: これは明らかに Windows の一部である WinFax.dll ではありません。これは WinFax Pro であり、もともと Delrina から提供され、後に Symantec によって買収された別の商用アドオン アプリです)。
私は今でも WinFax Pro を運用システムとして使用しているオフィスで働いています。彼らは顧客のファックス番号を WinFax Pro の「電話帳」に保存しており、それを使用して顧客にサービス訪問を通知しています。現在の動作方法は、誰かが Mac カレンダーから生成された (印刷された) スケジュールを見て、WinFax 電話帳の該当するすべてのエントリをクリックして、通知 FAX を送信することです。
これは、以前は「回転椅子」の統合と呼ばれていたもののようなものですが、それは 2 つの画面を指していました。これは 2 画面ではなく、1 枚の紙と 1 つの画面です。
とにかく、私はそれを自動化しようとしていますが、問題があります。
良いニュース:
- WinFax Pro は、その機能を COM オブジェクトとして公開します。ファックス sxending エンジン用の WinFax.SDKSend。アドレス帳には WinFax.SDKPhoneBook など。
- WinFax Pro には、これらのさまざまな COM オブジェクトを記述するタイプ ライブラリ wfxctl32.tlb が付属しています。- tlbimport から生成されたラッパーを介して、.NET (C#) から WinFax.SDKSend オブジェクトを正常に使用できます。(私は .NET 3.5 を使用しています。.NET 4.0 はできません) .
悪いニュース:
WinFax.SDKSend 以外の WinFax COM オブジェクトのメソッドを呼び出すことができませんでした。署名は WinFax.SDKSend の署名よりも複雑に見えませんが、例外が発生し続けています。
C# コード:
public void Run()
{
var pb = new wfxctl32.CSDKPhoneBook();
string id = pb.GetFolderListFirst(1, "");
}
例外:
例外: System.InvalidCastException: タイプ 'wfxctl32.CSDKPhoneBookClass' の COM オブジェクトをインターフェイス タイプ 'wfxctl32.ISDKPhoneBook' にキャストできません。IID '{A67FCC81-9949-11D0-961E-444553540000}' を持つインターフェイスの COM コンポーネントでの QueryInterface 呼び出しが次のエラーにより失敗したため、この操作は失敗しました: No such interface supported (HRESULT からの例外: 0x80004002 (E_NOINTERFACE)) .
System.RuntimeType.InvokeDispMethod (文字列名、BindingFlags invokeAttr、オブジェクト ターゲット、オブジェクト [] args、Boolean [] byrefModifiers、Int32 カルチャ、文字列 [] namedParameters)
で System.RuntimeType.InvokeMember (文字列名、BindingFlags bindingFlags、バインダー バインダー、
System.RuntimeType.ForwardCallToInvokeMember(String memberName, BindingFlags flags, Object target, Int32[] aWrapperTypes, MessageData& msgData)で
wfxctl32.CSDKPhoneBookClass. GetFolderListFirst(Int16 standardFolder, String folderID)