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

Вниз

Как программно отключить монитор?   Найти похожие ветки 

 
heruvim4ik ©   (2002-03-09 22:40) [0]

см. Тему
Только подробнее плз... Для полного чайника объясняете!
Заранее благодарен.


 
copyr25 ©   (2002-03-09 23:06) [1]

Sasha9, кажется публиковал:
sendmessage(fhandle,wm_syscommand,sc_monitorpower,1);//выкл
sendmessage(fhandle,wm_syscommand,sc_monitorpower,-1);//вкл
sendmessage(fhandle,wm_syscommand,sc_monitorpower,0);//текстовый режим

Читайте ВСЕ странички конфы, сэр:)


 
heruvim4ik ©   (2002-03-10 00:23) [2]

Спасибо, работает...
ТОлько немного другая строка:
SendMessage(Application.Handle,wm_SysCommand,SC_MonitorPower,1);
А реально сделать, чтоб он не врубался от движеня мыши или нажатия клавишь?


 
Yaro ©   (2002-03-10 00:37) [3]

Реально - я в таймер пихал


 
heruvim4ik ©   (2002-03-10 11:02) [4]

А подробнее мона??


 
DelGod ©   (2002-03-10 11:53) [5]

код вполне работает

procedure TForm1.button1Click(Sender: TObject);
begin
timer1.Interval:=10000;
SendMessage(Application.Handle, WM_SYSCOMMAND, SC_MONITORPOWER, 0);
timer1.Enabled:=true;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
SendMessage(Application.Handle, WM_SYSCOMMAND, SC_MONITORPOWER, -1);
end;


 
Севостьянов Игорь ©   (2002-03-11 15:24) [6]

Можно и клаву и мышку залочить - по времени..., а то не разлочишь потом... Например на 5 секунд


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;



 
Севостьянов Игорь ©   (2002-03-11 15:24) [7]

Можно и клаву и мышку залочить - по времени..., а то не разлочишь потом... Например на 5 секунд


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;


 
heruvim4ik ©   (2002-03-11 15:30) [8]

Блин!!! Самый клёвый форум, который когда-либо видел!!! Ахромное всем спасибо...


 
Song ©   (2002-03-11 15:44) [9]

Вопрос в тему: определить когда монитор включается. Когда выключается я отлавливаю сообщение SC_MONITORPOWER, а вот когда включается оно не генерируется. Идеи есть какие-нибудь?



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

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

Наверх




Память: 0.49 MB
Время: 0.013 c
1-17963
mixen
2002-05-27 18:06
2002.06.06
просмотр текстового файла


1-17969
Delphi5.01
2002-05-23 08:05
2002.06.06
Как удалить своиства нужного мне компонента?


6-18081
without c++
2002-03-22 10:33
2002.06.06
Как сделать маленький сервер?


1-17910
stupid
2002-05-27 15:31
2002.06.06
Совмещение функций в одну...


14-18145
cyborg
2002-05-03 18:02
2002.06.06
Не знаю куда спросить :-)