Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.10.21;
Скачать: CL | DM;

Вниз

Пару вопросов   Найти похожие ветки 

 
Beglec ©   (2002-10-10 01:52) [0]

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 01:56) [1]

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

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


 
Beglec ©   (2002-10-10 03:16) [2]

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


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

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

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


 
Beglec ©   (2002-10-10 03:22) [4]

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

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


 
Rouse_ ©   (2002-10-10 03:32) [5]

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

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;


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



Страницы: 1 вся ветка

Текущий архив: 2002.10.21;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.018 c
4-69073
Mazenrat
2002-09-08 16:38
2002.10.21
Как не дать Windows завершить работу. Приложение на чистом API.


1-68834
Prok12
2002-10-10 11:14
2002.10.21
Пара вопросов от перешедшего на Delphi 7


3-68663
NeyroSpace
2002-09-30 18:02
2002.10.21
Можно ли узнать имя пользователя, порадившего событие?


1-68768
arra
2002-10-11 16:34
2002.10.21
Как сделать и добавить Gif картинку в Делфи


14-68988
Igor_thief
2002-09-29 15:17
2002.10.21
ListView