如何在Windows服务中使用FAXCOMLib?

时间:2011-10-17 12:08:33

标签: c# windows-7 fax

我实施了一个发送传真消息的程序。我使用FAXCOMLib,当我在Windows窗体中调用它时,它可以工作。现在我想在Windows服务中调用它,这是我的问题。

代码很简单:

            FaxServer faxServer = new FaxServer();
            faxServer.Connect(Environment.MachineName);

            object obj = faxServer.CreateDocument("D:\\test.bmp");
            FaxDoc fd = (FaxDoc)obj;

            fd.FaxNumber = "123xxxxx";
            fd.RecipientName = "Tester";
            fd.DisplayName = "TestFax";
            fd.SenderName = "Annadurai";

            int i = fd.Send();

            lp.Debug("Sent" + i.ToString()); // Log fax id 

            faxServer.Disconnect();

我两种方式,代码返回一个id,但在Windows窗体中,传真被添加到“Windows传真和扫描”,在Windows服务中 - 不是。为什么?我该怎么做才能使它有效?

我使用Windows 7.

1 个答案:

答案 0 :(得分:1)

根据文档显示,FAXCOMLIB仅适用于桌面应用程序:

Applies to: desktop apps only

http://msdn.microsoft.com/en-us/library/windows/desktop/ms692375(v=vs.85).aspx

桌面应用程序只是一个糟糕的描述,因为它意味着除了Web应用程序之外我有一个在控制台应用程序中运行的以下代码,它工作得很好,显然算作桌面:

    FaxServer server = new FaxServer();
    server.Connect("");
    FaxDoc document = server.CreateDocument(@"C:\RHDSetup.log");
    document.FaxNumber = @"111-111-1111";
    long jobId = document.Send();
相关问题