3

我实现了一个发送传真消息的程序。我使用 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。

4

1 回答 1

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();
于 2013-06-25T20:16:01.620 回答