Windows
У компьютеров ATX есть функция Sleep. Эта программа заставляет компьютер "заснуть".
- Подробности
- Родительская категория: Windows
- Категория: Питание компьютера, запуск и завершение Windows
Code: |
SetSystemPowerState(False, True); //Forces the system down SetSystemPowerState(True, False); //Makes a "soft" off |
- Подробности
- Родительская категория: Windows
- Категория: Питание компьютера, запуск и завершение Windows
Code: |
uses Registry;
procedure GetOwnerAndCompanyName(var sOwner, sOrganization: string); var reg: TRegistry; vi: TOSVersionInfo; sWindows: string; begin reg := TRegistry.Create; sWindows := '\Windows\'; try vi.dwOSVersionInfoSize := SizeOf(vi); getversionex(vi); reg.RootKey := HKEY_LOCAL_MACHINE; if (vi.dwPlatformId = VER_PLATFORM_WIN32_NT) then sWindows := '\Windows NT\'; if reg.OpenKey('Software\Microsoft' + sWindows + 'CurrentVersion', False) then begin // Name sOwner := reg.ReadString('RegisteredOwner'); // Organization sOrganization := reg.ReadString('RegisteredOrganization'); end; finally reg.Free; end; end;
procedure TForm1.Button1Click(Sender: TObject); var sOwner, sOrganization: string; begin GetOwnerAndCompanyName(sOwner, sOrganization); Edit1.Text := sOwner; Edit2.Text := sOrganization; end; |
- Подробности
- Родительская категория: Windows
- Категория: Получение общей информации
Code: |
function TimedShutDown(Computer: string; Msg: string; Time: Word; Force: Boolean; Reboot: Boolean): Boolean; var rl: Cardinal; hToken: Cardinal; tkp: TOKEN_PRIVILEGES; begin //get user privileges to shutdown the machine, we are talking about win nt and 2k here if not OpenProcessToken(GetCurrentProcess, TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, hToken) then ShowMessage('Cannot open process token.') else begin if LookupPrivilegeValue(nil, 'SeShutdownPrivilege', tkp.Privileges[0].Luid) then begin tkp.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED; tkp.PrivilegeCount := 1; AdjustTokenPrivileges(hToken, False, tkp, 0, nil, rl); if GetLastError <> ERROR_SUCCESS then ShowMessage('Error adjusting process privileges.'); end else ShowMessage('Cannot find privilege value.'); end;
Result := InitiateSystemShutdown(PChar(Computer), PChar(Msg), Time, Force, Reboot) end;
//Start shut down procedure TForm1.Button1Click(Sender: TObject); begin if not TimedShutDown('\\computername', 'you have to shutdown', 30, true, true) then ShowMessage('function failed...'); end;
//Abort shut down procedure TForm1.Button2Click(Sender: TObject); begin AbortSystemShutdown('\\computername'); end; |
- Подробности
- Родительская категория: Windows
- Категория: Питание компьютера, запуск и завершение Windows
Структура SYSTEM_INFO содержит сведения о текущей системе компьютера. Это включает в себя архитектуру и Тип процессора, количество
процессоры в системе, размер страницы, и другая такая информация.
- Подробности
- Родительская категория: Windows
- Категория: Получение общей информации
1. Предисловие.Приветствую всех любителей Delphi! В этой статье я хочу поведать вам об одной из замечательных, с моей точки зрения, технологии, разработанной Microsoft для облегчения нашей жизни. Теперь любой программист, используя любой современный язык программирования (не исключая и скрип языков!) может с лёгкостью узнать о своём компьютере практически всё. Теперь программисты всех "вероисповеданий" могут определить, какое оборудование установлено на их компьютере, узнать информацию о материнской плате и процессоре, параметры БИОСа, какие процессы запущены в данный момент, какова температура процессора и скорость вращения кулера, какие настройки графической системы, какие.… Одним словом, все о чём вы так долго мечтали, стало доступно благодаря WMI. Звучит заманчиво, не так ли? ;)
Естественно, что WMI - это не только набор параметров. А что это такое - читайте ниже.
Автор: Алексей Павлов
- Подробности
- Родительская категория: Windows
- Категория: Получение общей информации
Code: |
uses JwaWinBase;
//...
procedure TForm1.Button1Click(Sender: TObject); var si: STARTUPINFOW; pif: PROCESS_INFORMATION; res: Bool; s: string; begin //set StartUpInfoW first si.cb := SizeOf(startupinfow); si.dwFlags := STARTF_USESHOWWINDOW; si.wShowWindow := SW_SHOWDEFAULT; si.lpReserved := nil; si.lpDesktop := nil; si.lpTitle := 'Konsole'; // run CreateProcessWithLogonW... res := CreateProcessWithLogonW('Security', 'ArViCor', 'test', LOGON_WITH_PROFILE, 'c:\win2kas\system32\regedt32.exe', nil , CREATE_DEFAULT_ERROR_MODE, nil, nil, si, pif); if booltostr(res) = '0' then begin
//if an error occures, show the error-code //this code can be 'translated' with 'net helpmsg ' on command-prompt str(GetLastError, s); ShowMessage('CreateProcessWithLogonResult: ' + booltostr(res) + #10 + 'GetLastError: ' + s); end; end; |
- Подробности
- Родительская категория: Windows
- Категория: Пользователи, пароли, защита информации
Когда вы вызываете контекстное меню на иконке "Моего компьютера" и щёлкаете на команде "Свойства" - вы видите свойства системы. Эта статья позволит вам внести туда любой свой собственный текст и даже поместить рисунок!
Для начала давайте заглянем в папку System, находящуюся в директории Windows и найдём там файл инициализации с именем Oeminfo.ini, нужно его отредактировать так, чтобы он выглядел следующим образом:
- Подробности
- Родительская категория: Windows
- Категория: Получение общей информации
Для некоторых функций вы должны получить разрешение на компьютере с Windows.
(т.е. для того чтобы выключить или перезагрузить Windows с exitwindowsex, либо изменить системное время)
Следующий код содержит процедуру настройки привилегий. Функция AdjustTokenPrivileges () включает или отключает привилегии
в указанном token доступа.
- Подробности
- Родительская категория: Windows
- Категория: Пользователи, пароли, защита информации
Code: |
Type TOSVersion=(osUnknown, osUnknown9x, osUnknownNT, osWin95, osWin98, osWin98SE, osWinME, osWinNT, osWin2000, osXP); {©Drkb v.3, ®Vit (Vitaly Nevzorov) - Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.}
function GetOSVersion : TOSVersion; var osVerInfo : TOSVersionInfo; majorVer, minorVer : Integer; begin result := OsUnknown; osVerInfo.dwOSVersionInfoSize := SizeOf(TOSVersionInfo); if GetVersionEx(osVerInfo) then begin majorVer := osVerInfo.dwMajorVersion; minorVer := osVerInfo.dwMinorVersion; case osVerInfo.dwPlatformId of VER_PLATFORM_WIN32_NT : Case majorVer of 4:result := OsWinNT; 5:if minorVer=0 then result := OsWin2000 else if minorVer=1 then result := OsXP else result := osUnknownNT; else result := osUnknownNT; end; {Case majorVer of} VER_PLATFORM_WIN32_WINDOWS : case majorVer of 4: Case minorVer of 0:result := OsWin95; 10: if osVerInfo.szCSDVersion[1] = 'A' then result := OsWin98SE else result := OsWin98; 90: result := OsWinME; else result := osUnknown9x; end;{Case minorVer of} else result := osUnknown9x; end{case majorVer of} else result := OsUnknown; end;{case osVerInfo.dwPlatformId of} end;{if GetVersionEx(osVerInfo) then} end;
procedure TForm1.Button1Click(Sender: TObject); begin case GetOSVersion of osUnknown: Showmessage('Unknown'); osWin95: Showmessage('Win95'); osWin98: Showmessage('Win98'); osWin98SE: Showmessage('Win98SE'); osWinME: Showmessage('WinME'); osWinNT: Showmessage('WinNT'); osWin2000: Showmessage('Win2000'); osXP: Showmessage('XP'); end; end; |
- Подробности
- Родительская категория: Windows
- Категория: Получение общей информации
Code: |
procedure TForm1.Button1Click(Sender: TObject); const TokenSize = 800; // (SizeOf(Pointer)=4 *200) var hToken: THandle; pTokenInfo: PTOKENPRIVILEGES; ReturnLen: Cardinal; i: Integer; PrivName: PChar; DisplayName: PChar; NameSize: Cardinal; DisplSize: Cardinal; LangId: Cardinal; begin GetMem(pTokenInfo, TokenSize); if not OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, hToken) then ShowMessage('OpenProcessToken error'); if not GetTokenInformation(hToken, TokenPrivileges, pTokenInfo, TokenSize, ReturnLen) then ShowMessage('GetTokenInformation error'); GetMem(PrivName, 255); GetMem(DisplayName, 255); for i := 0 to pTokenInfo.PrivilegeCount - 1 do begin DisplSize := 255; NameSize := 255; LookupPrivilegeName(nil, pTokenInfo.Privileges[i].Luid, PrivName, Namesize); LookupPrivilegeDisplayName(nil, PrivName, DisplayName, DisplSize, LangId); ListBox1.Items.Add(PrivName +^I + DisplayName); end; FreeMem(PrivName); FreeMem(DisplayName); FreeMem(pTokenInfo); end; |
- Подробности
- Родительская категория: Windows
- Категория: Пользователи, пароли, защита информации
Страница 11 из 42