Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 123

/ вопрос открыт /

Доброе время суток, Господа программисты!
Как сделать, чтобы когда программа запущена кнопка Виндоус не работала. Заранее благодарен!!!

Geron Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: Geron (статус: 1-ый класс)
Вопрос отправлен: 2 октября 2006, 11:17
Состояние вопроса: открыт, ответов: 0.


Мини-форум вопроса

Всего сообщений: 3; последнее сообщение — 25 декабря 2006, 17:33; участников в обсуждении: 2.
Alex Van Glukhman

Alex Van Glukhman (статус: 7-ой класс), 3 октября 2006, 23:14 [#1]:

Во всех формах property KeyPreview:=true;
Event OnKeyDown
Key VK_WIN
Вперёд!!!
Alex Van Glukhman

Alex Van Glukhman (статус: 7-ой класс), 4 октября 2006, 14:48 [#2]:

Предыдущее сообщение можно не рассматривать!!!

В главное форме приложения:

interface
uses
Windows, Messages, Variants, Types;

type
pKBDLLHOOKSTRUCT = ^TKBDLLHOOKSTRUCT;
TKBDLLHOOKSTRUCT = record
vkCode: DWORD;
scanCode: DWORD;
flags: DWORD;
time: DWORD;
dwExtraInfo: DWORD;
end;
...
//Далее идёт определение формы
...

const
WH_KEYBOARD_LL=13;
var
Hk: HHOOK;
strct: pKBDLLHOOKSTRUCT;
...

implementation
...

function LowLewelKeyboardProc(nCode: integer;
wParam: Longint; lParam: Longint): Longint;
stdcall;
begin
Result:=1;
if (wParam=WM_KEYUP) or (wParam=WM_KEYDOWN)
then begin
strct:=pKBDLLHOOKSTRUCT(lParam);
if strct.scanCode=VK_LWIN then exit;
if strct.scanCode=VK_RWIN then exit;
end;
Result:=CallNextHookEx(Hk, nCode, wParam,
lParam);
end;

...

procedure TMnFrm.FormCreate(Sender: TObject);
begin
//Отключаем
Hk:=SetWindowsHookEx(WH_KEYBOARD_LL,
@LowLewelKeyboardProc, HInstance, 0);
end;

procedure TMnFrm.FormClose(Sender: TObject);
begin
UnhookWindowsHookEx(Hk);
end;

тоже самое можно получить в консольном приложении только используем структуру
try
finally
end;
Новаковский Юрий Аврамович

Новаковский Юрий Аврамович (статус: 4-ый класс), 25 декабря 2006, 17:33 [#3]:

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

Program HideStartButton;

uses Windows;

var h1, h2 : THandle;

begin
h1 := FindWindow('ProgMan', nil);
h1 := GetWindow(h1, GW_CHILD);
ShowWindow(h1, SW_HIDE);

h2 := FindWindow('Shell_TrayWnd', nil);
ShowWindow(h2, SW_HIDE);

MessageBox(0, 'Рабочий стол и кнопка Пуск были скрыты.', 'HideStartButton', MB_ICONINFORMATION);

ShowWindow(h1, SW_SHOW);
ShowWindow(h2, SW_SHOW);

MessageBox(0, 'Рабочий стол и кнопка Пуск были восстановлены.', 'HideStartButton', MB_ICONINFORMATION);

end.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:42
Выполнено за 0.02 сек.