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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.05.2009, 09:10   #1
Влад_М
 
Регистрация: 10.05.2009
Сообщений: 8
По умолчанию Как изменить регистр Windows?

Возможно ли вобще изменть в регистре HKEY_LOCAL_MACHINE\ SYSTEM\ CurrentControlSet\ Control\Nls\CodePage значение параметра "1252" на "с_1251.nls если оно еще =1252 ?
Влад_М вне форума Ответить с цитированием
Старый 12.05.2009, 13:11   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А зачем? что ты винду ламаешь?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 12.05.2009, 13:34   #3
Влад_М
 
Регистрация: 10.05.2009
Сообщений: 8
По умолчанию

Мне к проге нужна справка Win32. И получается так что винда не подхватывает шрифты некоторые.. И надо что б при запуске программы менялся 1 параметр. Если он еще не изменен. Тогда все становиться понятным. В противном случае просто будет набор каких то значков =)
Влад_М вне форума Ответить с цитированием
Старый 12.05.2009, 13:43   #4
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,761
По умолчанию

ну и в чем проблема?
If параметр не тот что нужен then меняем параметр
FaTaL вне форума Ответить с цитированием
Старый 12.05.2009, 13:46   #5
Влад_М
 
Регистрация: 10.05.2009
Сообщений: 8
По умолчанию

Как к реестру обратиться?
Влад_М вне форума Ответить с цитированием
Старый 12.05.2009, 14:03   #6
Neeter
Форумчанин
 
Аватар для Neeter
 
Регистрация: 22.02.2009
Сообщений: 875
По умолчанию

В uses добавляйте Registry
и дальше:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
 reg: TRegistry;
begin
 reg := TRegistry.Create;
 try
  reg.RootKey := HKEY_LOCAL_MACHINE;
  reg.OpenKey('\SYSTEM\CurrentControlSet\Control\Nls\CodePage\', false);
  if reg.ReadString('1252') <> 'с_1251.nls' then
   reg.WriteString('1252', 'с_1251.nls');
 finally
  reg.Free;
 end;
end;
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство.
Neeter вне форума Ответить с цитированием
Старый 12.05.2009, 15:23   #7
Влад_М
 
Регистрация: 10.05.2009
Сообщений: 8
По умолчанию

Спасибо огромнейшее!

Еще 1 момент: как можно реализовать перезагрузку компьютера?

Последний раз редактировалось Влад_М; 12.05.2009 в 15:28.
Влад_М вне форума Ответить с цитированием
Старый 12.05.2009, 15:33   #8
Neeter
Форумчанин
 
Аватар для Neeter
 
Регистрация: 22.02.2009
Сообщений: 875
По умолчанию

Может вот так(не тестил):
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
ExitWindowsEx(EWX_FORCE and EWX_REBOOT,0);
//EWX_SHUTDOWN для выключения
//EWX_REBOOT для перезагрузки
//EWX_LOGOFF для logoff
end;
Взято с http://www.delphicode.ru/system/windows_shutdown.htm
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство.
Neeter вне форума Ответить с цитированием
Старый 12.05.2009, 15:44   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
ExitWindowsEx
Если не ошибаюсь программа вызывающая эту функу должна иметь права на выполнения ее, так что тут еще и права бы получить нужно по хорошему )
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 12.05.2009, 15:54   #10
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,761
По умолчанию

// Принудительная перезагрузка
Код:
procedure ReBootForce;
var
hToken: THandle;
tkp: TTokenPrivileges;
ReturnLength: Cardinal;
begin
if OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES or
  TOKEN_QUERY, hToken) then
    begin
      LookupPrivilegeValue(nil, 'SeShutdownPrivilege', tkp.Privileges[0].Luid);
      tkp.PrivilegeCount := 1;
      tkp.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
      if AdjustTokenPrivileges(hToken, False, tkp, 0, nil, ReturnLength) then
        ExitWindowsEX(EWX_REBOOT or EWX_FORCE,0);
    end;
end;
FaTaL вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Caption кнопки ПУСК (START) - изменить надпись на кнопке Пуск в Windows XP Altera Win Api 19 29.12.2011 15:49
Как изменить общую громкость в Windows XP? luckmaster Win Api 3 14.04.2009 15:42
Как сохранить строку в регистр или переменную Demonidze Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 10.02.2009 19:52
Изменить надписи на кнопках в Windows Dr.Badnezz Общие вопросы Delphi 3 20.12.2008 15:28
Как сменить регистр текста в TMemo? Алексей_C Общие вопросы Delphi 3 30.10.2007 15:29