Главная страница
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.022 c
3-68662
Barmutik
2002-09-30 12:20
2002.10.21
Midas ... выгребание большого курсора


4-69062
МИФИст
2002-09-06 00:50
2002.10.21
Перерисовка RichEdit...


7-69031
Yury Yakhno
2002-08-07 23:46
2002.10.21
Работа с большой областью оперативки из Ассемблера


14-69005
Shadow
2002-09-26 16:01
2002.10.21
А правда, что программисты вспыльчивые люди?


3-68657
Юра
2002-09-30 13:40
2002.10.21
Как сортировать по строковым полям c числовыми данными