03/08/2019, 11:01

[C#] Viết ứng dụng cấu hình màn hình luôn sáng (Screen Always On)

Xin chào các bạn, bài viết hôm nay mình xin hướng dẫn các bạn cách viết ứng dụng luôn sáng màn hình ( Screen Always On C# ). Trong hệ điều hành windows, các bạn có thể cấu hình setting Power Options, để chỉnh thời gian tắt màn hình. VD: Sau 5 phút, nếu chúng ...

Xin chào các bạn, bài viết hôm nay mình xin hướng dẫn các bạn cách viết ứng dụng luôn sáng màn hình (Screen Always On C#).

Trong hệ điều hành windows, các bạn có thể cấu hình setting Power Options, để chỉnh thời gian tắt màn hình.

VD: Sau 5 phút, nếu chúng ta không làm việc thì màn hình máy tính sẽ tự động off (tắt màn hình).

Và với mỗi máy, khi chúng ta chạy ứng dụng thì người dùng sẽ cấu hình Power Options khác nhau.

Mục đích của bài viết này, là làm sao khi ứng dụng chúng ta đang chạy thì màn hình sẽ không bao giờ tắt (Screen Always On).

power_option

Source code Screen Always On C#:

using System;
using System.Runtime.InteropServices;
using System.Windows.Forms;
 
namespace ScreenAlwaysOn
{
    static class Program
    {
        [DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)]
        static extern EXECUTION_STATE SetThreadExecutionState(EXECUTION_STATE esFlags);
 
        [FlagsAttribute]
        public enum EXECUTION_STATE : uint
        {
            ES_AWAYMODE_REQUIRED = 0x00000040,
            ES_CONTINUOUS = 0x80000000,
            ES_DISPLAY_REQUIRED = 0x00000002,
            ES_SYSTEM_REQUIRED = 0x00000001
        }
        
        static NotifyIcon tIcon = new NotifyIcon();
 
        [STAThread]
        static void Main()
        {
            SetThreadExecutionState(EXECUTION_STATE.ES_CONTINUOUS | EXECUTION_STATE.ES_DISPLAY_REQUIRED);
 
            ContextMenu menu = new ContextMenu();
            menu.MenuItems.Add("Exit", delegate { Application.Exit(); });
            tIcon.Icon = Properties.Resources.monitor;
            tIcon.Text = "Screen Always On";
            tIcon.ContextMenu = menu;
            tIcon.Visible = true;
 
            Application.ApplicationExit += Application_ApplicationExit;
            Application.Run();
        }
 
        static void Application_ApplicationExit(object sender, EventArgs e)
        {
            tIcon.Dispose();
        }
    }
}

Thanks for watching!

Tags: screen always on c#tắt màn hình c#
0