Читаем Советы по Delphi. Версия 1.4.3 от 1.1.2001 полностью

 A2 : array[0..15] of char = 'TAlignPalette'#0;

 A3 : array[0..18] of char = 'TPropertyInspector'#0;

 A4 : array[0..11] of char = 'TAppBuilder'#0;

begin

 result:=false;

 H1 := FindWindow(A1, nil);

 H2 := FindWindow(A2, nil);

 H3 := FindWindow(A3, nil);

 H4 := FindWindow(A4, nil);

 if (H1 <> 0) and (H2 <> 0) and (H3 <> 0) and (H4 <> 0) then result:=true;

end;


function getCdromPath:string;

var

 w:dword;

 Root:string;

 i:integer;

begin

 result:='';

 w:=GetLogicalDrives;

 Root := '#:\';

 for i := 0 to 25 do begin

  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

  //Убрать

Перейти на страницу:

Похожие книги

Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript
Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript

Данная книга посвящена программированию игр с помощью ActionScript. Здесь вы найдете подробные указания, необходимые для создания самых разных игр – аркад, головоломок, загадок и даже игровых автоматов. В тексте приведены исходные коды программ и детальные, доступно изложенные инструкции. Базовые принципы программирования ActionScript рассматриваются на примере игр, однако вы без труда сможете применить полученные знания и для разработки неигровых проектов, таких как Web-дизайн и реклама. Рекомендации Гэри Розенцвейга помогут вам не только придумывать занимательные игры и размещать их на Web-сайте, но и оптимизировать скорость их работы, а также защищать свои творения от несанкционированного копирования. Представленный в книге код несложно изменить для использования в других программах.Книга предназначена для широкого круга читателей – создателей анимационных роликов, художников-оформителей, программистов и разработчиков Web-сайтов. Издание может также выступать в качестве практического пособия по изучению ActionScript.

Гэри Розенцвейг

Программирование, программы, базы данных / Программирование / Книги по IT
iOS. Приемы программирования
iOS. Приемы программирования

Книга, которую вы держите в руках, представляет собой новый, полностью переписанный сборник приемов программирования по работе с iOS. Он поможет вам справиться с наболевшими проблемами, с которыми приходится сталкиваться при разработке приложений для iPhone, iPad и iPod Touch. Вы быстро освоите всю информацию, необходимую для начала работы с iOS 7 SDK, в частности познакомитесь с решениями для добавления в ваши приложения реалистичной физики или движений — в этом вам помогут API UIKit Dynamics.Вы изучите новые многочисленные способы хранения и защиты данных, отправки и получения уведомлений, улучшения и анимации графики, управления файлами и каталогами, а также рассмотрите многие другие темы. При описании каждого приема программирования приводятся образцы кода, которые вы можете смело использовать.

Вандад Нахавандипур

Программирование, программы, базы данных / Программирование / Книги по IT