アプリ版:「スタンプのみでお礼する」機能のリリースについて

プリンタ(TCP/IP)を設定する際に
プリンタドライバを変更する方法を
ご教授いただけませんでしょうか?

尚、プリンタドライバは既に
インストールされているものとします。
また、複数台に異なるドライバを
設定するため、おなじものを他PC
に設定することはありません。

動作環境はXP Pro
ソフトバージョンはVB6

よろしくお願いします。

A 回答 (2件)

通常使うプリンタの変更でしたら、以下のような感じでできます。



strDeviceName, strDriverName, strPort 等の引数はクライアントPCのPrinterオブジェクトから取得してください。

'------------------------
Private Declare Function GetVersion Lib "kernel32" () 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, lParam As Any) As Long
Const HWND_BROADCAST = &HFFFF&
Const WM_WININICHANGE = &H1A

Public Sub psubSetWindowsDefaultPrinter(strDeviceName As String, _
strDriverName As String, strPort As String)
Dim strParam As String

strParam = strDeviceName & "," & strDriverName & "," & strPort
WriteProfileString "windows", "device", strParam
If pfncIsWindowsNT() Then
'Windows NT
SendMessage HWND_BROADCAST, WM_WININICHANGE, 0&, ByVal 0&
Else
'Windows 95
SendMessage HWND_BROADCAST, WM_WININICHANGE, 0&, ByVal "windows"
End If
End Sub

Public Function pfncIsWindowsNT() As Boolean
pfncIsWindowsNT = IIf(GetVersion() And &H80000000, False, True)
End Function
    • good
    • 0
この回答へのお礼

printui.dllにて解決いたしました。
上記を試してはいないのですがWin2k以前も
できそうなAPIですのでまたいつか使う日が
きそうですね。どうもありがとうございました。

お礼日時:2004/07/27 08:35

こんにちは。


私には分からないかもしれないですが、とりあえあず、それを手動でする手順を(プリンタフォルダを開いたトコロぐらいから)教えていただけないでしょうか。
    • good
    • 0
この回答へのお礼

返信遅れ申し訳ございません。
自己解決いたしました。
どうもありがとうございました。

お礼日時:2004/07/27 08:31

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!