Главная страница
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.023 c
14-1078922798
Первопроходец
2004-03-10 15:46
2004.04.04
DataSnap/Midas


1-1079511587
user51
2004-03-17 11:19
2004.04.04
Необходимо програмно заменить первоначальную страничку IE


3-1078910986
Карелин Артем
2004-03-10 12:29
2004.04.04
Навигатор и позиция в наборе данных.


3-1078396804
HeoGtan
2004-03-04 13:40
2004.04.04
СУБД MySQL (4.0.13)


8-1070365735
Denis555
2003-12-02 14:48
2004.04.04
Медлительность TImage