تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] ارجو مساعدتي بالاجابة عن سؤال
#1
   
السلام عليكم اخوتي
ارجو المساعدة
لدي طابعتين على كومبيوتري كل واحدة اطبع فيها على حدا . فعندما احتاج الطابعة الاولى اقوم
بالنقر عليها كلك ايمن واضغط set default printer كما موضح بالصورة A . وعندما احتاج الطباعة
على الطابعة الثانية افعل نفس الشيء للطابعة الثانية .
احتاج الى برنامج بسيط يتكون كما موضح من button عدد 2 كما موضح بالصورة B . فعند الضغط
على button الطابعة رقم 1 يقوم بجعل الطابعة الاولى هي الطابعة الdefault و عند الضغط
على button الطابعة رقم 2 يقوم بجعل الطابعة الثانية هي الطابعة الdefault

وجزاكم الله خيرا

http://im54.gulfup.com/myIFKB.jpg

http://im54.gulfup.com/ofrMU9.jpg
الرد }}}}
تم الشكر بواسطة:
#2
اهلا اخي Smile
جرب هذا الكود , و ضع بدل كلمة Printer اسم الطابعة
كود :
Shell("RUNDLL32 PRINTUI.DLL,PrintUIEntry /y /n ""printer""")
مثلا :
كود :
Shell("RUNDLL32 PRINTUI.DLL,PrintUIEntry /y /n ""HP Deskjet F2100 series""")
و للامانة فان امر الـ CMD منقول .. Wink

تحياتي :")
الرد }}}}
تم الشكر بواسطة:
#3
تفضل أخي Smile

كود :
'كود جلب أسماء كل الطابعات المثبتة على الجهاز
Public Sub LoadAllPrinters()
    For Each Name As String In Printing.PrinterSettings.InstalledPrinters
        ComboBox1.Items.Add(Name)
    Next

    Dim PrintDoc As New Printing.PrintDocument()
    ComboBox1.Text = PrintDoc.PrinterSettings.PrinterName
End Sub

'كود تعيين الطابعة الافتراضية
Public Function SetDefaultPrinter(ByVal Name As String) As Boolean
    Dim PrintDoc As New Printing.PrintDocument()
    Dim WshNetwork As Object = Nothing
    Dim OldPrinterName As String = String.Empty

    Try
        OldPrinterName = PrintDoc.PrinterSettings.PrinterName
        WshNetwork = Microsoft.VisualBasic.CreateObject("WScript.Network")
        WshNetwork.SetDefaultPrinter(Name)
        PrintDoc.PrinterSettings.PrinterName = Name

        If PrintDoc.PrinterSettings.IsValid Then
            Return True
        Else
            WshNetwork.SetDefaultPrinter(OldPrinterName)
            Return False
        End If

    Catch ex As Exception
        If WshNetwork IsNot Nothing Then
            WshNetwork.SetDefaultPrinter(OldPrinterName)
        End If

    Finally
        PrintDoc = Nothing
        WshNetwork = Nothing
    End Try

    Return False
End Function

Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    LoadAllPrinters()
End Sub

Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    If SetDefaultPrinter(ComboBox1.Text) Then
        MessageBox.Show(String.Format("الطابعة ""{0}"" أصبحت هي الطابعة الافتراضية", ComboBox1.Text),
                        "الطابعة", MessageBoxButtons.OK, MessageBoxIcon.Information,
                        MessageBoxDefaultButton.Button1, MessageBoxOptions.RtlReading)
    End If
End Sub

المرجع: Setting Windows default printer
الرد }}}}
تم الشكر بواسطة: سعود , احمد129 , a_almisery


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  سؤال في Regular Expression aftfm 2 94 اليوم, 04:22 AM
آخر رد: Najy Ibraheem
  [سؤال] ارجو المساعدة في الخطاء VB.NET 2 59 اليوم, 12:17 AM
آخر رد: ﻣﺒﺘﺪﺉ
  سؤال في ال Sql server khaled12345 16 205 أمس, 01:03 AM
آخر رد: khaled12345
  سؤال في تعبئة داتاجريد فيو صف صف وليس داتا سورس Abdelazez.Ahmad 1 37 18-11-17, 05:12 AM
آخر رد: Rabeea Qbaha
  ارجو المساعدة فى تشغيل برنامج الحسابات هذا islam_zolek 2 90 17-11-17, 04:23 PM
آخر رد: islam_zolek
  [VB.NET] سؤال :- في تصميم الفورم dubai.eig 0 45 15-11-17, 11:09 AM
آخر رد: dubai.eig
  ارجو الافادة ضروري 3sab 0 38 10-11-17, 09:19 PM
آخر رد: 3sab
  [VB.NET] سؤال لخبراء الداتا جريد محمد اسماعيل 3 95 10-11-17, 12:55 AM
آخر رد: محمد اسماعيل
  [VB.NET] سؤال : بخصوص الفورم dubai.eig 6 100 09-11-17, 07:16 PM
آخر رد: dubai.eig
  سؤال حول اتغيير قاعدة البيانات من ACCESS الى FIREBIRD ndjakoub 0 41 09-11-17, 01:26 PM
آخر رد: ndjakoub

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم