![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Desktop [D7, Win2k, WinXP]
S.M. © (2003-08-22 11:17:00)
Для блокировки рабочего стола в реестре есть специальный ключ [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\ Explorer\] - NoDesktop. Проблема в том что для применения изменений необходимо перегрузить машину или сделать logoff, может быть есть способы которые позволяют применить изменения сразу?
DeadMeat (2003-08-22 17:07:00) [1]
> S.M.
А если не секрет, то что ты нашёл...
Дело в том, что я в таком случае делал следующее:
1) Восстановил прежнюю запись в реестре (если Win2k/XP), или в System.ini (если Win98/ME)
2) Запустил то, что там было написано обычным способом
3) Вернул запись на место, т.е. вписал своё значение
Если есть другой, более красивый способо, то было бы очень интересно его узнать...
S.M. (2003-08-22 16:51:00) [2]
Наконец то нашел, оказалось решение плавало прямо на поверхности, а я отчаяно пытался лесть всё глубже и глубже ...
S.M. (2003-08-22 16:38:00) [3]
А может кто нибудь знает как программно запустить настоящий (explorer)shell, если при загрузке Win в качестве shella была указана другая программа? Это в принципе делает userinit.exe, но он же попутно другие вещи (загрузка скриптов и т.д) делает, а это не желательно. Может подскажите где почитать?
Игорь Шевченко (2003-08-22 16:24:00) [4]
Из wine (имитация Win32 для Linux)
S.M. (2003-08-22 16:02:00) [5]
Максимум что удалось найти - это количество и тип аргументов (int, int), но описания функции, а тем более уже аргументов найти не удалось. Может дадите ссылочку от куда вы о ней узнали, буду очень признателен.
Игорь Шевченко (2003-08-22 15:42:00) [6]
А .... не надо через RunDll. Надо в google поискать описание этой функции (или аналогичных)
S.M. (2003-08-22 15:41:00) [7]
В идеале было бы научиться грамотно подгружать shell (и выгружать соответственно).
S.M. (2003-08-22 15:36:00) [8]
>Игорь Шевченко
вызов RUNDLL32.EXE shell32,RegenerateUserEnvironment дает ошибку "Ошибка при запуске shell32,RegenerateUserEnvironment"
>jonni
к сожалению проблема не решается одним десктопом, надо убрать Start-menu, Taskbar и File Manager.
jonni (2003-08-22 15:14:00) [9]
Удалено модератором
Примечание: Offtopic
Игорь Шевченко (2003-08-22 15:10:00) [10]
Просьба такая будет, вместо десктопа употреблять термин "оболочка" или Shell. А то под десктопом обычно иной объект понимается, особенно в Win2k, WinXP.
Может быть (не уверен совсем, скорее всего, ошибаюсь) поможет вызов функции RegenerateUserEnvironment из Shell32.dll
S.M. (2003-08-22 14:58:00) [11]
Если это не возможно, то может быть кто нибудь знает как загрузить explorer, если я в указал shell = "C:\программа.exe".
Т.е. после загрузки десктопа нет и только лишь нужная программа (идеальные условия), но вот потом может понадобиться, но простой вызов explorer.exe - загружает проводник, а не desktop (или shell - не знаю точно как это называется). Может быть кто нибудь объяснит хотя бы сам механизм загрузки explorera.
S.M. (2003-08-22 14:48:00) [12]
Суть в том что программа стартует сама при загрузке Win, и ни каких проблем с её использованием не возникает. Всё бы хорошо, только вот в программе есть пользователи, и от их уровня доступа зависит степень их свободы (работать только в программе или предоставить полный доступ), причем смену пользователя (не виндового) можно осуществить в любой момент, перегружать машину не допустимо, а заблокировать или разблокировать надо.
Davinchi (2003-08-22 14:29:00) [13]
Удалено модератором
Примечание: Offtopic
Davinchi (2003-08-22 14:19:00) [14]
Удалено модератором
Примечание: Offtopic
Игорь Шевченко (2003-08-22 14:16:00) [15]
> а мне надо только Desktopa (чтобы пользователь мог работать
> с программой, но не мог использовать десктоп - запускать
> приложения и т.п.).
А если не секрет, как может пользователь работать с программой при заблокированном десктопе ?
S.M. (2003-08-22 14:03:00) [16]
LockWorkstation - действительно выполняет блокировку, но системы в целом, а мне надо только Desktopa (чтобы пользователь мог работать с программой, но не мог использовать десктоп - запускать приложения и т.п.).
Политика групп в Win позволяет настраивать полномочия пользователей модифицируя значения некоторых параметров в реестре, часть из них (таких как отключения менеджера задач, блокировки и др. вещей доступных по Ctr-Alt-Del) применяются сразу, но вот блокировка рабочего стола, только через перезагрузку или logoff (относительно моей задачи это не приминимо). Может быть есть способ заставить Win перечитать (обновить) эти значения не перегружаясь?
Игорь Шевченко (2003-08-22 12:00:00) [17]
LockWorkstation