晨风资讯网
新闻资讯网络冲浪网页设计网络编程图形图像数据库网络媒体服务器网络安全网站运营软件教程黑客认证Wap技术
教程搜索
教程搜索:
  首页 > 程序开发 > VB/VB.NET > 正文  

VB.Net传真机编程实例[1]
日期:2008-6-20 12:09:10 来源: 作者: 浏览:

VB.Net传真机编程实例[1]

SendFax.vb  VB.Net传真机编程实例

测试环境 vs2005  系统环境 : windows2003   Xp Vista

代码:

'==========================================================================
'
'  THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
'  KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
'  IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
'  PURPOSE.
'
'  Copyright 1998 - 2000 Microsoft Corporation.  All Rights Reserved.
'
'--------------------------------------------------------------------------
Imports System
Imports System.Collections
Imports System.Globalization
Imports System.Security.Permissions
Imports Microsoft.VisualBasic
Imports Microsoft.VisualBasic.ApplicationServices
Imports FAXCOMEXLib


<Assembly: System.Reflection.AssemblyKeyFile("key.snk")>
<Assembly: CLSCompliant(True)>
Namespace Microsoft.Samples.Fax.SendFax.VB
    Module SendFax
        '+---------------------------------------------------------------------------
        '
        '  function:   GiveUsage
        '
        '  Synopsis:   prints the usage of the application
        '
        '  Arguments:  void
        '
        '  Returns:    void
        '
        '----------------------------------------------------------------------------
        Sub GiveUsage()
            System.Console.WriteLine("Usage : " + System.Diagnostics.Process.GetCurrentProcess().ProcessName)
            System.Console.WriteLine(" /s Fax Server Name ")
            System.Console.WriteLine(" /d DocumentPath (can have multiple documents separated by semicolons. test1.txt;test2.doc ")
            System.Console.WriteLine(" /n Fax Number ")
            System.Console.WriteLine("Usage : " + System.Diagnostics.Process.GetCurrentProcess().ProcessName + " /? -- help message")
        End Sub
        '+---------------------------------------------------------------------------
        '
        '  function:   IsOSVersionCompatible
        '
        '  Synopsis:   finds whether the target OS supports this functionality.
        '
        '  Arguments:  [iVersion] - Minimum Version of the OS required for the Sample to run.
        '
        '  Returns:    bool - true if the Sample can run on this OS
        '
        '----------------------------------------------------------------------------更多实例来自乐博网
        Function IsOSVersionCompatible(ByVal iVersion As Integer) As Boolean
            Dim os As OperatingSystem
            Dim osVersion As Version

            os = Environment.OSVersion
            osVersion = os.Version
            If (osVersion.Major >= iVersion) Then
                Return True
            Else
                Return False
            End If
        End Function

        '+---------------------------------------------------------------------------
        '
        '  function:   PrintJobStatus
        '
        '  Synopsis:   prints the jobs status
        '
        '  Arguments:  [objFaxOutgoingJob] - FaxOutgoingJob object pointing to the fax that was sent.
        '
        '  Returns:    bool: true is passed successfully
        '
        '----------------------------------------------------------------------------
        Function PrintJobStatus(ByVal objFaxOutgoingJob As FAXCOMEXLib.IFaxOutgoingJob2) As Boolean

            Dim bRetVal As Boolean
            Dim iDeviceId As Integer
            Dim faxStatus As FAXCOMEXLib.FAX_JOB_STATUS_ENUM
            Dim faxPriority As FAXCOMEXLib.FAX_PRIORITY_TYPE_ENUM

            If (TypeOf objFaxOutgoingJob Is FAXCOMEXLib.IFaxOutgoingJob2) Then
                bRetVal = False
                iDeviceId = -1

                iDeviceId = objFaxOutgoingJob.DeviceId
                System.Console.Write("Device Id : ")
                System.Console.Write(iDeviceId)
                System.Console.WriteLine()

                faxStatus = objFaxOutgoingJob.Status
                If (faxStatus = FAXCOMEXLib.FAX_JOB_STATUS_ENUM.fjsCANCELED) Then
                    System.Console.WriteLine("Status :  Canceled ")
                End If
                If (faxStatus = FAXCOMEXLib.FAX_JOB_STATUS_ENUM.fjsCANCELING) Then
                    System.Console.WriteLine("Status :  Canceling ")
                End If
                If (faxStatus = FAXCOMEXLib.FAX_JOB_STATUS_ENUM.fjsCOMPLETED) Then
                    System.Console.WriteLine("Status :  Completed ")
                End If
                If (faxStatus = FAXCOMEXLib.FAX_JOB_STATUS_ENUM.fjsFAILED) Then
                    System.Console.WriteLine("Status :  Failed ")
                End If
                If (faxStatus = FAXCOMEXLib.FAX_JOB_STATUS_ENUM.fjsINPROGRESS) Then
                    System.Console.WriteLine("Status :  In Progress ")
                End If
                If (faxStatus = FAXCOMEXLib.FAX_JOB_STATUS_ENUM.fjsNOLINE) Then
                    System.Console.WriteLine("Status :  No Line ")
                End If
                If (faxStatus = FAXCOMEXLib.FAX_JOB_STATUS_ENUM.fjsPAUSED) Then
                    System.Console.WriteLine("Status :  Paused ")
                End If
                If (faxStatus = FAXCOMEXLib.FAX_JOB_STATUS_ENUM.fjsPENDING) Then
                    System.Console.WriteLine("Status :  Pending ")
                End If
                If (faxStatus = FAXCOMEXLib.FAX_JOB_STATUS_ENUM.fjsRETRIES_EXCEEDED) Then
                    System.Console.WriteLine("Status :  Retries Exceeded ")
                End If
                If (faxStatus = FAXCOMEXLib.FAX_JOB_STATUS_ENUM.fjsRETRYING) Then
                    System.Console.WriteLine("Status :  Retrying ")
                End If
                If (faxStatus = FAXCOMEXLib.FAX_JOB_STATUS_ENUM.fjsROUTING) Then
                    System.Console.WriteLine("Status :  Routing ")
                End If

                faxPriority = objFaxOutgoingJob.Priority
                If (faxPriority = FAX_PRIORITY_TYPE_ENUM.fptLOW) Then
                    System.Console.WriteLine("Priority :  Low ")
                End If
                If (faxPriority = FAX_PRIORITY_TYPE_ENUM.fptNORMAL) Then
                    System.Console.WriteLine("Priority :  Normal ")
                End If
                If (faxPriority = FAX_PRIORITY_TYPE_ENUM.fptHIGH) Then
                    System.Console.WriteLine("Priority :  High ")
                End If

                bRetVal = True
                Return bRetVal
            End If
            System.Console.WriteLine("PrintJobStatus: Parameter is NULL")
            Return False
        End Function
        '+---------------------------------------------------------------------------
        '
        '  function:   DecodeToDocArray
        '
        '  Synopsis:   Creates a string Array of Docs from the inputDocListString
        '
        '  Arguments:  [inputDocListString] - The list of documents in string format separated by semicolon
        '              [numDocuments] -    The number of documents to be sent
        '                [bRetVal] - true is passed successfully
        '
        '  Returns:    string[]: Array of strings each containing a single document
        '
        '----------------------------------------------------------------------------
 
        Function DecodeToDocArray(ByVal inputDocListString As String, ByRef numDocuments As Integer, ByRef bRetVal As Boolean) As String()
            bRetVal = False
            If (String.IsNullOrEmpty(inputDocListString)) Then
                Return Nothing
            End If
            Dim docArray As String()
            Dim strDelimiter As String
            Dim delimiter As Char()

            docArray = Nothing
            strDelimiter = ";"
            delimiter = strDelimiter.ToCharArray()
            docArray = inputDocListString.Split(delimiter)
            numDocuments = docArray.GetLength(0)
            bRetVal = True
            Return docArray
        End Function
        Sub Main()
            Dim objFaxServer As FAXCOMEXLib.FaxServer
            Dim objFaxDoc As FaxDocument
            Dim objFaxOutgoingJob2 As IFaxOutgoingJob2

            Dim strServerName As String
            Dim strDocList As String
            Dim strNumber As String
            Dim bConnected As Boolean
            Dim bRetVal As Boolean
            Dim count As Integer
            Dim args As String
            Dim retVal As Boolean
            Dim numDocs As Integer
            Dim docArray As String()

            Dim iVista As Integer
            Dim bVersion As Boolean

            iVista = 6
            bVersion = IsOSVersionCompatible(iVista)

            If (bVersion = False) Then
                System.Console.WriteLine("This sample is compatible with Windows Vista")
                bRetVal = False
                Return
            End If

            objFaxServer = Nothing
            strServerName = ""
            strNumber = Nothing
            strDocList = Nothing
            bRetVal = True
            bConnected = False
            count = 0

            Try
                If ((My.Application.CommandLineArgs.Count = 0)) Then
                    System.Console.WriteLine("Missing args.")
                    GiveUsage()
                    bRetVal = False
                    GoTo ExitFun
                End If

                ' check for commandline switches
                Do Until count = My.Application.CommandLineArgs.Count - 1
                    If count >= My.Application.CommandLineArgs.Count - 1 Then
                        Exit Do
                    End If
                    args = My.Application.CommandLineArgs.Item(count)
                    If ((String.Compare(args.Substring(0, 1), "/", True, CultureInfo.CurrentCulture) = 0) Or (String.Compare(args.Substring(0, 1), "-", True, CultureInfo.CurrentCulture) = 0)) Then
                        Select Case (((args.ToLower(CultureInfo.CurrentCulture).Substring(1, 1))))
                            Case "s"
                                If (String.IsNullOrEmpty(strServerName) = False) Then
                                    GiveUsage()
                                    bRetVal = False
                                    GoTo ExitFun
                                End If
                                strServerName = My.Application.CommandLineArgs.Item(count + 1)
                            Case "d"
                                If (String.IsNullOrEmpty(strDocList) = False) Then
                                    GiveUsage()
                                    bRetVal = False
                                    GoTo ExitFun
                                End If
                                strDocList = My.Application.CommandLineArgs.Item(count + 1)
                            Case "n"
                                If (String.IsNullOrEmpty(strNumber) = False) Then
                                    GiveUsage()
                                    bRetVal = False
                                    GoTo ExitFun
                                End If
                                strNumber = My.Application.CommandLineArgs.Item(count + 1)
                            Case "?"
                                GiveUsage()
                                bRetVal = False
                                GoTo ExitFun
                            Case Else
                        End Select
                    End If
                    count = count + 1
                Loop

                If ((String.IsNullOrEmpty(strDocList) = True) Or (String.IsNullOrEmpty(strNumber) = True)) Then
                    System.Console.WriteLine("Missing args.")
                    GiveUsage()
                    bRetVal = False
                    GoTo ExitFun
                End If

                objFaxServer = New FaxServer
                'Connect to Fax Server
                objFaxServer.Connect(strServerName)
                bConnected = True

                'check API version
                If (objFaxServer.APIVersion < FAXCOMEXLib.FAX_SERVER_APIVERSION_ENUM.fsAPI_VERSION_3) Then
                    bRetVal = False
                    System.Console.WriteLine("This sample is compatible with Windows Vista")
                    GoTo ExitFun
                End If

                retVal = False
                numDocs = 0
                docArray = DecodeToDocArray(strDocList, numDocs, retVal)
                If ((docArray.GetLength(0) = 0) Or (retVal = False)) Then

本教程共2页,当前在第1页  1  2  


上一篇: 如何在.NET中访问MySQL数据库 下一篇:

VB.Net传真机编程实例[2]

返回列表 打印此页 加入收藏 资讯论坛 关闭窗口 点击复制本页地址,发送给QQ/MSN好友
关于我们 - 联系我们 - 版权声明 - 帮助(?) - 广告服务 - 友情链接 - 服务项目 - 人才招聘
2003-2008 版权所有 © 晨风资讯网 未经授权禁止复制或建立镜像
CopyRight 2003-2008 www.Net118.com,All Rights Reserved.Design By ChenFeng Network Studio