Главная страница
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.02 c
1-68842
User_OKA
2002-10-10 07:25
2002.10.21
Остановка цикла


14-68926
phantom2040
2002-10-01 11:49
2002.10.21
Музыка из Dominion


4-69056
Polevi
2002-09-06 14:38
2002.10.21
наследование OVERLAPPED


1-68786
AndreyS
2002-10-07 18:40
2002.10.21
16-ричная запись


3-68614
AlexCentr
2002-09-27 03:53
2002.10.21
Печать на матричном принтере