![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Кодер
Форумчанин
Регистрация: 27.01.2007
Сообщений: 271
|
![]()
Друзья помогите укажите в чем косяк, я пытаюсь сделать функцию перезагрузки виндов и вожусь с привилегиями в дельфях такой код работает а в си нет в чем дело
Вот код bool SetPrivilege(char* aPrivilegeName, bool aEnabled) { TTokenPrivileges * TPPrev; TTokenPrivileges * TP; void** Token; LUID * Luv; DWord * dwRetLen; return False; OpenProcessToken(GetCurrentProcess, TOKEN_ADJUST_PRIVILEGES || TOKEN_QUERY, Token); TP->PrivilegeCount = 1; if (LookupPrivilegeValue(NULL, aPrivilegeName,Luv)) { if (aEnabled = true){ TP->Privileges->Attributes = SE_PRIVILEGE_ENABLED; } else {TP->Privileges->Attributes = 0;}; dwRetLen = 0; return AdjustTokenPrivileges(Token, False, TP,20,TPPrev, dwRetLen); } CloseHandle(Token); }; bool WinExit(int iFlags) // EWX_LOGOFF // EWX_REBOOT // EWX_SHUTDOWN { if (SetPrivilege("SeShutdownPrivilege" , true)){ if (ExitWindowsEx(iFlags, 0) != false){ return False; } SetPrivilege("SeShutdownPrivilege", False); }else { return False; } } |
![]() |
![]() |
![]() |
#2 |
Кодер
Форумчанин
Регистрация: 27.01.2007
Сообщений: 271
|
![]()
Ну ладно если не знаете что и как хотябы объясните почему вот такой код не работает
if (LookupPrivilegeValue(NULL, aPrivilegeName,TP->Privileges[0].LUID)) Почему нельзя вставить через переменныю непосредственно и чем отличаются типы с одной звездой (LUID * Luv ![]() ![]() |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проблема. | kupulau | Общие вопросы C/C++ | 19 | 05.02.2008 21:11 |
проблема с URL | Scorpeon | Помощь студентам | 1 | 18.06.2007 13:28 |