Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 2003.02.06;
Скачать: [xml.tar.bz2];

Вниз

Выключить звук и монитор в 2000 Win   Найти похожие ветки 

 
Стил   (2002-11-30 22:06) [0]

Здравствуйте. Я муаюсь уже около недели. как программно выключить и вклюить монитор и звук, но так, чтобы это работало и в 2000 Windows. Спасибо огромное.


 
Diamond Cat   (2002-11-30 23:07) [1]

sendmessage(handle,wm_syscommand,sc_monitorpower,1); //выкл
sendmessage(handle,wm_syscommand,sc_monitorpower,-1);//вкыл
со звуком сложнее вот тебе код, из него выдерещь, что надо.

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ComCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
TrackBar1: TTrackBar;
TrackBar2: TTrackBar;
Label1: TLabel;
Label2: TLabel;
TrackBar3: TTrackBar;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
procedure Button3Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure TrackBar1Change(Sender: TObject);
procedure TrackBar3Change(Sender: TObject);
procedure TrackBar2Change(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}
uses mmsystem;

function GetWaveVolume: DWord;
var
Woc : TWAVEOUTCAPS;
Volume : DWord;
begin
result:=0;
if WaveOutGetDevCaps(WAVE_MAPPER, @Woc, sizeof(Woc)) =
MMSYSERR_NOERROR then
if Woc.dwSupport and WAVECAPS_VOLUME = WAVECAPS_VOLUME then
begin
WaveOutGetVolume(WAVE_MAPPER,@Volume);
Result := Volume;
end;
end;

procedure SetWaveVolume(const AVolume: DWord);
var
Woc : TWAVEOUTCAPS;
begin
if WaveOutGetDevCaps(WAVE_MAPPER, @Woc, sizeof(Woc)) =
MMSYSERR_NOERROR then
if Woc.dwSupport and WAVECAPS_VOLUME = WAVECAPS_VOLUME then
WaveOutSetVolume(WAVE_MAPPER, AVolume);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Beep;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
LeftVolume: Word;
RightVolume: Word;
begin
LeftVolume :=TrackBar1.Position*655;
RightVolume := TrackBar2.Position*655;
SetWaveVolume(MakeLong(LeftVolume, RightVolume));
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
Caption := IntToStr(GetWaveVolume);
end;

procedure TForm1.TrackBar1Change(Sender: TObject);
begin
Label3.Caption:=IntTostr(TrackBar1.Position);
if TrackBar1.Position>TrackBar2.position then TrackBar3.Position:=TrackBar1.position;
end;

procedure TForm1.TrackBar3Change(Sender: TObject);
begin
TrackBar1.Position:=TrackBar3.position;
TrackBar2.Position:=TrackBar3.position;
Label3.Caption:=IntTostr(TrackBar1.Position);
Label4.Caption:=IntTostr(TrackBar2.Position);
end;

procedure TForm1.TrackBar2Change(Sender: TObject);
begin
Label4.Caption:=IntTostr(TrackBar2.Position);
if TrackBar2.Position>TrackBar1.position then TrackBar3.Position:=TrackBar2.position;
end;

end.


 
Стил   (2002-12-01 09:23) [2]

Спасибо большое. Все сделал наконец :)
Странно, в яндексе искал, везде говорилось:
sendmessage(handle,wm_syscommand,sc_monitorpower, 0); //выкл
Поэтому оно и не работало.
Спасибо еще раз.



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

Форум: "Система";
Текущий архив: 2003.02.06;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.01 c
14-15908
Cobalt
2003-01-19 22:17
2003.02.06
Обращаюсь ко взрослым:


3-15494
satron
2003-01-20 14:08
2003.02.06
Как не дать


6-15800
RAA
2002-12-15 12:58
2003.02.06
Как считать файл на другом компе по NetBios?


14-15935
Вадим
2003-01-21 05:57
2003.02.06
Кто-нить знает, где народ такую траву берет ?


1-15589
Valeris
2003-01-27 10:30
2003.02.06
Имя пользователя





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский