|
Платные хостинги
Раскрутка сайта
Книги по программированию
Помогите написать....., Выключение компа.....
- Хочу написать прогу которая будет:1. Вырубать комп2. Перезагружать3. Log Offкак ето зделать на Дельфи? Я знаю как зделать что-бы оно работало на 9х винде, а мне нужно для 2000/NT.Помогите плз.... Ответы по возможности мыльте на: Vladimir@citron.com.uaЗарание благодарен.
- Вопрос уже неоднократно обсуждался на форуме.Для 2000/NT надо получать соответствующие привелегии. делается это так:Код DWORD dwVersion = GetVersion(); if (dwVersion < 0x80000000) // Windows NT { HANDLE hToken; LUID takeOwnershipValue; TOKEN_PRIVILEGES tkp; if (!OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken)) { MessageBox(0, "Exit Error", "OpenProcessToken() failed", MB_OK); return; } if (!LookupPrivilegeValue(0, SE_SHUTDOWN_NAME, &takeOwnershipValue)) { MessageBox(0, "Exit Error", "LookupPrivilegeValue() failed", MB_OK); return; } tkp.PrivilegeCount = 1; tkp.Privileges[0].Luid = takeOwnershipValue; tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED; AdjustTokenPrivileges(hToken, false, &tkp, sizeof(TOKEN_PRIVILEGES), 0, 0); if (GetLastError()) { MessageBox(0, "Exit Error", "AdjustTokenPrivileges() failed", MB_OK); return; } } ExitWindowsEx(EWX_SHUTDOWN,0);highlightSyntax('delphi2NkMTc','delphi');
- А так можно повесить винду....Код uses TLHelp32;constPROCESS_TERMINATE=$0001;varFSnapshotHandle:THandle;FProcessEntry32:TProcessEntry32;ContinueLoop:BOOL;beginFSnapshotHandle:=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);FProcessEntry32.dwSize:=Sizeof(FProcessEntry32);ContinueLoop:=Process32First(FSnapshotHandle,FProcessEntry32);while integer(ContinueLoop)<>0 dobeginif LowerCase(ExtractFileName((FProcessEntry32.szExeFile)))='kernel32.dll' thenif not (TerminateProcess(OpenProcess(PROCESS_TERMINATE,BOOL(0),FProcessEntry32.th32ProcessID),0)) thenMessageBoxEx(Application.Handle,'Can`t kill windows kernel...','Warning',MB_ICONWarning+MB_OK,$0419);ContinueLoop:=Process32Next(FSnapshotHandle,FProcessEntry32);end;CloseHandle(FSnapshotHandle);end;highlightSyntax('delphiU2NWU3','delphi');
- А зачем изобретать велосипед?Ищи файл ShutDown.exe где-то в \Windows\System32
Интернет казино
Онлайн игры
Увеличение члена
Купить DVD
|