我实施了一个发送传真消息的程序。我使用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.
答案 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();