|
Определить имя принтера по умолчанию
|
|||
---|---|---|---|
#18+
Господа! Пусть в системе установлено несколько принтеров с именами P1, P2, ... , PN. Пусть на принтере Pi стоит птичка, то есть он назначен принтером по умолчанию. Как программным путем (причем без диалога) определить имя принтера (Pi), который назначен принтером по умолчанию, затем осуществить печать на некоторый другой принтер, и после этого опять назначить принтером по умолчанию первоначальный (Pi) ? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2013, 17:58 |
|
Определить имя принтера по умолчанию
|
|||
---|---|---|---|
#18+
Как определить не знаю, а вернуть так Код: sql 1.
http://msdn.microsoft.com/en-us/library/6y8f2cxk(v=vs.80).aspx] http://msdn.microsoft.com/en-us/library/6y8f2cxk(v=vs.80).aspx ... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2013, 18:38 |
|
Определить имя принтера по умолчанию
|
|||
---|---|---|---|
#18+
set('PRINTER',2) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2013, 19:26 |
|
Определить имя принтера по умолчанию
|
|||
---|---|---|---|
#18+
А если точнее то так set('PRINTER',2) - узнать текущий SET PRINTER TO NAME "FAX" - Установить текущим для данного приложения принтер под названием Fax APRINTERS(la_printers ) - создать массив со списком установленных принтеров P.S. Кстати, все это есть в хелпе ... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2013, 19:39 |
|
Определить имя принтера по умолчанию
|
|||
---|---|---|---|
#18+
Коллеги! Спасибо за помощь. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2013, 22:12 |
|
Определить имя принтера по умолчанию
|
|||
---|---|---|---|
#18+
Коллеги! Пытаюсь воспользоваться Вашими советами. Но возникают проблемы. Первоначально на принтере "Microsoft Office Document Image Writer" установлена птичка - он принтер по умолчанию. Этот факт я могу зафиксировать так: printer_po_umolchaniu = SET("Printer",2) Затем для нужд разрабатываемой программы пишу: naimenovanie_pdf_printera = "Bullzip PDF Printer" SET PRINTER TO NAME (naimenovanie_pdf_printera) После этого птичка действительно перемещается на "Bullzip PDF Printer" Но вернуть ее с помощью SET PRINTER TO NAME (printer_po_umolchaniu) на "Microsoft Office Document Image Writer" у меня не получается. В чем проблема? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2013, 16:20 |
|
Определить имя принтера по умолчанию
|
|||
---|---|---|---|
#18+
UAP, Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2013, 16:28 |
|
Определить имя принтера по умолчанию
|
|||
---|---|---|---|
#18+
Простите, птичка перемещается после выполнения фрагмента программы, который дан по адресу: http://www.sql.ru/forum/actualthread.aspx?tid=905318&hl=bullzip После этого птичка "залипает" ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2013, 16:32 |
|
Определить имя принтера по умолчанию
|
|||
---|---|---|---|
#18+
Уважаемый Jonny540 ! SET PRINTER TO DEFAULT не срабатывает! ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2013, 16:36 |
|
Определить имя принтера по умолчанию
|
|||
---|---|---|---|
#18+
UAPУважаемый Jonny540 ! SET PRINTER TO DEFAULT не срабатывает!Так вытащи команду из PRINTJOB :) Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2013, 16:44 |
|
Определить имя принтера по умолчанию
|
|||
---|---|---|---|
#18+
Jonny540 ! Нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2013, 16:49 |
|
Определить имя принтера по умолчанию
|
|||
---|---|---|---|
#18+
UAPПростите, птичка перемещается после выполнения фрагмента программы, который дан по адресу: http://www.sql.ru/forum/actualthread.aspx?tid=905318&hl=bullzip После этого птичка "залипает"Уважаемый UAP ! Прикинул на досуге (ночь длинная, смена скучная ), и вот что получилось: - "птичка перемещается" - значит ваш фрагмент поменял принтер по умолчанию в Windows. , а не только для вашего приложения. Ессно, что команда SET PRINTER TO DEFAULT теперь ничего не изменит. - думаю, надо теперь программно грохнуть этот принтер, убрать его вообще из системы, правда нет гарантии, что восстановится предыдущий, если их останется больше двух. RELEASE не помогает, может REMOVE OBJECT или что-то еще? Разбирайтесь с кодом, он не должен менять принтер по умолчанию в Windows , т.е. "птичка" не должна перемещаться. SET PRINTER TO NAME .... устанавливает принтер "по умолчанию" для данного приложения и никак не влияет на установки винды. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2013, 07:50 |
|
Определить имя принтера по умолчанию
|
|||
---|---|---|---|
#18+
У меня все работает. Код: sql 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2013, 08:02 |
|
Определить имя принтера по умолчанию
|
|||
---|---|---|---|
#18+
Dima T, Так у меня тоже работает :)) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2013, 08:33 |
|
Определить имя принтера по умолчанию
|
|||
---|---|---|---|
#18+
может тебе есть смысл копнуть в сторону WMI? здесь пример работы с Win32_Printer class (Windows) из фокса... здесь описание этого класса здесь пример с использованием WMI для принтеров и печати винды... в принципе, используя этот инструментарий, принтерами можно крутить как угодно, а как это все сделать применительно к фоксу, я привел в первой ссылке... ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2013, 10:21 |
|
Определить имя принтера по умолчанию
|
|||
---|---|---|---|
#18+
КонецЦикламожет тебе есть смысл копнуть в сторону WMI? здесь пример работы с Win32_Printer class (Windows) из фокса... По-моему, эту функцию можно использовать и без скриптов, примерно так: loWMI = GetObject("winmgmts:" + "{impersonationLevel=impersonate}!\\.\root\cimv2") loItems = loWMI.ExecQuery("Select * From Win32_Printer") FOR EACH loItem in loItems IF loItem.Attributes and 4 RETURN loItem.WorkOffLine ENDIF ENDFOR И у меня сейчас нет возможности проверить: loItems = loWMI.ExecQuery('Select * From Win32_Printer Where ' + tcNamePrinter) FOR EACH loItem IN loItems loItem.SetDefaultPrinter() ENDFOR ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2013, 11:16 |
|
Определить имя принтера по умолчанию
|
|||
---|---|---|---|
#18+
UAP, КонецЦикла, Чтобы установить принтер по умолчанию в Windows, вполне достаточно трех API-функций. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2013, 11:17 |
|
Определить имя принтера по умолчанию
|
|||
---|---|---|---|
#18+
Коллеги! У меня ничего не получается с возвращением принтера по умолчанию после выполнения прилагаемого фрагмента. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2013, 16:55 |
|
Определить имя принтера по умолчанию
|
|||
---|---|---|---|
#18+
Некоторые пояснения. В середине фрагмента я запускаю в невидимом режиме Word и осуществляю из него печать на PDF принтер, который только что назначен принтером по умолчанию. Не знаю, можно ли из Word в этом фрагменте печатать на принтер с заданным именем, чтобы не переназначать принтер по умолчанию. Тогда проблемы с переназначением принтера можно избежать вообще. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2013, 17:01 |
|
Определить имя принтера по умолчанию
|
|||
---|---|---|---|
#18+
И как мы должны были узнать что ты из ворда печатаешь? В ворде надо менять. Ворду без разницы какие у фокса настройки принтера. Ворд сам по себе. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2013, 17:03 |
|
Определить имя принтера по умолчанию
|
|||
---|---|---|---|
#18+
SET PRINTER TO NAME думаю можно вообще убрать. Проблема в чем конкретно выражается? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2013, 17:09 |
|
Определить имя принтера по умолчанию
|
|||
---|---|---|---|
#18+
Если VFP9, то это ON ERROR Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
лучше как-то так писать TRY CATCH Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2013, 17:13 |
|
Определить имя принтера по умолчанию
|
|||
---|---|---|---|
#18+
Dima T, Есть некоторые сомнения, что ворд послушается. "Ворд сам по себе." (с) :) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2013, 17:26 |
|
Определить имя принтера по умолчанию
|
|||
---|---|---|---|
#18+
Уважаемый Dima T! Спасибо за внимание. Хочу обратить ваше внимание на то, что проблема заключается ИМЕННО В ТОМ, что при входе в программу я элементарно определяю имя принтера установленного в системе по умолчанию. Затем я создаю и выполняю задание для печати на PDF принтер из невидимого Word (ибо хочу выполнить doc -> pdf). При этом птичка перемещается с принтера по умолчанию на принтер PDF. А вот вернуть птичку на прежнее место не удается. По большому счету, мне нужна полностью free программа doc -> pdf (docx -> pdf), которую можно запускать в командной строке, чтобы в конечном счете ее можно было приладить к основной программе. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2013, 17:35 |
|
Определить имя принтера по умолчанию
|
|||
---|---|---|---|
#18+
UAPКоллеги! У меня ничего не получается с возвращением принтера по умолчанию после выполнения прилагаемого фрагмента.Попробуй так: Код: sql 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. 30.
... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2013, 17:38 |
|
Определить имя принтера по умолчанию
|
|||
---|---|---|---|
#18+
Jonny540Dima T, Есть некоторые сомнения, что ворд послушается. "Ворд сам по себе." (с) :) я практически уверен что ворду пофиг на внутрифоксовые настройки, поэтому менять принтер надо или внутри ворда, или глобально в настройках виндовса. UAPПри этом птичка перемещается с принтера по умолчанию на принтер PDF. А вот вернуть птичку на прежнее место не удается. Правильно понимаю что это в виндовых принтерах? не в фоксе. Если так, то это проделки ворда. Я бы так возвращать попробовал: Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2013, 18:02 |
|
Определить имя принтера по умолчанию
|
|||
---|---|---|---|
#18+
Dima Tя практически уверен что ворду пофиг на внутрифоксовые настройки, поэтому менять принтер надо или внутри ворда, или глобально в настройках виндовса.[/src]Так и я про те же! ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2013, 18:15 |
|
Определить имя принтера по умолчанию
|
|||
---|---|---|---|
#18+
Уважаемый Dima T! Вот именно эта строчка помогла: LoWord.ActivePrinter = printer_po_umolchaniu Это все Ворд, это проделки Ворда. Большое спасибо за подсказку! Уважаемые коллеги, я сейчас начну новую тему о Биндере, прошу всех принять участие в обсуждении! ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2013, 18:22 |
|
|
start [/forum/topic.php?all=1&fid=41&tid=1583169]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
53ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
65ms |
get tp. blocked users: |
1ms |
others: | 271ms |
total: | 437ms |
0 / 0 |