Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Закрыть доступ [D6, Win2k]


DENNIS ©   (2004-01-18 12:30:00) 

Как сделать недоступной кнопку ПУСК, иконки на столе и т.п. в WIN9x/ NT


Almaz   (2004-01-27 00:59:00) [1]


> А как быть с Win (кнопкой), и вообще можно ее перехватить
> раньше Винды. Ведь она должна иметь код, как и остальные.


Попробуйте так:

Wnd := FindWindowEx(FindWindow('Shell_TrayWnd', nil), 0, 'Button', nil);
SetWindowLong(Wnd, GWL_ID, -1);

Тестировалось для Win2k/XP - но скорее всего сработает и в Win98

Удачи.


DENNIS   (2004-01-26 22:15:00) [2]

Огромное  спасибо!!!
А как быть с Win (кнопкой), и вообще можно ее перехватить раньше Винды. Ведь она должна иметь код, как и остальные.


Intell   (2004-01-23 18:39:00) [3]

Как скрыть/показать иконки на рабочем столе?

Просто впишите этот кусок кода в implementation:

procedure ShowDesktop(const YesNo : boolean);
var h : THandle;
begin
h := FindWindow('ProgMan', nil);
h := GetWindow(h, GW_CHILD);
if YesNo = True then
  ShowWindow(h, SW_SHOW)
else
  ShowWindow(h, SW_HIDE);
end;

Создайте кнопку и присвойте значение:

procedure TForm1.Button1Click(Sender: TObject);
begin
ShowDesktop(true);
end;

{Скрыть иконки на рабочем столе}
ShowDesktop(False);
{Показать иконки на рабочем столе}
ShowDesktop(true);


Ig   (2004-01-22 20:54:00) [4]

>Floppy   (19.01.04 19:17) [2]
А как насчет клавиши на клавиатуре типа "Win", после всех этих манипуляций, при нажатии этой клавиши, она срабатывает как нажатие кнопки пуск! ;)
P.S. Хоть доступна кнопка, хоть не доступна, результат один и тот-же!


DENNIS   (2004-01-22 20:33:00) [5]

Мерси!!! А как на счет Других элементов управления Винды


Floppy   (2004-01-19 19:17:00) [6]

{Cпрятать кнопку "Пуск"}
begin // только под NT
Rgn := CreateRectRgn(0, 0, 0, 0);
SetWindowRgn(FindWindowEx(FindWindow('Shell_TrayWnd', nil),
                                                   0,
                                                  'Button',
                                                   nil),
                                                   Rgn,
                                                   true);
end;

begin //только под NT
{Показать кнопку "Пуск"}
SetWindowRgn(FindWindowEx(FindWindow('Shell_TrayWnd', nil),
                                                   0,
                                                  'Button',
                                                   nil),
                                                   0,
                                                   true);
end;

procedure TForm1.Button3Click(Sender: TObject);
begin //вроде под всеми вынями
{Запретить кнопку "Пуск"}
EnableWindow(FindWindowEx(FindWindow('Shell_TrayWnd', nil),
                                                   0,
                                                   'Button',
                                                   nil),
                                                   false);
end;

begin //вроде под всеми вынями
{Разрешить кнопку "Пуск"}
EnableWindow(FindWindowEx(FindWindow('Shell_TrayWnd', nil),
                                                   0,
                                                   'Button',
                                                   nil),
                                                   true);
end;


DVM   (2004-01-19 18:32:00) [7]

FindWindow() + EnableWindow()


Наверх

Титульная страница Поиск, карта сайта Написать письмо