RusMikle
@RusMikle
Программист

Поиск в реестре настроек (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 сетевого принтера для локального пользователя?

Просветите пожалуйста или направьте по ссылке. Перерыл уже пол инета, ничего толкового по настройкам сетевых принтеров в реестре не нашел.

Спасибо
  • Вопрос задан
  • 8291 просмотр
Пригласить эксперта
Ответы на вопрос 3
foxmuldercp
@foxmuldercp
Системный администратор, программист, фотограф
Уточните, что Вы хотите настроить в сетевых и локальных принтерах?
Ответ написан
RusMikle
@RusMikle Автор вопроса
Программист
по поводу SID (UserId) ответ нашел
        public static SecurityIdentifier SID
        {
            get
            {
                WindowsIdentity identity = null;

                    identity = WindowsIdentity.GetCurrent();

                return identity.User;
            }
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы