(2003 to 2005)

Faxing from Windows

Thu Dec 4 23:12:00 UTC+1100 2003


I have been investigating how to send faxes via windows. A client has some old VB code that uses Crystal Reports and FACSys (via DDE) to automate faxing but they are having some problems with the FACSys software. I will need faxing capabilities from the .NET software that I am writing at the moment too, so investigations are prudent.

I found the fax printer that installs by default on Win2k when you install a modem, and I like it. There is also a faxcom.dll that allows COM consumers to send files via it, allowing specification of the fax number etc in code. The problem is that according to this MSDN article this is only supported from the local machine for Win2k.

Since faxcom.dll is a COM component, I'm think I may be able to use DCOM to connect to it remotely, and then let it do its fax thing, but I'm not too sure about this, it has been over 2 years since I've touched DCOM and I'm a little rusty. I plan on looking into this today though.

What I'd really love to know, is how I can specify custom properties for a print driver via code. Don't really care what language, as long as I could expose my code via COM, VB6 would be ideal at this stage for easy integrating with the existing code. For example, if I wanted to print to a local printer, that was set up to print to the FILE port, when I sent something to this printer a dialog would pop-up asking me for the file location. How could I specify the file location via code, so that this process was automated? I'm sure there is a way, I just don't know what it is yet.

If I could do the specify file thing I mentioned above, then I assume I would then be able to use the shared fax capabilities in Win2k Small Business Server and setup network fax printers on the client, and then I could presumably use the same technique that was used to specify the file name for the FILE printer, to specify the Fax number, etc for the Fax printer.. anyway, should be fun figuring all this out.


Copyright © 2003-2005 John Elliot