Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Клиентские ОС Microsoft » Microsoft Windows 2000/XP » Проблема с панелью задач

Ответить
Настройки темы
Проблема с панелью задач

Новый участник


Сообщения: 9
Благодарности: 0

Профиль | Отправить PM | Цитировать


Народ, подскажите как решить следующую проблему:
У меня в панели задач языковая панель прилипла вплотную к панели быстрого запуска и теперь если какое-либо открытое окно хочешь сбросить в панель задач, то оно улитает в никуда, т.е. промежуток между языковой панелью и панелью быстрого запуска в который сбрасываются открытые окна исчез. А если в свойствах панели убрать галочки с панели быстрого запуска и языковой панели, то вся панель задач вместе с кнопкой ПУСК исчезает, приходится подымать её через панель правления. Раньше спасался с помощью восстановления по контрольной точке, но теперь контрольной точки тоже не оказалось...Ось ХРsp1+sp2, AMD Athlon(tm)XP 2000+, 1,67ГГц, 512МБ ОЗУ,NVIDIA GeForce4 MX440 128Мб. Раньше стоял XPsp2 интегрированный, такой беды не возникало, но на неё дрова сканера становились криво, поэтому пришлось вернуться к более старому варианту. Кстати такая проблема возникала и раньше в разных вариантах sp1 и чистого ХР, причём ставились с различных установочных дисков. Если кто знает как решается проблема опишите поподробней. Заранее благодарен.

Отправлено: 22:38, 05-04-2005

 

(*.*)


Сообщения: 36574
Благодарности: 6706

Профиль | Сайт | Отправить PM | Цитировать


VladimirET
Изменения в HKEY_CURRENT_USER (HKCU) надо вносить, тогда и в <SID> они внесутся. SID профили - это профили всех пользователей на машине, но вносить в них изменения неправильно. Когда вы входите в систему, то ваш SID профиль загружается в HKCU.

-------
Канал Windows 11, etc | Чат @winsiders


Отправлено: 23:57, 09-04-2005 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


(*.*)


Сообщения: 36574
Благодарности: 6706

Профиль | Сайт | Отправить PM | Цитировать


Из готовой, но не опубликованной статьи для сайта автоматической установки виндовс.

==========
О ветвях реестра и способах импортирования ключей

Читая сообщения в конференциях MSFN и OSZone, я пришел к выводу, что некоторые участники неверно интерпертируют назначение ветвей реестра. Думаю, что не помешает небольшое разъяснение. Я не буду вдаваться в подробности, а лишь обрисую основы применительно к автоматической установке системы. Для общего образования я рекомендую ознакомиться со статьей MS KB Описание реестра Microsoft Windows http://support.microsoft.com/kb/256986/ru . Теперь конкретнее о ветвях.

HKEY_LOCAL_MACHINE (HKLM)

Название само по себе информативно: ключи локальной машины. Изменения, которые вы вносите в эту ветку, применяются ко всем учетным записям. Tаким образом, отключив какую-нибудь службу, вы делаете ее недоступной для всех пользователей. Во время автоматической установки Windows лучше всего импортировать HKLM ключи при первом входе в систему, после загрузки оболочки. "Ага!", скажете вы, "Значит можно и раньше?" Можно (об этом ниже), но не нужно. Некоторые HKLM ключи не срабатывают на более раннем этапе.

Типичным способом импортирования ключей является пакетный файл, запускаемый из [GuiRunOnce]. Файл содержит такую команду

ECHO.
ECHO Applying Registry Tweaks...
REGEDIT /S %systemdrive%\install\hklm.reg

HKEY_CURRENT_USER (HKCU)

Опять же, название говорит само за себя: ключи текущего пользователя. В принципе, изменения, которые вы вносите в эту ветку, применяются только к учетной записи, из-под которой делаются изменения. Безусловно, HKCU ключи можно импортировать при первом входе в систему. Если вы работаете из-под встроенной учетной записи Администратор, так, наверное, и следует делать. Я, однако, предпочитаю работать из-под другой учетной записи с правами администратора, оставляя встроенного Администратора на всякий случай нетронутым. Если во время автоустановки первым вход в систему осуществит Администратор, то к его учетной записи все HKCU твики и применятся, а остальные учетные записи останутся ненастроенными.

