Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.012 c
1-18034
mvg_first
2002-05-24 17:07
2002.06.06
Как перевести количество секунд от начала дня в нормальное время?


1-17860
heksus
2002-05-26 10:47
2002.06.06
Как строить графики в приложении.


14-18107
mimino
2002-04-29 12:35
2002.06.06
КАКавтоматически загружать свою программу ?


3-17786
UncleRu
2002-05-15 15:37
2002.06.06
Oшибки InterBase


7-18159
heruvim4ik
2002-03-09 22:40
2002.06.06
Как программно отключить монитор?




   Наверх