Операцион тизим ишини тўхтатиш буйруғи.
ExitWindowsEx(EWX_REBOOT or ewx_force,0);
|
Операцион тизимни қайта юклаш буйруғи
ExitWindowsEx(EWX_FORCE or ewx_force,0);
|
Компьютерни ўчириш ойнасини чақириш
SendMessage (FindWindow ('Progman', 'Program Manager'), WM_CLOSE, 0, 0);
Натижада қуйидаги ойна ҳосил бўлади:
Компьютер номини аниқлаш
uses Windows;
function GetComputerNetName: string;
var
buffer: array[0..255] of char;
size: dword;
begin
size := 256;
if GetComputerName(buffer, size) then
Result := buffer
else
Result := ''
end;
Фойдаланувчи номини аниқлаш
function GetUserFromWindows: string;
var
UserName : string;
UserNameLen : Dword;
begin
UserNameLen := 255;
SetLength(userName, UserNameLen);
if GetUserName(PChar(UserName), UserNameLen) then
Result := Copy(UserName,1,UserNameLen - 1)
else
Result := 'Unknown';
end;
Сана вақт хусусияти ойнасини чиқариш
Uses ShellAPI;
…
ShellExecute(Handle, 'open', 'control', 'date/time', nil, SW_SHOW);
Натижада қуйидаги ойна ҳосил бўлади:
Монитор ва экран
Экран хусусияти ойнасини кўрсатиш
uses ShellAPI;
function GetSystemDir: TFileName;
var
SysDir: array [0..MAX_PATH-1] of char;
begin
SetString(Result, SysDir, GetSystemDirectory(SysDir, MAX_PATH));
if Result = '' then
raise Exception.Create(SysErrorMessage(GetLastError));
end;
procedure TForm1.Button1Click(Sender: TObject);
var
x: Tfilename;
begin
x := getsystemdir;
ShellExecute(Form11.Handle, 'open', Pchar('rundll32.exe'),
'shell32.dll,Control_RunDLL Desk.cpl,@0,3', Pchar(X), SW_normal);
end;
Экран расмини (суратини) олиш
procedure TForm1.Button1Click(Sender: TObject);
var
DeskTop: TCanvas;
begin
DeskTop := TCanvas.Create;
try
with DeskTop do
Handle := GetWindowDC(GetDesktopWindow);
with PaintBox1.Canvas do
CopyRect(Rect(0, 0, 200, 200),
DeskTop,
Rect(0, 0, 200, 200))
finally
DeskTop.Free;
end
end;
Экранни ёки экранни бир қисмини TBitmap га олиш
var
bmp: TBitmap;
DC: HDC;
begin
bmp:=TBitmap.Create;
bmp.Height:=Screen.Height;
bmp.Width:=Screen.Width;
DC:=GetDC(0); //Экран дескpиптоpи
bitblt(bmp.Canvas.Handle, 0, 0, Screen.Width, Screen.Height,
DC, 0, 0, SRCCOPY);
bmp.SaveToFile('Screen.bmp');
ReleaseDC(0, DC);
end;
Мониторни созлаш
Баъзан, дастурда мониторнинг аниқ параметрлари билан ишлашга тўғри келади. Масалан ўлчам, ранг қуввати, частота. Жорий экран ўлчамини аниқлаш осон. Унда TScreen объектидаги Width ва Height майдонлари қийматларини олиш қийин эмас. Лекин, қандайдир ўзингиз учун керакли ўлчамни ўрнатиш учун эса, Api: ChangeDisplaySettings функциясидан фойдаланиш зарур. Агар, дастур иши тугагач, экраннинг жорий созлов параметрларини яна қайтариб ўрнатиш керак бўлса, унда ўзгазтиришдан олдин экраннинг жорий параметрларини сақлаб қўйиш керак бўлади. Масалан, қуйидагича:
Do'stlaringiz bilan baham: |