К счастью, для тех, кто работает более чем с одной учетной записью есть обходной путь. Во время автоматической установки вы можете импортировать ключи на этапе, когда ни один из пользователей еще не вошел в систему. Делается это из файла cmdlines.txt. Такой способ особенно полезен тем, что HKCU ключи фактически импортируются в настройки пользователя по умолчанию (Default User), чья ветвь реестра подключается вместо HKCU во время автоматической установки Windows. Таким образом, все ключи, импортированные в HKCU применяются ко всем учетным записям создаваемым впоследствии. Теперь понятно, почему у меня два раздельных файла твиков реестра для HKLM и HKCU? Сколько бы я пользователей не создавал впоследствии, у всех у них интерфейс уже будет максимально настроен (в соответствии с моими предпочтениями

Для импортирования HKCU ключей из cmdlines.txt достаточно разместить файл hkcu.reg в корне директории $ОEМ$ и добавить в cmdlines.txt следующие строки:

[Commands]
"REGEDIT /S hkcu.reg"


HKEY_CLASSES_ROOT (HKCR)

Я не буду дублировать весьма подробное описание этой ветви реестра, данное в статье МS KB. Ознакомьтесь с ним самостоятельно. Я его интерпретирую следующим образом. Если вы хотите, чтобы изменения затронули всех пользователей (включая будущих), то либо импортируйте HKCR ключи вместе с HKCU из cmdlines.txt, либо импортируйте ключи в раздел HKEY_LOCAL_MACHINE\Software\Classes при первом входе в систему.

HKEY_USERS (HKU)

Назначение этого ключа нередко интерпретируется неправильно. Видимо то, что он относится ко всем пользователям когда-либо входившим в систему, и является причиной путаницы. Разберем его составляющие чуть подробнее.

HKEY_USERS\.DEFAULT

Я обратил внимание, что участники конференций MSFN и OSZone пытаются использовать этот ключ для импортирования HKCU твиков, рассчитывая применить их ко всем пользователям. Не исключаю, что в некоторых случаях это сработает. Однако, вы уже знаете как это сделать правильнее и надежнее. Более того, HKEY_USERS\.DEFAULT скорее относится к настройкам, регулирующим процессы до входа пользователя в систему (например, раскладка клавиатуры по умолчанию).

HKEY_USERS\S-[длинный-набор-цифр]

Таких ключей может быть несколько. Это зависит от количества пользователей, когда-либо входивших в систему. Если вы попробуете отследить установку какого-нибудь приложения с помощью программ, мониторящих изменения в реестре, то вероятно увидите, что как раз в один из этих ключей вносятся изменения. Это и есть ваш профиль. С практической точки зрения этот ключ неинтересен, т.к. длинный набор цифр уникален для каждой системы, и в новой системе он будет уже другим. Фактически, такие изменения равносильны изменениям в HKCU.

Надеюсь этот небольшой экскурс в реестр будет вам полезен.
============

-------
Канал Windows 11, etc | Чат @winsiders


Отправлено: 00:00, 10-04-2005 | #12


Новый участник


Сообщения: 23
Благодарности: 0

Профиль | Отправить PM | Цитировать


Vadikan
Цитата:
Изменения в HKEY_CURRENT_USER (HKCU) надо вносить, тогда и в <SID> они внесутся. SID профили - это профили всех пользователей на машине, но вносить в них изменения неправильно. Когда вы входите в систему, то ваш SID профиль загружается в HKCU.
Наверное я недостаточно полно изложил свою мысль.

Дело в том, что в данном случае действительно нельзя вносить изменения в HKCU. Проблема состоит в том, что если активный пользователь будет изменять свой HKCU, то во время выхода из системы (logoff) настройки explorer-а, находящиеся до этого в памяти, сохранятся в реестр. А те изменения, что мы внесли в HKCU таким образом просто исчезнут.

Я не вижу другого выхода, кроме как войти в систему другим пользователем, и изменить реестр проблемного пользователя.
Здесь есть 2 варианта:
1) Проблемный пользователь ещё не входил в систему после последней перезагрузки. В этом случае его ветвь реестра ещё не смонтирована в HKU\<SID>, и следовательно его файл ntuser.dat ещё не занят процессом system. В этом случае мы можем вручную (с помощью regedit) смонтировать его куда угодно и, внеся необходимые изменения, размонтировать.
2) Проблемный пользователь уже входил в систему. В этом случае процесс system уже смонтировал ntuser.dat этого пользователя в HKU\<SID> и менять нужно именно там (ведь смонтировать эту ветку куда-либо ещё мы не сможем, так как файл уже открыт).

