⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 csfax.cs

📁 C#编写,在vs.net 2005上调试通过,能通过计算机进行传真文件的发送
💻 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 + -