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