Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Пару вопросов [D6, WinXP]


Beglec ©   (2002-10-10 01:52:00) 

1. Как в Windows XP или 2000 сделать процесс системным или неудаляемым из Диспечера задач.
2. В Windows XP проблема с переключением на русский и английский. Я написал свою процедуру

procedure RUorENG(Bool: boolean);
begin
if Bool then LoadKeyBoardLayout("00000419",KLF_ACTIVATE) {Русский}
else LoadKeyBoardLayout("00000409",KLF_ACTIVATE); {Английский}
end;

Но эффект проявляется только для моего приложения.
Как заставить чтобы язык переключался и в других приложениях

Ответ желательно на мыло, потому как сейчас нет времени часто хаходить на форум.

Заранее благодарен


Rouse_   (2002-10-10 03:32:00) [1]

Вот пример получения привилегий на изменения в реестре

var
TokenHandle : THandle;
ProcId : DWORD;
Priv, Dummy : TOKEN_PRIVILEGES;
Ver : TOSVERSIONINFO;
const
SE_BACKUP_NAME = "SeBackupPrivilege";
begin
Ver.dwOSVersionInfoSize := Sizeof(Ver);
GetVersionEx(Ver);
if Ver.dwPlatformId = VER_PLATFORM_WIN32_NT then
begin
ProcID := 0;
if (OpenProcessToken(GetCurrentProcess, TOKEN_ADJUST_PRIVILEGES or
TOKEN_QUERY, TokenHandle)) and
(LookupPrivilegeValue(nil, SE_BACKUP_NAME, Priv.Privileges[0].Luid))
then
begin
Priv.PrivilegeCount := 1;
Priv.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
if not AdjustTokenPrivileges(TokenHandle, False, Priv, SizeOf(Dummy),
Dummy, ProcId) then
raise Exception.Create(SysErrorMessage(GetLastError));
end
else
raise Exception.Create(SysErrorMessage(GetLastError));
end;
//А здесь поместите код работы с реестром
end;


Желаю успехов


Beglec   (2002-10-10 03:22:00) [2]

Как это сделать!!!!?????
Я прекрасно это понимаю. Но как это сделать

В фак описано как создать процесс либо сервис.
А как присвоей своей программе эти права???


Rouse_   (2002-10-10 03:20:00) [3]

В статьях помоемому было что-то про сервисы, кстати сервис с админскими правами обычный польователь не закроет

Желаю успехов


Beglec   (2002-10-10 03:16:00) [4]

Моя программа всегда должна быть наведу, потому как показывает счет клиета online. Но некоторые шаловливые ручки пытаются данную фигню отключить.
Твкчто под сервис наврядли это пойдет.
А если пойджет то как это сделать.
Можно немного по подробнее
Да и еще сервисы бывают разные, их же тоже можно отрубать


Rouse_   (2002-10-10 01:56:00) [5]

По первому вопросу, нужно написать сервис

Желаю успехов


Наверх

Титульная страница Поиск, карта сайта Написать письмо