Показать сообщение отдельно

  #4  
Старый 19.05.2006, 13:04
sn0w
Статус пользователя:
Регистрация: 26.07.2005
Сообщений: 568
Провел на форуме:
1290766

Репутация: 1236


По умолчанию

2 равновесных варианта: 1) посмотри на конфиге своего прожекта. статически ли он компилирует библиотеки времени исполнения и стандартные багажи. если нет то траблов может быть бесконечное число. 2) привилегии. начиная от уровня пользователя залогиненного в системе и кончая исполняемым кодом. вот например если ты вызовешь ExitWindowsEx на NT машине (даже под админом) без предварительного подключения shutdown-привелегии, то эффекта от этого будет ноль.

например код подключения данной привелегии на си ( дельфю незнаю, извиняй ) будет выглядеть так:

Код:
HANDLE tok;
		if(OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES,&tok)) {
			LUID luid;
			TOKEN_PRIVILEGES tp;
			LookupPrivilegeValue(NULL,SE_SHUTDOWN_NAME,&luid);
			tp.PrivilegeCount=1;
			tp.Privileges[0].Attributes=SE_PRIVILEGE_ENABLED;
			tp.Privileges[0].Luid=luid;
			AdjustTokenPrivileges(tok,FALSE,&tp,NULL,NULL,NULL);
		
			LookupPrivilegeValue(NULL,SE_SECURITY_NAME,&luid);
			tp.PrivilegeCount=1;
			tp.Privileges[0].Attributes=SE_PRIVILEGE_ENABLED;
			tp.Privileges[0].Luid=luid;
			AdjustTokenPrivileges(tok,FALSE,&tp,NULL,NULL,NULL);
			CloseHandle(tok);
		}
__________________


snow white world wide

Последний раз редактировалось sn0w; 19.05.2006 в 13:27..
 
Ответить с цитированием