Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.04;
Скачать: CL | DM;

Вниз

Закрыть доступ   Найти похожие ветки 

 
DENNIS ©   (2004-01-18 12:30) [0]

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


 
DVM ©   (2004-01-19 18:32) [1]

FindWindow() + EnableWindow()


 
Floppy   (2004-01-19 19:17) [2]

{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;


 
DENNIS ©   (2004-01-22 20:33) [3]

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


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

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


 
Intell ©   (2004-01-23 18:39) [5]

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

Просто впишите этот кусок кода в 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);


 
DENNIS ©   (2004-01-26 22:15) [6]

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


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


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


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

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

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

Удачи.



Страницы: 1 вся ветка

Текущий архив: 2004.04.04;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.052 c
1-1079640169
Tack83
2004-03-18 23:02
2004.04.04
Popup-меню в несколько колонок


3-1078827023
hfa
2004-03-09 13:10
2004.04.04
User DSN. Естьли компонент или функция для создания ...


1-1079198303
$tranger
2004-03-13 20:18
2004.04.04
Не отображать форму при запуске


4-1075466636
stepan_mk
2004-01-30 15:43
2004.04.04
Робота с DLL


1-1079338277
alex732
2004-03-15 11:11
2004.04.04
Точка остановки