Объект Свойство Значение Label1 Caption Моя первая программа


procedure TForm1.Button1Click(Sender: TObject); var



бет23/23
Дата25.09.2023
өлшемі1.52 Mb.
#478523
түріПрограмма
1   ...   15   16   17   18   19   20   21   22   23
Лабораторные

    Бұл бет үшін навигация:
  • While
procedure TForm1.Button1Click(Sender: TObject);
var
Wd : HWND;
Nm:Array[0..255] of Char; // буфер для имени
begin
ListBox1.Items.Clear; // Очистим список перед началом поисков
Wd:=FindWindow(0,0); // Найдем первое окно верхнего уровня любого класса
While (Wd<>0) do // Если такое окно существует
Begin
ListBox1.Items.Add(IntToStr(Wd)); // Добавим описатель в виде текста в список
Application.ProcessMessages; // Дадим возможность поработать другим
Wd:=GetNextWindow(Wd,GW_HWNDNEXT); // Найдем следующее окно в системе.
GetWindowText(Wd,Nm,255); // считываем текст заголовка окна
ListBox1.Items.Add(Nm);
If (Pos('Сапер',Nm)<>0) or
(Pos('Червы',Nm)<>0) or
(Pos('Солитер',Nm)<>0) or
(Pos('Паук',Nm)<>0) or
(Pos('Блокнот',Nm)<>0) or
(Pos('Косынка',Nm)<>0)
then
ShowMessage ('Есть программа')
End;
end;

  1. Откройте одну из стандартных игр или блокнот и запустив программу, щёлкните по кнопке. Вы получите список дескрипторов и заголовков всех открытых в системе окон и сообщение, что открыта нужная программа

  2. Здесь использовано несколько API функций FindWindow – найти дескриптор открытого окна, GetNextWindow – нахождение следующего окна в системе, GetWindowText – считывание заголовка окна по известному дескриптору

  3. Теперь похулиганим. Замените строчку ShowMessage ('Есть программа') на строчку с API функцией, «убивающей» открытую программу

SendMessage(WD,WM_SYSCOMMAND,SC_CLOSE,0)

  1. В результате по нажатию кнопки будет происходить закрытие открытой программы или игры без всякого предупреждения

  2. Добавьте на форму ещё одну кнопку и пропишите в ней код открывания CD-ROM

mciSendString('Set cdaudio Door Open Wait', nil, 0, handle);

  1. На другой кнопке напишите код закрытия CD-ROM

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

  1. Для корректной работы функций нужно добавить в список модулей следующий модуль MMSystem

  2. Запустите программу и проверьте в работе

  3. Рассмотрим ещё несколько примеров. Добавьте в описание модулей следующий модуль ShellApi

  4. На создание формы пропишите код

Timer1.Enabled := false;
Timer1.Interval := 10000;
MonitorOff := false;

  1. Добавьте на форму таймер и напишите для него следующий код

if MonitorOff then
begin
MonitorOff := false;
SendMessage(Application.Handle,WM_SYSCOMMAND,SC_MONITORPOWER,-1);
Timer1.Enabled := false;
end;

  1. Добавьте кнопку под названием выключить монитор и пропишите код

MonitorOff := true;
Timer1.Enabled := true;
SendMessage(Application.Handle,WM_SYSCOMMAND,SC_MONITORPOWER,1);

  1. Данный код по нажатии на кнопку отрубает монитор, а через некоторое время опять его включает

  2. Добавьте на форму две кнопки с заголовками Спрятать Пуск и Показать Пуск

  3. На первую кнопку напишите код

var
Rgn : hRgn;

Rgn := CreateRectRgn(0, 0, 0, 0);
SetWindowRgn(FindWindowEx(FindWindow('Shell_TrayWnd', nil),0,'Button',nil),Rgn,true);

  1. На вторую кнопку напишите код

SetWindowRgn(FindWindowEx(FindWindow('Shell_TrayWnd', nil),0,'Button',nil),0,true);

  1. Проверьте программу в работе

  2. Добавьте на форму кнопку и назовите её Перезагрузка. Напишите код

ExitWindows(EW_RESTARTWINDOWS, 0 );
ЛИТЕРАТУРА

  1. Delphi 5: учебный курс, С. Бобровский, Питер 2002 г.

  2. Аладьев В.З., Хунт Ю.Я., Шишаков М.Л., Основы информатики. Учебное пособие, М., Филин, 1998, 496с.

  3. Информатика. Учебник под ред. Проф. Н.В. Макаровой, Финансы и статистика, 2001, 768с.

  4. Балафанов Е.К., Бурибаев Б., Даулеткулов А.. 30 уроков по информатике, Алматы, Джагамбек, 1999г, 442с (на русском и казахском языках)

  5. Фигурнов В.З. IBM PC для пользователя, 7 изд., Москва, ИНФРА, 1998, 328с.

  6. Каймин В.А., Питеркин В.М., Уртминцев А.Г. Информатика. Учебное пособие, 1998, 208с.

  7. Кенин А.М., Печенкин Н. Окно в мир компьютеров, Екатеринбург, Деловая книга, 1996


Достарыңызбен бөлісу:
1   ...   15   16   17   18   19   20   21   22   23




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет