Чтение онлайн

ЖАНРЫ

Советы по Delphi. Версия 1.4.3 от 1.1.2001

Озеров Валентин

Шрифт:

Root[1] := Char(Ord('A')+i);

if (W and (1 shl i))>0 then

if GetDriveType(Pchar(Root)) = DRIVE_CDROM then begin

result:=Root;

exit;

end;

 end;

end;

//Определение готовности дисковода
к работе

function DiskInDrive(const Drive: char): Boolean;

var

 DrvNum: byte;

 EMode: Word;

begin

 result := false;

 DrvNum := ord(Drive);

 if DrvNum >= ord('a') then dec(DrvNum, $20);

 EMode := SetErrorMode(SEM_FAILCRITICALERRORS);

 try

if DiskSize(DrvNum-$40) <> -1 then result := true

else messagebeep(0);

 finally

SetErrorMode(EMode);

 end;

end;

function soundCardExists:boolean;

begin

 if WaveOutGetNumDevs>0 then result:=true

 else result:=false;

end;

function SetTime(DateTime:TDateTime):Boolean;

var

 st:TSystemTime;

 ZoneTime: TTimeZoneInformation;

begin

 GetTimeZoneInformation(ZoneTime);

 DateTime:=DateTime+ZoneTime.Bias/1440;

 with st do begin

DecodeDate(DateTime, wYear, wMonth, wDay);

DecodeTime(DateTime, wHour, wMinute, wSecond, wMilliseconds);

 end;

 result:=SetSystemTime(st);

 SendMessage(HWND_TOPMOST, WM_TIMECHANGE, 0, 0);

end;

//Окно без закладки в TaskBar

procedure noAppInTaskbar;

begin

 ShowWindow(Application.Handle, sw_Hide);

end;

//Определение какие приложения уже запущены

procedure ApplicationList(formHandle: THandle; var stringList: TStringList);

var

nd : hWnd;

 buff: ARRAY [0..127] OF Char;

begin

 stringList.Clear;

 Wnd := GetWindow(formHandle, gw_HWndFirst);

 WHILE Wnd <> 0 DO BEGIN

 {Не
показываем:}

IF (Wnd <> Application.Handle) AND {-Собственное окно}

IsWindowVisible(Wnd) AND {-Невидимые окна}

(GetWindow(Wnd, gw_Owner) = 0) AND {-Дочернии окна}

(GetWindowText(Wnd, buff, sizeof(buff)) <> 0) {-Окна без заголовков}

THEN BEGIN

GetWindowText(Wnd, buff, sizeof(buff));

stringList.Add(StrPas(buff));

END;

Wnd := GetWindow(Wnd, gw_hWndNext);

 END;

end;

procedure CDROMOpen;

begin

 mciSendString('Set cdaudio door open wait', nil, 0, 0);

end;

procedure CDROMClose;

begin

 mciSendString('Set cdaudio door closed wait', nil, 0, 0);

end;

//Запретить/разрешить Ctrl-Alt-Del

procedure CtrlAltDel(state:boolean);

var old:Boolean;

begin

 old:=True;

 if state then

//Восстановить

SystemParametersInfo(SPI_SCREENSAVERRUNNING, 0, @old, 0)

 else

//Убрать

SystemParametersInfo(SPI_SCREENSAVERRUNNING, 1, @old, 0);

end;

procedure StartButton(visi:boolean);

Var

 Tray, Child : hWnd;

 C : Array[0..127] of Char;

 S : String;

Begin

 Tray := FindWindow('Shell_TrayWnd', NIL);

 Child := GetWindow(Tray, GW_CHILD);

Поделиться с друзьями: