PDA

View Full Version : روش تغییر پرینتر پیش فرض چیه ؟



majjjj
دوشنبه 07 آبان 1386, 09:47 صبح
سلام
میخواهم پرینتر پیشفرض رو تغغیر بدم چکار کنم

__siavash__
دوشنبه 07 آبان 1386, 16:37 عصر
ببین این جواب میده


Dim X As Printer
For Each X In Printers
If X.DeviceName = "FinePrint pdfFactory Pro" Then
Set Printer = X
End If
Next

vbhamed
سه شنبه 08 آبان 1386, 02:09 صبح
سلام
اگر با اومدن پنجره چاپگر ویندوز و انتخاب از اونجا مشکل نداری بگو تا برنامشو بهت بدم

majjjj
سه شنبه 08 آبان 1386, 14:34 عصر
ممنون میشم اگه برنامه ای رو که گفتین بزارین

majjjj
سه شنبه 08 آبان 1386, 14:35 عصر
ببین این جواب میده


Dim X As Printer
For Each X In Printers
If X.DeviceName = "FinePrint pdfFactory Pro" Then
Set Printer = X
End If
Next

جواب نداد دوست گرامی

__siavash__
پنج شنبه 10 آبان 1386, 00:58 صبح
اون کد پرینتر رو فقط برای برنامه جاری به صورت پیشفرض در میاره اما این کد پرینتر Defult ویندوز رو به پرینتر مورد نظر تغییر میده !
که من در این کد "FinePrint pdfFactory Pro" رو به عنوان پرینتر پیشفرض قرار دادم.


Option Explicit

Private Declare Function WriteProfileString Lib "kernel32" Alias "WriteProfileStringA" (ByVal lpszSection As String, ByVal lpszKeyName As String, ByVal lpszString As String) As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

Private Const HWND_BROADCAST = &HFFFF
Private Const WM_WININICHANGE = &H1A

Private Sub SetDefaultPrinter(ByVal PrinterName As String, _
ByVal DriverName As String, ByVal PrinterPort As String)
Dim DeviceLine As String
Dim r As Long
Dim l As Long
DeviceLine = PrinterName & "," & DriverName & "," & PrinterPort
r = WriteProfileString("windows", "Device", DeviceLine)
l = SendMessage(HWND_BROADCAST, WM_WININICHANGE, 0, "windows")
End Sub

Private Sub Command1_Click()
Dim X As Printer
For Each X In Printers
If X.DeviceName = "FinePrint pdfFactory Pro" Then
' Set printer as system default.
SetDefaultPrinter X.DeviceName, X.DriverName, X.Port
' Stop looking for a printer.
Exit For
End If
Next
End Sub

vbhamed
پنج شنبه 10 آبان 1386, 09:55 صبح
سلام

دوست عزیز اینم نمونه برنامه
بعد از اینکه چاپگر رو انتخاب کردی در ویندوز پیش فرض میشه

alirezah
سه شنبه 17 آبان 1401, 11:24 صبح
سپاس فراوان