Отправлено: 11:49, 10-04-2005 | #13


(*.*)


Сообщения: 36574
Благодарности: 6706

Профиль | Сайт | Отправить PM | Цитировать


VladimirET
Цитата:
Проблема состоит в том, что если активный пользователь будет изменять свой HKCU, то во время выхода из системы (logoff) настройки explorer-а, находящиеся до этого в памяти, сохранятся в реестр. А те изменения, что мы внесли в HKCU таким образом просто исчезнут.
Чушь какая-то. Изменения в HKCU исчезать не должны. И explorer в памяти тут совершенно не причем. Если такое действительно происходит, то система вообще не может нормально функционировать. Надо восстанавливать или переустанавливать систему.

Если вы все же хотите
Цитата:
войти в систему другим пользователем, и изменить реестр проблемного пользователя
то надо либо из рабочего либо из дефолтного профиля загрузить куст и произвести изменения. Эта статья подробно все описывает http://www.simplify-i-t.com/guides/guide1.htm

Возможно, что лучше даже скопировать весь профиль целиком. Копирование данных из поврежденного профиля пользователя в новый профиль

-------
Канал Windows 11, etc | Чат @winsiders


Отправлено: 08:23, 11-04-2005 | #14


Новый участник


Сообщения: 23
Благодарности: 0

Профиль | Отправить PM | Цитировать


Vadikan
Цитата:
Если вы все же хотите
Цитата:
войти в систему другим пользователем, и изменить реестр проблемного пользователя
то надо либо из рабочего либо из дефолтного профиля загрузить куст и произвести изменения.
Это и есть тот метод, который я предлагаю - причём он работает!
Цитата:
Чушь какая-то.
Не чушь - а проверенный факт (даже на свежеустановленной на VMWare системе).

Механизм тут, насколько я понимаю, таков:
1) Пользователь входит в систему (аутентификация)
2) Загружается explorer.exe и все остальные программы пользователя из автозапуска (а также список автозапуска в HKLM и HKCU)
3) Когда explorer.exe загружается, он считывает свои настройки из HKCU (в том числе и настройки taskbar-а)
4) Пользователь работает в системе со своими настройками (в это время не происходит ни одного считывания настроек explorer-а, если это не было запрошено отдельно)
5) Пользователь выходит из системы. Во время этого этапа и сохраняются все изменения, в том числе и конфигурация taskbar-а.


Теперь представим, что произойдёт, если пользователь изменит конфигурацию taskbar-а в HKCU во время этапа 4:
1) Естественно эти настройки не повлияют на текущий сеанс - их для этого надо считать, а для этого надо перегрузить explorer.exe.
2) Во время 5-ого этапа explorer сохранит свою текущую конфигурацию в HKCU - в то же самое место, куда пользователь внёс своё значение. То есть просто запишет поверх него.

Конечно есть такие настройки, что вносятся сразу после изменения (например отображать-ли часы в трее), но не все настройки такие - некоторые вносятся во время завершения работы приложения.

Последний раз редактировалось VladimirET, 11-04-2005 в 20:09.


Отправлено: 19:40, 11-04-2005 | #15


(*.*)


Сообщения: 36574
Благодарности: 6706

Профиль | Сайт | Отправить PM | Цитировать


