CUWIN 백라이트를 소프트웨어적으로 ON /OFF하는 소스코드입니다.
using System; using System.Linq; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Runtime.InteropServices; namespace CuwinBacklightOnOff { public partial class Form1 : Form { private const int POWER_NAME = 1; private const int POWER_FORCE = 0x00001000; /// <summary> /// "BLK1:" for CUWIN 5000/6000, "BAK1:" for CUWIN 3000/4000 series /// </summary> private const string BACKLIGHT_DEVICE_NAME = "BKL1:"; private enum DevicePowerState : int { Unspecified = -1, D0 = 0, // Full On: full power, full functionality D1, // Low Power On: fully functional at low power/performance D2, // Standby: partially powered with automatic wake D3, // Sleep: partially powered with device initiated wake D4, // Off: unpowered } /// <summary> /// Sets the power state for a device /// </summary> [DllImport("coredll.dll", SetLastError = true)] private static extern int SetDevicePower ( string pvDevice, int dwDeviceFlags, DevicePowerState DeviceState ); /// <summary> /// Turns Backlight On /// </summary> private void TurnBacklightOn() { SetDevicePower(BACKLIGHT_DEVICE_NAME, POWER_NAME, DevicePowerState.D0); } /// <summary> /// Turns Backlight Off /// </summary> private void TurnBacklightOff() { SetDevicePower(BACKLIGHT_DEVICE_NAME, POWER_NAME, DevicePowerState.D4); } public Form1() { InitializeComponent(); } /// <summary> /// On button's Click Event Hander /// </summary> private void OnButton_Click(object sender, EventArgs e) { TurnBacklightOn(); } /// <summary> /// Off button's Click Event Hander /// </summary> private void OffButton_Click(object sender, EventArgs e) { TurnBacklightOff(); } } }