![]() |
Showwindow и Findwindow На данной странице речь пойдет о двух API функциях, с помощью которых осуществляется показ и скрытие различных окон, программ, элементов Windows с глаз пользователя. Рассмотрим каждую из функций подробнее... function ShowWindow(Wnd: HWnd; CmdShow: Integer); Первый параметр функции указывает окно, с которым будет происходить та или иная операция, а второй указывает операцию, которая требуется. Нам нужны только две основные операции, это показ окна - sw_show и его скрытие - sw_hide. Список остальных операций с окном можно узнать из Microsoft Win32 Programmer's Reference, идущей в комплекте справки с Delphi. Если мы хотим скрыть нашу программу, то пишем: procedure TForm1.Button1Click(Sender: TObject); begin showwindow(application.MainForm.Handle,sw_hide); end; Чтобы скрыть кнопку программы из трэя и по Alt-Tab, пишем это... procedure TForm1.Button1Click(Sender: TObject); begin showwindow(application.Handle,sw_hide); end; Ну и чтоб это все потом, естественно показать, на месте sw_hide пишем sw_show. Рассмотрим вторую функцию: function FindWindow(ClassName, WindowName: PChar): HWnd; С помощью этой функции мы находим в системе окно по заданным нами параметрам. Возвратным значением данной функции будет handle искомого нами окна, если такое существует и 0, если не существует. Первый её параметр указывает на класс объекта, по которому во всей системе можно найти сам объект, а во втором параметре указывается текст в заголовке этого объекта. Например у нас есть открытая папка под названием "Музыка". Значит в заголовке открытого окна есть надпись "Музыка". Нам необходимо скрыть данное окно с рабочего стола. Для этого пишем: procedure TForm1.Button1Click(Sender: TObject); begin showwindow(findwindow(nil,'Музыка'),sw_show); end; После нажатия на кнопку, наше окно исчезнет с глаз долой. Но эксмериментировать с простыми окнами не интересно. Давайте немного позабавимся с ОС. Приведенный ниже код сможет скрыть весь traybar: procedure TForm1.Button1Click(Sender: TObject); begin showwindow(findwindow('shell_tray_wnd',nil),sw_show); end; Здесь мы делаем поиск уже не по заголовку объекта, а по его классу. Константа "Shell_traywnd" указывает как раз на наш системный трэй. Если хорошо поискать такие константы, то можно например скрыть значки рабочего стола, написав константу "progman". Также можно скрыть кнопку пуск, или системные часы... |
| обновл:01.08 | |
| vicvtor@mail.ru | |
![]() |
|
| Optimized
for 1024*768px Made by vicvtor, hosted by Narod.ru Copyright © 2006 - 2007 Irkutsk, Russia by "Victor's World". |
|