소년포비의 세계정복!!

C#으로 모니터 제어(on/off) 본문

프로그램 세상/C#

C#으로 모니터 제어(on/off)

소년포비 2009. 10. 7. 07:14

User32.dll에 있는 SendMessage 함수를 이용하여 명령을 보내 모니터를 제어할 수 있다.

선언부


// 모니터 on/Off 관련
const int WM_SYSCOMMAND = 0x0112;
const int SC_MONITORPOWER = 0xF170;
const int MONITOR_ON = -1;
const int MONITOR_OFF = 2;
const int MONITOR_STANBY = 1;

[System.Runtime.InteropServices.DllImport("User32")]
private static extern int SendMessage(int hWnd, int hMsg, int wParam, int lParam); 

 

 

정의부 (전원 끄기)

private void button1_Click(object sender, EventArgs e)
{
   SendMessage(this.Handle.ToInt32(), WM_SYSCOMMAND, SC_MONITORPOWER, MONITOR_OFF); 
}


전원 켜기를 하려면 SendMessage 함수의 마지막 인자에 MONIOR_ON 상수를 넣어주면 될 것이다. (마우스 등을 움직여도 모니터는 켜진다..^^)