Поиск в реестре настроек (DEVMODE и прочих) сетевого принтера для разных версий Windows
Доброе время суток!
Если коротко сформулировать вопрос: где в реестре находится DEVMODE по умолчанию для сетевого принтера и где находится копия DEVMODE для сетевого принтера для локального пользователя? Так же интересно какие отличия в пути к DEVMODE в реестре у XP, Vista и Windows 7,8.
Далее в деталях:
Озаботился с поиском в реестре DEVMODE структуры для сетевых принтеров (для локальных и с самой DEVMODE уже разобрался).
В связи с этим возникли вопросы:
1. Копирует ли винда для сетевого принтера в реестре настройки DEVMODE в локального пользователя в HKEY_CURRENT_USER\Printers\Connections\,,PrintServer,PrinterName? (спрашиваю потому что не нашел их там, но возможно просто не инициировал это копирование) или же DEVMODE сетевого принтера копируется в HKEY_CURRENT_USER\Printers\DevModes2\PrinterName?
В Windows 7 настройки по умолчанию DEVMODE для сетевого принтера ищутся в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Providers\Client Side Rendering Print Provider\S-1-5-21-2499520557-3571156519-1839909518-1144\Printers\Connections\,,PrintServer,PrinterName
где S-1-5-21-2499520557-3571156519-1839909518-1144 это UserId
в связи с этим 2 вопроса
1. Всегда ли в пути присутствует "Client Side Rendering Print Provider" или это имя может изменяться в зависимости от типа подключения?
2. Где искать и как вытаскивать средствами c# или из реестра этот UserId S-1-5-21-2499520557-3571156519-1839909518-1144 дабы подставить его в этот путь?
В Windows XP (к сожалению не имею её чтобы проверить) путь к DEVMODE сетевого принтера иной
этот ключ совпадает с windows 7 HKEY_CURRENT_USER > Printers > Connections
а этого я не нашел в 7ке HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Providers\LanMan Print Services\Servers\Printers
в 7ке ключ обрывается на уровне отсутствующего "LanMan Print Services"
п.с. для локальных принтеров на всех версиях винды начиная с XP DevMode для текущего пользователя хранится в HKEY_CURRENT_USER\Printers\DevModePerUser\PrinterName
и если отсутствуе то вытаскивается из HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Printers\PrinterName\Default DevMode
а вот что за ветка эта HKEY_CURRENT_USER\Printers\DevModes2?
В одном из примеров видел что когда меняют DEVMODE для сетевого или локального принтера в этой ветке меняют тоже, из того что нашел в сети это связано с сетевыми принтерами, но что конкретно непонятно. Возможно это как раз та ветка в которой хранится DEVMODE сетевого принтера для локального пользователя?
Просветите пожалуйста или направьте по ссылке. Перерыл уже пол инета, ничего толкового по настройкам сетевых принтеров в реестре не нашел.
я хочу вносить изменения в реестре в их DEVMODE структуру (размер бумаги, ориентация, разрешение цвет итп).
для локальных принтеров уже делаю, на очереди сетевые.
Ещё проблемка. У подключенных по сети принтеров есть настройка которая говорит тянуть настройки при печати с сервера или из локальных настроек. Не смог найти где она находится в реестре, внутри структуры DEVMODE я её тоже не нашел.