Курсовая работа: Розвиток сучасних структур програмного забезпечення
return 0;
}
VOID WindowsExit(UINT uFlags)//Вимкнення компютера
{
HANDLE hToken;
TOKEN_PRIVILEGES tkp;
DWORD ReturnLength;
LUID Luid;
LPCTSTR SE_SHUTDOWN_STRING=TEXT("SeShutdownPrivilege");
if (OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES,&hToken))
{
LookupPrivilegeValue(NULL, SE_SHUTDOWN_STRING, &Luid);
tkp.Privileges[0].Luid = Luid;
tkp.PrivilegeCount=1;
tkp.Privileges[0].Attributes=SE_PRIVILEGE_ENABLED;
if (AdjustTokenPrivileges(hToken, FALSE, &tkp, 0, NULL,&ReturnLength))
ExitWindowsEx(uFlags, 0);
}
}
VOID OpenCDROM()//відкриття CDROM
{
MCI_OPEN_PARMS OpenParm;
MCI_SET_PARMS SetParm;
MCIDEVICEID dID;
OpenParm.lpstrDeviceType="CDAudio";
mciSendCommand(0, MCI_OPEN, MCI_OPEN_TYPE, (DWORD_PTR)&OpenParm);
dID = OpenParm.wDeviceID;
mciSendCommand(dID, MCI_SET, MCI_SET_DOOR_OPEN,(DWORD_PTR)&SetParm);
mciSendCommand(dID, MCI_CLOSE, MCI_NOTIFY, (DWORD_PTR)&SetParm);