Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++ Builder
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
heroii2009
16 / 6 / 3
Регистрация: 13.03.2012
Сообщений: 196
#1

Программно отключить функцию Windows 7 - C++ Builder

03.09.2012, 15:25. Просмотров 1306. Ответов 5
Метки нет (Все метки)

Доброго времени суток, подскажите как программно с помощью билдера отключить функции Windows 7 такие как "Выключение компьютера" "перезагрузка" "Смена пользователя" "Выход из системы" перелопатил много статей искал как через реест, или хоть бы ссылку где эти параметры правятся в реестре но нечего не смог найти, только отключение диспетчера задач, но оно мне не нужно
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.09.2012, 15:25
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Программно отключить функцию Windows 7 (C++ Builder):

Как программно отключить мышь?
Задача: 1. Программно отключить монитор -...

Отключить программно системные звуки
Здравствуйте! Подскажите пожалуйста как мне отключить программно системные...

Программно отключить кнопки biMinimize
Как программно отключить у своей формы кнопки biMinimize, biMaximize и кнопку с...

Как программно отключить aero (для енергосбережения)?
Кто сталкивался с отключениием aero в windows? Кто сталкивался, подскажите! ...

Отключить изменение шрифта от windows
Использую C++ RAD Studio XE8. Столкнулся с такой проблемой. База стоит на...

Открытие проводника Windows программно
Мне надо реализовать код для кнопки "перейти к каталогу" так чтобы псле...

5
vampire6666
142 / 142 / 39
Регистрация: 17.08.2012
Сообщений: 411
03.09.2012, 15:27 #2
скажите как вы отключили диспетчер может так я смогу помочь =)
0
heroii2009
16 / 6 / 3
Регистрация: 13.03.2012
Сообщений: 196
03.09.2012, 15:34  [ТС] #3
Цитата Сообщение от vampire6666 Посмотреть сообщение
скажите как вы отключили диспетчер может так я смогу помочь =)
C++
1
#include "registry.hpp"
C++
1
2
3
4
5
6
7
 
   TRegistry* reg = new TRegistry;
   reg->RootKey = HKEY_CURRENT_USER;   
   reg->CreateKey("Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System");
   reg->OpenKey("Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System", true);
   reg->WriteInteger("DisableTaskMgr",00000001); 
   reg->WriteInteger("DriveTypeNoAutorun", 221);
отключить и что-бы включить
C++
1
2
3
4
5
6
7
 
   TRegistry* reg = new TRegistry;
   reg->RootKey = HKEY_CURRENT_USER;
   reg->CreateKey("Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System");
   reg->OpenKey("Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System", true);
   reg->WriteInteger("DisableTaskMgr",00000000);
   reg->WriteInteger("DriveTypeNoAutorun", 221);
1
vampire6666
142 / 142 / 39
Регистрация: 17.08.2012
Сообщений: 411
03.09.2012, 15:49 #4
Вот что-то нашел:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
//#include <winuser.h>
HWND H;
TTokenPrivileges tkp;
  DWORD RetLen;
  TTokenPrivileges  PreviousState;
  TOSVersionInfo Ver;
  try
  {
    Ver.dwOSVersionInfoSize = sizeof(Ver);
    GetVersionEx(&Ver);
    if (Ver.dwPlatformId == VER_PLATFORM_WIN32_NT )
    {
      if (!OpenProcessToken(GetCurrentProcess(),
         TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &H))
        exit(0);
      if (!LookupPrivilegeValue( NULL,
         SE_SHUTDOWN_NAME,
         &tkp.Privileges[0].Luid))
        exit;
      PreviousState = tkp;
      tkp.PrivilegeCount = 1;
      tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
      if (!(AdjustTokenPrivileges(H, FALSE,
         &tkp, sizeof(PreviousState),
         &PreviousState, &RetLen)))
        exit;
    }
    ExitWindowsEx(EWX_SHUTDOWN,0);
  }
  catch(...)
  {}
Выключить Windows, сменить пользователя, Сменить пользователя, перезагрузить ExitWindowsEx.
надеюсь как самому сделать функции на их отмену вы сами догадаетесь =)ну на крайний случай могу написать.

Добавлено через 1 минуту
heroii2009, надеюсь помог =)
0
heroii2009
16 / 6 / 3
Регистрация: 13.03.2012
Сообщений: 196
03.09.2012, 15:53  [ТС] #5
Цитата Сообщение от vampire6666 Посмотреть сообщение
Выключить Windows, сменить пользователя, Сменить пользователя, перезагрузить ExitWindowsEx.
надеюсь как самому сделать функции на их отмену вы сами догадаетесь =)ну на крайний случай могу написать.
Я не очень такой профи в С++ Builder и такой тип кода вижу в первые, подскажите пожалуйста куда пихнуть Ваш код что б при загрузке программы он отключил эти функции и да, пожалуйста как их включить обратно при закрытии программы
0
mimicria
return (true);
1960 / 1097 / 219
Регистрация: 19.04.2011
Сообщений: 2,345
03.09.2012, 17:34 #6
Цитата Сообщение от vampire6666 Посмотреть сообщение
надеюсь как самому сделать функции на их отмену вы сами догадаетесь =)ну на крайний случай могу написать.
Это бред. Этот кусочек кода лишь добавляет программе привилегию на выключение. И ни в коем случае не запрещает ОС выключаться, перезагружаться и т.д.
Вопрос к ТС: какой практический смысл в таком запрете?
По теме: вникать в изменение групповых политик
gpedit.msc \User Configuration\Administrative Templates\Start Menu and Taskbar\Remove and prevent access to the Shut Down, Restart, Sleep, and Hibernate commands
1
03.09.2012, 17:34
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.09.2012, 17:34
Привет! Вот еще темы с решениями:

Где найти функцию Windows API MessageBox
В общем я начал читать книгу по С++ и столкнулся с тем что не нашел эту...

Как отключить функцию smartscreen windows 8 программно?
возможно знаете как отключить функцию smartscreen windows 8 в коде программы...

Как программно отключить Windows Defender?
прошу помочь в коде - Как программно отключить defender windows vb.net можно C#...

Как отключить БД программно?
доброго времени суток есть БД и оболочка на делфи для нее требуется сжать БД...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru