Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 27.02.2014, 12:37   #1
ольгаг
Форумчанин
 
Регистрация: 22.02.2010
Сообщений: 326
По умолчанию Перенос нестандартных размеров бумаги для плоттера

Здравствуйте Уважаемые программисты!

Подскажите пожалуйста, ситуация следующая:
Для плоттера hp designjet T1100 на компьютере администратора созданы нестандартные форматы бумаги и они прописываются в реестре по следующему пути:

HKEY_CURRENT_USER\Software\Hewlett-Packard\97c2b399-0456-4fc4-8181-77bcef6c9ae8\HPCUSTOMForms

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

Мой вопрос: как узнать программно полный путь в реестре к HPCUSTOMForms на компьютере пользователя (для того чтобы перенести нестандартные размеры бумаги для плоттера)?

Заранее спасибо!
ольгаг вне форума
Старый 27.02.2014, 13:27   #2
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

ну или перебором, или смотреть откуда гуид берется
eval вне форума
Старый 27.02.2014, 13:50   #3
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
По умолчанию

Поиск в ветке реестра HKEY_CURRENT_USER\Software\Hewlett-Packard\
Простым перебором не получится. Нужен обход дерева.
Streletz вне форума
Старый 27.02.2014, 13:57   #4
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

зачем дерево? я ваще не в курсе как там нр это сделал, но судя по приммеру все дерево обходить смысла нет
eval вне форума
Старый 27.02.2014, 14:09   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Streletz Посмотреть сообщение
Поиск в ветке реестра HKEY_CURRENT_USER\Software\Hewlett-Packard\
Простым перебором не получится. Нужен обход дерева.
а чего простым перебором то не получится?
для каждой элемента в данной ветке пытаться открыть вложенную ветку HPCUSTOMForms


Есть подводный камень...
у меня, например, обнаружилось целые три ветки с GUID'ами, которые внутри содержат HPCUSTOMForms
Сколько установленных принтеров HP, столько будет и нужных веток...


Цитата:
Сообщение от eval
или смотреть откуда гуид берется
глянул у себя (Windows XP)
в ветках
Код:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Printers\ИмяПринтера]
и 
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Providers\LanMan Print Services\Servers\ИмяСервера\Printers\ИмяПринтера]
есть подветка HPPresetRoot
в ней и хранится GUID (параметер HPRestrictedUserGuid)
например,
Код:
"HPRestrictedUserGuid"="a0887ef3-6ed7-4966-f881-a8ac905bc7b3"

Последний раз редактировалось Serge_Bliznykov; 27.02.2014 в 14:12.
Serge_Bliznykov вне форума
Старый 27.02.2014, 21:15   #6
ольгаг
Форумчанин
 
Регистрация: 22.02.2010
Сообщений: 326
По умолчанию

Спасибо за подсказку!

У меня получился следующий bat файл:

Код:
@echo off
setlocal enableextensions enabledelayedexpansion

set sKey=HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Printers\HP Designjet T1100ps 44in HPGL2\HPPresetRoot
set sParameter=HPRestrictedUserGuid

for /f "tokens=3" %%i in (
	'2^>nul reg.exe query "%sKey%" /v "%sParameter%"^|find.exe /i "%sParameter%"'
) do set sShell=%%i

if defined sShell (
	echo [%sShell%]
) else (
        color 0C
	echo Не установлен плоттер 'HP Designjet T1100ps 44in HPGL2'
        @pause
        exit /b 0
)

endlocal
@pause
exit /b 0
Который считывает гуид плоттера.

Подскажите пожалуйста, что дописать в этот bat чтобы в раздел "HKCU\Software\Hewlett-Packard\найденный гуид\HPCUSTOMForms" добавить например, параметр "Path" со значением REG_SZ=0?

Заранее спасибо!

Последний раз редактировалось Serge_Bliznykov; 27.02.2014 в 21:52.
ольгаг вне форума
Старый 27.02.2014, 21:35   #7
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

при чем тут бат?
eval вне форума
Старый 27.02.2014, 21:42   #8
ольгаг
Форумчанин
 
Регистрация: 22.02.2010
Сообщений: 326
По умолчанию

так проверяю.
ольгаг вне форума
Старый 27.02.2014, 21:44   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
ольгаг
Еще раз нарушишь правила - накажу.
I'm learning to live...
Stilet вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скрипт для плоттера ольгаг Windows 5 27.02.2014 14:19
Задание размеров для списка(Select) manula PHP 2 22.02.2013 12:22
Прошу совет о формах нестандартных размеров, т.е. о простых скинах. Lord_Alexandr C++ Builder 8 26.01.2013 07:54
Подгонка размеров картинки для печати. Kostia PHP 0 05.03.2011 13:29