Q&A
HOME
Tips & Tech
Q&A
Discuss
Download
자유게시판
홍보 / 광고
구인 / 구직
LOGIN
회원가입
프린터 선택 / 설정 (기본프린터 / 네트워크프린터)
한델 강의실에 없었던것 같아서 다시 질문합니다.
기본프린터가 있고 네트워크에 연결된 프린터가 있습니다.
영주증 인쇄용 잉크젯을 프로그램 사용시에만 기본프린터로 하고
프로그램 종료시 다시 레이저 프린터를 사용하려고 하는데..
프로그램을 우째 짜야할지.. ?
부탁, 부탁, 합니당.
1
COMMENTS
김진호
•
1999.12.08 20:25
김봉근 wrote:
> 한델 강의실에 없었던것 같아서 다시 질문합니다.
> 기본프린터가 있고 네트워크에 연결된 프린터가 있습니다.
> 영주증 인쇄용 잉크젯을 프로그램 사용시에만 기본프린터로 하고
> 프로그램 종료시 다시 레이저 프린터를 사용하려고 하는데..
> 프로그램을 우째 짜야할지.. ?
> 부탁, 부탁, 합니당.
이건 제가 베이직으로 했던건데 델파이 코드로 바꿔보세여...
뭐 델파이나 비베나....이런건 API 코드로 도배 하는거니깐 거의 같다고 봐야져..
Form_Load 이벤트는 Create 이벤트구여...
나머지는 그냥 코딩 하시면 됩니당..
Private Declare Function GetProfileString Lib "kernel32" Alias _
"GetProfileStringA" (ByVal lpAppName As String, _
ByVal lpKeyName As String, _
ByVal lpDefault As String, _
ByVal lpReturnedString As String, _
ByVal nSize As Long) As Long
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, _
ByVal lParam As String) As Long
Private Const WM_WININICHANGE = &H1A
Private Const HWND_BROADCAST = &HFFFF
Private Sub Form_Load()
Dim X As Printer, i As Integer
Form_Locate Me, Center
For Each X In Printers
lstPrint.AddItem Printers(i).DeviceName
i = i + 1
Next
HelpContextID = 113
End Sub
Private Sub ToolMenu1_Click()
Dim X As Printer
Dim r As Integer
Dim Buffer As String
Dim DeviceName As String
Dim DriverName As String
Dim PrinterPort As String
'Dim PrinterName As String
If lstPrint.ListIndex < 0 Then Exit Sub
Buffer = Space(1024)
r = GetProfileString("PrinterPorts", lstPrint.Text, "", Buffer, Len(Buffer))
GetDriverAndPort Buffer, DriverName, PrinterPort
If DriverName <> "" And PrinterPort <> "" Then
SetDefaultPrinter lstPrint.Text, DriverName, PrinterPort
Set Printer = Printers(lstPrint.ListIndex)
Unload Me
End If
End Sub
Sub GetDriverAndPort(ByVal Buffer As String, DriverName As String, PrinterPort As String)
Dim r As Integer
Dim iDriver As Integer
Dim iPort As Integer
DriverName = ""
PrinterPort = ""
iDriver = InStr(Buffer, ",")
If iDriver > 0 Then
DriverName = Left(Buffer, iDriver - 1)
iPort = InStr(iDriver + 1, Buffer, ",")
If iPort > 0 Then
PrinterPort = Mid(Buffer, iDriver + 1, iPort - iDriver - 1)
End If
End If
End Sub
Sub SetDefaultPrinter(ByVal PrinterName As String, ByVal DriverName As String, ByVal PrinterPort As String)
Dim DeviceLine As String
Dim r As Integer
Dim l As Long
DeviceLine = PrinterName & "," & DriverName & "," & PrinterPort
r = WriteProfileString("windows", "Device", DeviceLine)
l = SendMessage(HWND_BROADCAST, WM_WININICHANGE, 0, ByVal "windows")
End Sub
0
0
삭제
수정
댓글
(NOTICE) You must be
logged in
to comment on this post.
김시완
•
1999.12.05 00:25
1
COMMENTS
/
0
LIKES
combobox에서 DropDownList Style일 때...
배불뚝
•
1999.12.06 20:34
김시완 wrote: > 지금 프로그램을 만들고 있는데 combobox를 사용하는 부분이 있는데 > 키보드로 에디트 ...
김매경
•
1999.12.04 20:17
1
COMMENTS
/
0
LIKES
검색을 하려고 하는데...
이만준
•
1999.12.04 23:11
김매경 wrote: > 쿼리문을 써서 Table의 요구전문 수신시간이라는 필드를 읽어 오는데... > > (이 테이...
통신초보
1999.12.04 20:15
0
COMMENTS
/
0
LIKES
클라이언트에서 넘겨받은 데이타처리
이종혁
1999.12.04 20:10
0
COMMENTS
/
0
LIKES
두 메모장을 불러들여 merge-초보
최진규
•
1999.12.04 20:08
2
COMMENTS
/
0
LIKES
델파이 왕초보!! 도와주세요~~~
안정한
•
1999.12.04 23:11
File Open 시에 procedure TForm1.Button1Click(Sender: TObject); var I: integer; F: TextFile...
이만준
•
1999.12.04 23:01
최진규 wrote: > 안녕하세요~ > 저는 델파이에 입문한지 얼마 안된 초보입니다. > > 다름이 아니라...
김 인수
•
1999.12.04 19:43
3
COMMENTS
/
0
LIKES
query문에서 count(*)값 구하기...
정종구
•
1999.12.04 23:12
김 인수 wrote: > 안녕하세요 오랜만에 오는군요 *^-^* > 이런 좋은 사이트가 있는것에 대해서 감사합니...
황선희
•
1999.12.04 20:29
다른 분도 답변을 하셨는데, 같은 내용인거 같습니다만, ... select count(*) cnt1 from customer ...
[질문]특정금액에서
•
1999.12.04 20:20
김 인수 wrote: > 안녕하세요 오랜만에 오는군요 *^-^* > 이런 좋은 사이트가 있는것에 대해서 감사합니...
joojg
1999.12.04 19:13
0
COMMENTS
/
0
LIKES
종합
박성훈
1999.12.04 18:39
0
COMMENTS
/
0
LIKES
Locate함수에 대하여...
궁금자
•
1999.12.04 18:16
1
COMMENTS
/
0
LIKES
텍스트 형태의 디비를 숫자형으로?
양두석
•
1999.12.04 22:32
궁금자 wrote: 질문의 요지가 맞는지는 모르겠지만, convert를 사용하면 될것 같은데요.. 숫자형으로 바...
과객
•
1999.12.04 16:25
2
COMMENTS
/
0
LIKES
query문 가져오기
신호성
•
1999.12.04 17:52
과객 wrote: > 안녕하세요 > > 공부하다가 궁금한게 있어서요 > 검색같은것 할때 query1.sql.add(문장...
좋은날
•
1999.12.08 05:17
신호성 wrote: > 과객 wrote: > > 안녕하세요 > > > > 공부하다가 궁금한게 있어서요 > > 검색같은것...
이진수
1999.12.05 01:14
0
COMMENTS
/
0
LIKES
Bitmap 구조 정보에 대해서 질문을하는데요..
박진희
1999.12.04 11:18
0
COMMENTS
/
0
LIKES
델파이 일반
유민
1999.12.04 09:14
0
COMMENTS
/
0
LIKES
퀵리포트 상에서 폰트의 장평사용이 가능한가???
이기훈
1999.12.04 08:09
0
COMMENTS
/
0
LIKES
MDI의 QuickReport....
김봉근
•
•
1999.12.04 07:21
1
COMMENTS
/
2
LIKES
프린터 선택 / 설정 (기본프린터 / 네트워크프린터)
한델 강의실에 없었던것 같아서 다시 질문합니다. 기본프린터가 있고 네트워크에 연결된 프린터가 있습니다. 영주증 인쇄용 잉크젯을 프로그램 사용시에만 기본프린터로 하고 프로그램 종료시 다시 레이저 프린터를 사용하려고 하는데.. ...
김진호
•
1999.12.08 20:25
김봉근 wrote: > 한델 강의실에 없었던것 같아서 다시 질문합니다. > 기본프린터가 있고 네트워크에 연결...
이희선
1999.12.04 04:17
0
COMMENTS
/
0
LIKES
vc++에서 c로 제작한 dll을 델파이에서 연결하려면
joajoa
•
1999.12.04 03:22
1
COMMENTS
/
0
LIKES
DBComboBox와 ComboBox의 연결
이만준
•
1999.12.04 23:18
joajoa wrote: > 두개의 테이블에서 > 하나는 실제 데이터와 키를 가지고 있고 다른 테이블에서는 그 키...
심형성
1999.12.04 03:15
0
COMMENTS
/
0
LIKES
로컬컴퓨터 이름을 알 수 있습니까?
임성룡
1999.12.04 03:11
0
COMMENTS
/
0
LIKES
퀵레포트에 대한 두가지.....긴급 고수님들....
채희수
1999.12.04 02:29
0
COMMENTS
/
0
LIKES
델파이 프로그램 질문
김봉근
1999/12/04 07:21
Views
2771
Likes
2
Comments
1
Reports
0
Tag List
수정
삭제
목록으로
한델 로그인 하기
로그인 상태 유지
아직 회원이 아니세요? 가입하세요!
암호를 잊어버리셨나요?
> 한델 강의실에 없었던것 같아서 다시 질문합니다.
> 기본프린터가 있고 네트워크에 연결된 프린터가 있습니다.
> 영주증 인쇄용 잉크젯을 프로그램 사용시에만 기본프린터로 하고
> 프로그램 종료시 다시 레이저 프린터를 사용하려고 하는데..
> 프로그램을 우째 짜야할지.. ?
> 부탁, 부탁, 합니당.
이건 제가 베이직으로 했던건데 델파이 코드로 바꿔보세여...
뭐 델파이나 비베나....이런건 API 코드로 도배 하는거니깐 거의 같다고 봐야져..
Form_Load 이벤트는 Create 이벤트구여...
나머지는 그냥 코딩 하시면 됩니당..
Private Declare Function GetProfileString Lib "kernel32" Alias _
"GetProfileStringA" (ByVal lpAppName As String, _
ByVal lpKeyName As String, _
ByVal lpDefault As String, _
ByVal lpReturnedString As String, _
ByVal nSize As Long) As Long
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, _
ByVal lParam As String) As Long
Private Const WM_WININICHANGE = &H1A
Private Const HWND_BROADCAST = &HFFFF
Private Sub Form_Load()
Dim X As Printer, i As Integer
Form_Locate Me, Center
For Each X In Printers
lstPrint.AddItem Printers(i).DeviceName
i = i + 1
Next
HelpContextID = 113
End Sub
Private Sub ToolMenu1_Click()
Dim X As Printer
Dim r As Integer
Dim Buffer As String
Dim DeviceName As String
Dim DriverName As String
Dim PrinterPort As String
'Dim PrinterName As String
If lstPrint.ListIndex < 0 Then Exit Sub
Buffer = Space(1024)
r = GetProfileString("PrinterPorts", lstPrint.Text, "", Buffer, Len(Buffer))
GetDriverAndPort Buffer, DriverName, PrinterPort
If DriverName <> "" And PrinterPort <> "" Then
SetDefaultPrinter lstPrint.Text, DriverName, PrinterPort
Set Printer = Printers(lstPrint.ListIndex)
Unload Me
End If
End Sub
Sub GetDriverAndPort(ByVal Buffer As String, DriverName As String, PrinterPort As String)
Dim r As Integer
Dim iDriver As Integer
Dim iPort As Integer
DriverName = ""
PrinterPort = ""
iDriver = InStr(Buffer, ",")
If iDriver > 0 Then
DriverName = Left(Buffer, iDriver - 1)
iPort = InStr(iDriver + 1, Buffer, ",")
If iPort > 0 Then
PrinterPort = Mid(Buffer, iDriver + 1, iPort - iDriver - 1)
End If
End If
End Sub
Sub SetDefaultPrinter(ByVal PrinterName As String, ByVal DriverName As String, ByVal PrinterPort As String)
Dim DeviceLine As String
Dim r As Integer
Dim l As Long
DeviceLine = PrinterName & "," & DriverName & "," & PrinterPort
r = WriteProfileString("windows", "Device", DeviceLine)
l = SendMessage(HWND_BROADCAST, WM_WININICHANGE, 0, ByVal "windows")
End Sub