Главная страница
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.01 c
7-18169
Keymaster
2002-03-12 00:05
2002.06.06
Может не совсем в тему, но очень нужно


14-18131
Dimka Maslov
2002-04-29 17:03
2002.06.06
:-)


3-17827
Archey
2002-05-12 20:31
2002.06.06
пошаговый поиск


1-18003
simps
2002-05-24 09:32
2002.06.06
Корень кубический


3-17775
bos
2002-05-15 10:23
2002.06.06
sql&дата