VladimirET
Цитата:
Во время 5-ого этапа explorer сохранит свою текущую конфигурацию в HKCU - в то же самое место, куда пользователь внёс своё значение. То есть просто запишет поверх него.
Совершенно неправильно. Изменения внесенные в HKCU там и остаются и ничего Explorer не перезаписывает. Простой пример. Правый клик на панели задач. Если у вас панель задач не закреплена замените цифру выделенную красным на 0
Код: Выделить весь код
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /V TaskbarSizeMove /t REG_DWORD /D 1 /f
taskkill /im explorer.exe /f
start explorer.exe
Сохраните как taskbar.cmd и запустите. Теперь правый клик на панели задач снова. Что-нибудь изменилось? Должно. Так что ничего explorer не перезаписывает.
Цитата:
Не чушь - а проверенный факт (даже на свежеустановленной на VMWare системе).
У вас, вероятно, дистрибутив кривой, если так все работает. Вы можете, впрочем, оставаться при своем мнении, основанном на криво работающей системе.

-------
Канал Windows 11, etc | Чат @winsiders


Отправлено: 21:56, 11-04-2005 | #16


Новый участник


Сообщения: 23
Благодарности: 0

Профиль | Отправить PM | Цитировать


Vadikan
Цитата:
Совершенно неправильно. Изменения внесенные в HKCU там и остаются и ничего Explorer не перезаписывает.
Занятно... Я действительно был не прав: в общем случае такого не происходит.
Видимо наткнулся на исключение и ошибочно обобщил...

Но вопрос всё равно висит в воздухе - с тем ключом про который я говорю:
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Streams\Desktop\TaskBarWinXP]
всё действительно именно так, как я и говорил.

То есть: если после его изменения (или даже удаления) активным пользователем сделать logoff+logon, то старое значение будет на месте!

С [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\TaskbarSizeMove] такого не происходит: я действительно могу на него повлиять прямым изменением.

С другой стороны если изменить [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Streams\Desktop\TaskBarWinXP], а после сделать
Код: Выделить весь код
taskkill /im explorer.exe /f
start explorer.exe
то изменение сохраняется
(например после удаления на панели задач остаётся только панель со списком задач, пропадает панель быстрого запуска и остальные)

Тогда в чём особенность этого ключа? Почему при logoff/logon он сохраняется старым???

Кривизна дистрибутива исключается (хотя бы в этой теме) - аналогичный эффект имеет место с Windows Server 2003 SP1

Последний раз редактировалось VladimirET, 12-04-2005 в 00:03.


Отправлено: 23:21, 11-04-2005 | #17


(*.*)


Сообщения: 36574
Благодарности: 6706

Профиль | Сайт | Отправить PM | Цитировать


VladimirET
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Streams\Desktop]
"TaskbarWinXP"=hex:<у каждого свой>
отвечает за панель быстрого запуска. AFAIK, за ее наличие и размер. Я не знаю, как его изменить напрямую. По кр. мере именно этот ключ я импортирую во время установки Windows из cmdlines.txt. Предварительно панель конфигурирую через GUI.

-------
Канал Windows 11, etc | Чат @winsiders


Отправлено: 04:27, 12-04-2005 | #18


Новый участник


Сообщения: 23
Благодарности: 0

Профиль | Отправить PM | Цитировать


Vadikan
Я тоже нигде не нашёл, какова его структура, и не могу отредактировать его.
Но при этом я могу заменить его на другой (заведомо корректный), полученный изменениями через GUI, или вовсе удалить (через HKCU). Если теперь выйти из системы и войти снова, то там окажется старое значение. Чем это можно объяснить???

Цитата:
отвечает за панель быстрого запуска. AFAIK, за ее наличие и размер
Кстати, насколько я понял - он отвечает не только за неё, но и за остальные панели в панели задач.

Отправлено: 16:24, 12-04-2005 | #19



Компьютерный форум OSzone.net » Клиентские ОС Microsoft » Microsoft Windows 2000/XP » Проблема с панелью задач

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] терминальная работа в win 2003 проблема с панелью задач foxbat Microsoft Windows NT/2000/2003 12 07-07-2009 17:54
Интерфейс - [решено] проблема с панелью задач AleksanderSp Microsoft Windows 2000/XP 3 13-12-2008 22:28
Ошибка - Проблема с панелью типичных задач для папок и файлов Murasik Microsoft Windows 2000/XP 2 19-10-2008 23:53
Чудеса с панелью задач! =\ MozART Microsoft Windows 2000/XP 3 14-02-2006 22:25
Траблы с панелью задач RawdyYates Microsoft Windows 2000/XP 7 12-10-2003 18:36




 
Переход