📄 csfax.cs
字号:
using System;
using System.IO;
using System.ComponentModel;
using System.Collections;
using System.Runtime.InteropServices;
using System.Diagnostics;
using System.Threading;
using FAXCOMEXLib;
namespace NetFax
{
class csFax
{
[DllImport("User32.dll")]
public static extern int MessageBox(int h, string m, string c, int type);
//public static AutoResetEvent[] autoEvents; //event array
public static int intAryCtr;
protected FAXCOMEXLib.FAX_SERVER_EVENTS_TYPE_ENUM FaxSvrEnum;
protected FAXCOMEXLib.FaxDocumentClass objFaxDocument = new FAXCOMEXLib.FaxDocumentClass();
protected FAXCOMEXLib.FAX_SERVER_EVENTS_TYPE_ENUM objFaxSvrEnum;
protected FAXCOMEXLib.FaxServerClass objFaxServer = new FAXCOMEXLib.FaxServerClass();
protected static object JobID;
public static void objFaxServer_OnOutgoingJobAdded(FaxServer pFaxServer, string bstrJobId)
{
//MessageBox(0, "JobID: " + bstrJobId + "Added to queue", "csFax", 0);
}
public static void objFaxServer_OnServerShutDown(FaxServer pFaxServer)
{
MessageBox(0, "Fax Server Shutting Down", "csFax", 0);
}
public static void objFaxServer_OnOutgoingJobChanged(FaxServer pFaxServer, string bstrJobId, FaxJobStatus pJobStatus)
{
if (pJobStatus.Status == FAXCOMEXLib.FAX_JOB_STATUS_ENUM.fjsCOMPLETED)
{
try
{
MessageBox(0, "Fax Job Completed", "csFax", 0);
//autoEvents[0].Set();
}
catch (Exception Ex)
{
MessageBox(0, Ex.Message, "thread error", 0);
}
}
else if (pJobStatus.Status == FAXCOMEXLib.FAX_JOB_STATUS_ENUM.fjsFAILED)
{
MessageBox(0, "发送失败!", "csFax", 0);
}
}
public static void SendFaxOrEmail()
{
try
{
csFax objcsFax = new csFax();
string FileName;
string strSubString;
//objcsFax.objFaxServer = new FAXCOMEXLib.FaxServer();
objcsFax.objFaxServer.Connect("");//empty string will default to local host.
objcsFax.objFaxSvrEnum = (FAXCOMEXLib.FAX_SERVER_EVENTS_TYPE_ENUM.fsetOUT_QUEUE
| FAXCOMEXLib.FAX_SERVER_EVENTS_TYPE_ENUM.fsetFXSSVC_ENDED );
//Register this method to listen to fax status events.
objcsFax.objFaxServer.ListenToServerEvents(objcsFax.objFaxSvrEnum);
//objcsFax.objFaxServer.ListenToServerEvents(FAXCOMEXLib.FAX_SERVER_EVENTS_TYPE_ENUM.fsetOUT_QUEUE);
/*
Delegates.
To wire the events, create a delegate instance and add it to the event you want to raise.
E.G.: OnOutgoingJobAdded event.
*/
objcsFax.objFaxServer.OnOutgoingJobAdded += new IFaxServerNotify_OnOutgoingJobAddedEventHandler(objFaxServer_OnOutgoingJobAdded);
objcsFax.objFaxServer.OnServerShutDown += new IFaxServerNotify_OnServerShutDownEventHandler(objFaxServer_OnServerShutDown);
objcsFax.objFaxServer.OnOutgoingJobChanged += new IFaxServerNotify_OnOutgoingJobChangedEventHandler(objFaxServer_OnOutgoingJobChanged);
ArrayList Values = new ArrayList();
string [] Files = Directory.GetFiles("\\","*.txt");//give me everything in this directory...
for(intAryCtr=0;intAryCtr<Files.Length;intAryCtr++)
{
//intAryCtr = 0;
//autoEvents = new AutoResetEvent[1] {new AutoResetEvent(false)};
FileName = Files[intAryCtr];
Values.Add(intAryCtr);
objcsFax.objFaxDocument.Body = FileName;
objcsFax.objFaxDocument.DocumentName = "C#.NET Fax widget";
objcsFax.objFaxDocument.Priority = FAXCOMEXLib.FAX_PRIORITY_TYPE_ENUM.fptHIGH;
objcsFax.objFaxDocument.Recipients.Add("999-999", "Test Fax Recipient");
objcsFax.objFaxDocument.AttachFaxToReceipt = true;
objcsFax.objFaxDocument.CoverPageType = FAXCOMEXLib.FAX_COVERPAGE_TYPE_ENUM.fcptSERVER;
objcsFax.objFaxDocument.CoverPage = "generic";
objcsFax.objFaxDocument.Note = "Test C# Fax Server";
objcsFax.objFaxDocument.ScheduleTime = DateTime.Now;
objcsFax.objFaxDocument.Subject = "Today's fax";
objcsFax.objFaxDocument.Sender.Name = "Fax Server";
objcsFax.objFaxDocument.Sender.City = "Cucamonga";
objcsFax.objFaxDocument.Sender.State = "California";
objcsFax.objFaxDocument.Sender.Company = "Loony Toons";
objcsFax.objFaxDocument.Sender.Country = "USA";
objcsFax.objFaxDocument.Sender.Email = "bbunny@ltoons.com";
objcsFax.objFaxDocument.Sender.FaxNumber = "999-9999";
objcsFax.objFaxDocument.Sender.OfficeLocation = "cucamonga";
objcsFax.objFaxDocument.Sender.OfficePhone = "999-9999";
objcsFax.objFaxDocument.Sender.StreetAddress = "1313 Mocking Bird Lane.";
objcsFax.objFaxDocument.Sender.ZipCode = "91786";
objcsFax.objFaxDocument.Sender.Department = "BBunny - Fax Server";
objcsFax.objFaxDocument.Sender.SaveDefaultSender();
JobID = objcsFax.objFaxDocument.ConnectedSubmit(objcsFax.objFaxServer);
//WaitHandle.WaitAll(autoEvents);
//autoEvents[intAryCtr].Set();
}
}
catch (Exception ex)
{
throw (ex);
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -