Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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.012 c
14-89516
Alexious
2003-10-07 12:52
2003.10.27
Учеба


14-89459
Dmitriy O.
2003-10-07 13:22
2003.10.27
Как управлять шрифтом в Richedit ?


14-89543
Delirium^.Tremens
2003-10-08 11:33
2003.10.27
Смазка для ворот


14-89473
Layner
2003-10-07 10:25
2003.10.27
E book compiler полная лажа (html>exe)


14-89531
sapsi
2003-10-08 14:03
2003.10.27
Игры для ZX-Spectrum





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский