![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Клава и мышь! [D5, Win95/98]
Monak © (2002-03-28 08:41:00)Помогите отключить, а затем включить клаву и мышь! Просьба не писать BlockInput(), т.к. он требует сишных winable.h, user32.lib! Либо как в Delphi подрубить их??
Monak (2002-03-31 13:11:00) [1]>Севостьянов Игорь © Спасибо! И вправду помогло!
SerVS - S (2002-03-29 14:11:00) [2]>lucky ©
Севостьянов Игорь © прав, я тоже вчера специально проверил в вин98 оно работает! В вин95 не проверял.
ЗЫ. А где ты нашел происталеную вин95? ;)
Севостьянов Игорь (2002-03-29 10:40:00) [3]Ну не знаю как там Win95, но 98х такая функция содержиться в user32.dll и не вериться, чтобы вот это не сработало
procedure TForm1.Button1Click(Sender: TObject);
function FuncAvail
(_dllname, _funcname: string; var _p: pointer):
boolean;
var _lib: tHandle;
begin
Result := false;
_p := NIL;
if LoadLibrary(PChar(_dllname)) = 0 then exit;
_lib := GetModuleHandle(PChar(_dllname));
if _lib <> 0 then
begin
_p := GetProcAddress(_lib, PChar(_funcname));
if _p <> NIL then Result := true;
end;
end;
var
xBlockInput : function(Block: BOOL):
BOOL; stdcall;
begin
if FuncAvail
("USER32.DLL", "BlockInput", @xBlockInput) then
begin
xBlockInput(true);
Sleep(5000);
xBlockInput(false);
end;
end;
SerVS - S (2002-03-28 17:31:00) [4]>lucky
Вопрос с вин9х обсуждался огромное кол-во раз, поищи.
Попробуй поскать BlockInput в других сист.библиотеках, в kernel32 например.
Или напиши хук, и возвращай в конце единицу или что-нибудь еще большее нуля
lucky (2002-03-28 11:11:00) [5]SystemParametersInfo( SPI_SCREENSAVERRUNNING, 1, 0, 0);
Это только отключает C+A+D, а надо вообще отключить с возможностью восстановления трудоспособности.
rundll32 keyboard,disable ,или в этом роде, не дает восстановить
SerVS - S (2002-03-28 10:48:00) [6]Сообщить вин9х что работает скринсэйвер, посторти по форуму или факу
lucky (2002-03-28 09:48:00) [7]Но в Вынь95 это не работает !!!! В 98-й тоже не идет :-((((
Не найдена процедура.
В Вин2К все на ура. Смотрел user32.dll, только В2К есть такая. Есть ли вариант для 95-98 , но без извращений , типа sleep, или загрузки процессора лапшей на уши?????
SerVS - S (2002-03-28 09:31:00) [8]Нечто вроде:
procedure BlockInput(AValue: boolean); stdcall; external "user32.dll";