I know that WinFax Pro is 1998.
(note: this is not WinFax.dll, which apparently is part of Windows. It is WinFax Pro, a separate commercial add-on application from Delrina, and later acquired by Symantec).
I work in an office that still uses WinFax Pro as its operating system. They have customer fax numbers stored in WinFax Pro's Phone Book and use it to notify customers of service visits. Now it works, someone looks at the (printed) schedule generated from the Mac calendar, then clicks on all the relevant entries in the WinFax phonebook to send a fax message.
This is similar to what we called the integration of the "swivel chair", but it concerned 2 screens. This is not even 2 screens - it is one sheet of paper and one screen.
Anyway, I'm trying to automate it and have problems.
The good news:
- WinFax Pro provides its functions of COM objects: WinFax.SDKSend for the fax sending mechanism; WinFax.SDKPhoneBook for address book, etc.
- WinFax Pro sends a type library, wfxctl32.tlb, which describes these various COM objects. - I can successfully use the WinFax.SDKSend object from .NET (C #), through wrappers created from tlbimport. (I am using .NET 3.5, I cannot run .NET 4.0).
:
- COM- WinFax, WinFax.SDKSend. , WinFax.SDKSend, .
#:
public void Run()
{
var pb = new wfxctl32.CSDKPhoneBook();
string id = pb.GetFolderListFirst(1, "");
}
:
: System.InvalidCastException: COM- 'wfxctl32.CSDKPhoneBookClass' 'Wfxctl32.ISDKPhoneBook. , QueryInterface COM- IID '{A67FCC81-9949-11D0-961E-444553540000}' - : ( HRESULT: 0x80004002 (E_NOINTERFACE)).
System.RuntimeType.InvokeDispMethod(String name, BindingFlags invokeAttr, Object target, Object [] args, Boolean [] byrefModifiers, Int32, String [] namedParameters)
System.RuntimeType.InvokeMember(String name, BindingFlags bindingFlags, Binder binder, Object target, Object [] Args, ParameterModifier [] , CultureInfo , String [] namedParams)
System.RuntimeType.ForwardCallToInvokeMember(String memberName, BindingFlags, Object target, Int32 [] aWrapperTypes, MessageData & msgData)
wfxctl32.CSDKPhoneBookClass.GetFolderListFirst(Int16 standardFolder, String folderID)