Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.06.2011, 14:05   #1
DrDron
 
Регистрация: 07.06.2011
Сообщений: 3
Вопрос Удаление (запрещение) объектов рабочего стола

Доброго времени суток!
Вообщем опишу чуть задачу.. Имеется пром. комп настенный с сенсорным экраном под управлением winxp. Для того чтобы юзверь не блуждал по системе и дискам мне поставили задачку написать прогу которая:
- удаляет кнопку "Пуск"
- запрещает изменять дату
- удаляет ярлыки с рабочего стола (остается только один ярлык на производственную программулину)
- запрещает вызов всевозможных контекстных меню
- запрещает запуск regedit
- запрещает запуск диспечера задач
- запрещает использование горячих клавиш
программулина должна висеть в трейе с возможностью ее выгрузить только через пароль.
Вообщем аналог "WinLock" софтинки

Большинство вышеперечисленного можно былобы решить по средством изменения ключей в реестре (что я и начал делать), НО
основное требование, чтобы все изменения вступали без перезагрузки компа, что при манипуляции некоторыми ключами в реестре впринципе не получается.
Вообщем кнопку пуск я удаляю как то так:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  Tray, Child : hWnd;
  C : array[0..127] of Char;
  S : string;
  reg: TRegistry;
  a:boolean;
begin
  Tray := FindWindow('Shell_TrayWnd', nil);
  Child := GetWindow(Tray, GW_CHILD);
  while Child <> 0 do
  begin
    if GetClassName(Child, C, SizeOf(C)) > 0 then
    begin
      S := StrPAS(C);
      if UpperCase(S) = 'BUTTON' then
      begin
        if pKey then
          ShowWindow(Child, 1)
        else
          ShowWindow(Child, 0);
      end;
    end;
    Child := GetWindow(Child, GW_HWNDNEXT);
  end;
Реестр и диспечер задач блокрую ключами в реестре (перезагрузка не требуется) в данный момент у меня проблема с контекстными меню (как при клике по чистому рабочему столу, так и при клике на таскбаре)
Народ подскажите плиз.. как отключить контекстное меню при клике правой кнопкой на рабочем столе и на таскбаре - без перезагрузки компа?
Да и вообще хотелось бы услышать рекомендации по блокировки остальных объектов рабочего стола..
Заранее спасиб..
DrDron вне форума Ответить с цитированием
Старый 07.06.2011, 14:20   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
программулина должна висеть в трейе
В реестре пропиши запрет на запуск всех программ кроме той что нужно. Так же сделай нескольких пользователей, которым по безопасности ограничь права на работу с жесткими дисками.
Ничего писать не надо - все это делается административными настройками.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 07.06.2011, 14:42   #3
DrDron
 
Регистрация: 07.06.2011
Сообщений: 3
По умолчанию

В том то и дело чтоб мастер на производстве в любой момент мог раскрыть данную програмулину с трея, ввести пароль и вуаля! все опять без запрета... посмотрел то что надо ему, нажал на кнопочку.. все опять заблокировалось и программка свернулась в трей, уступил место оператору..
Не спорю с помощью групповой политики былоб изящнее.. но такой вариант сразу отвергли =( вот и полез в раздел winapi =)

Последний раз редактировалось DrDron; 07.06.2011 в 14:45.
DrDron вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удаление порнобаннера с рабочего стола zumm Безопасность, Шифрование 20 28.06.2010 07:45
Скриншот рабочего стола C# alxd Общие вопросы .NET 5 08.02.2010 19:38
Обои рабочего стола YakovN Мультимедиа в Delphi 1 13.03.2009 19:43
Разрешение рабочего стола. SanekIrk Общие вопросы Delphi 2 10.07.2008 18:01
Фон рабочего стола. Rahim1993 Общие вопросы Delphi 11 17.02.2008 21:40