반응형

* VBNET API 이용한 제어판 기본 프린터 (Default Printer) 변경 하기 예제...

 

Main

 

전체 소스 코드

Form1.vb

 

Imports System.Collections
Imports System.Drawing.Printing

Public Class Form1
    'API
    Declare Function SetDefaultPrinter Lib "winspool.drv" Alias "SetDefaultPrinterA" (ByVal pszPrinter As String) As Boolean

    Private Sub button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles button1.Click
        '프린터 목록 콜렉션 배열에 담기...
        Dim alList As System.Collections.ArrayList = New System.Collections.ArrayList(PrinterSettings.InstalledPrinters)

        '정렬
        alList.Sort()
        '리스트뷰 아이템 초기화
        listView1.Items.Clear()

        Dim iCount As Integer
        For iCount = 0 To alList.Count - 1 Step iCount + 1
            '프린터 목록 리스트 보여주기...
            Dim lvi As ListViewItem = New ListViewItem()
            lvi.Text = (iCount + 1).ToString()
            lvi.SubItems.Add(alList(iCount).ToString())

            '리스트뷰 아이템에 추가...
            listView1.Items.Add(lvi)
        Next
    End Sub

    Private Sub listView1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles listView1.SelectedIndexChanged
        'Select Printer
        lblSelectPrinter.Text = listView1.FocusedItem.SubItems(1).Text
    End Sub

    Private Sub button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles button2.Click
        'Default Printer Set
        If lblSelectPrinter.Text = "" Then Return

        If SetDefaultPrinter(lblSelectPrinter.Text) Then
            MessageBox.Show("Default Printer Set Success...", "확 인", MessageBoxButtons.OK, MessageBoxIcon.Asterisk)
        Else
            MessageBox.Show("Default Printer Set Failed...", "확 인", MessageBoxButtons.OK, MessageBoxIcon.Error)
        End If

    End Sub
End Class

 

 

*예제 결과

 

 

위 그림은 기본 프린터 변경 전 모습으로 윈도우 시작 -> 제어판 -> 장치 및 프린터 로 가보게 되면 기본 프린터가 NesPDF 로 되어 있습니다. 

 

해당 리스트뷰에서 기본 프린터로 지정될 항목을 클릭 한 뒤 Default Printer Set 버튼을 클릭 하여 아래의 그림과 같이

변경 

 

 

 

https://kdsoft-zeros.tistory.com/167

 

[VBNET] 제어판 프린터(Printer) 목록 불러오기

* VBNET 제어판 프린터 목록 불러 오기 예제... 전체 소스 코드 Form1.vb Imports System.Collections Imports System.Drawing.Printing Public Class Form1 Private Sub button1_Click(ByVal sender As System.O..

kdsoft-zeros.tistory.com

 

https://kdsoft-zeros.tistory.com/170

 

[C#] [API] 제어판 기본 프린터(Default Printer) 변경

* C# API 를 이용한 제어판 기본 프린터(Default Printer) 변경 예제... 전체 소스 코드 Form1.cs using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using Sys..

kdsoft-zeros.tistory.com

 

반응형

+ Recent posts