Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Свойства принтера / 5 сообщений из 5, страница 1 из 1
14.12.2007, 14:21
    #35010565
IMOL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Свойства принтера
Пожалуйста, помогите в простом вопросе.

Имеем: Win-2000, список установленных принтеров.

Необходимо: из программы, зная имя принтера, вызвать его свойства (точнее, именно то "окошечко", которое выводится при выборе пункта "свойства" в диспетчере печати при нажатии на принтер правой кнопкой мыши).

Большое спасибо за любую помощь.
...
Рейтинг: 0 / 0
17.12.2007, 12:07
    #35014112
klen_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Свойства принтера
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
Private Sub Command1_Click()  
    Dim dm As DEVMODE, dmout As DEVMODE
    Dim bufsize&, res&
    Dim dmInBuf() As Byte
    Dim dmOutBuf() As Byte
    Dim hPrinter&
    Dim DeviceName$
        
    Dim prn_def As PRINTER_DEFAULTS
    Dim op_Flag As Long
    
    op_Flag = OpenPrinter(Printer.DeviceName, hPrinter, prn_def)
    If op_Flag =  0  Then
        Exit Sub
    End If

    ' определяю размеры массивов dm..Buf
    bufsize = DocumentProperties(hwnd, hPrinter, DeviceName$,  0 ,  0 ,  0 )
    
    ReDim dmInBuf(bufsize)
    ReDim dmOutBuf(bufsize)
    
    'показать окно свойств принтера
    res = DocumentProperties(hwnd, hPrinter, DeviceName$, _
        agGetAddressForObject(dmOutBuf( 0 )), _
        agGetAddressForObject(dmInBuf( 0 )), _
        DM_IN_PROMPT Or DM_OUT_BUFFER)
    
    ClosePrinter hPrinter
End Sub
и ещё надо подключить к проекту Модуль1
...
Рейтинг: 0 / 0
17.12.2007, 14:55
    #35014855
klen_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Свойства принтера
прошу прощения, этой фнукции agGetAddressForObject(), возможно у вас нет
вот так
Код: plaintext
1.
2.
3.
    res = DocumentProperties(hwnd, hPrinter, DeviceName$, _
        dmOutBuf( 1 ), _
        dmInBuf( 1 ), _
        DM_IN_PROMPT Or DM_OUT_BUFFER)
...
Рейтинг: 0 / 0
17.12.2007, 18:14
    #35015680
IMOL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Свойства принтера
klen_прошу прощения, этой фнукции agGetAddressForObject(), возможно у вас нет
вот так
Код: plaintext
1.
2.
3.
    res = DocumentProperties(hwnd, hPrinter, DeviceName$, _
        dmOutBuf( 1 ), _
        dmInBuf( 1 ), _
        DM_IN_PROMPT Or DM_OUT_BUFFER)


Большое спасибо за помощь.

Вообщем-то все понятно. Единственное, над чем уперся, это то, что требуется СОХРАНИТЬ выбранные настройки для принтера по умолчанию (чтобы при повторном вызове свойств принтера сделанные изменения сохранялись). Но этот вопрос здесь изложен достаточно подробно и пока каких-либо трудностей не вижу.
...
Рейтинг: 0 / 0
19.12.2007, 07:45
    #35019230
klen_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Свойства принтера
IMOLтребуется СОХРАНИТЬ выбранные настройки для принтера по умолчанию подходящий примерчик support.microsoft.com
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Свойства принтера / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]