久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Winform 護(hù)眼模式實(shí)現(xiàn)

 Csharp小記 2023-10-29 發(fā)布于江蘇

前言

    第一次接觸所謂的護(hù)眼模式,,還是在做安卓腳本的時(shí)候看到別人再聊這個(gè)東西,后面一研究發(fā)現(xiàn),其實(shí)就是在屏幕上做一個(gè)半透明的,、可穿透點(diǎn)擊的懸浮窗,正好因?yàn)樽罱鼘懥藘善P(guān)于窗體,、控件的透明實(shí)現(xiàn),,所以也用Winform窗體來簡(jiǎn)單實(shí)現(xiàn)一下。







開發(fā)環(huán)境:.NET Framework版本:4.8

開發(fā)工具:Visual Studio 2022

 









實(shí)現(xiàn)步驟

  1. 本功能主要使用到了兩個(gè)Win Api函數(shù):SetWindowLongGetWindowLong,,用來實(shí)現(xiàn)穿透點(diǎn)擊
private const uint WS_EX_LAYERED = 0x80000; private const int WS_EX_TRANSPARENT = 0x20; private const int GWL_EXSTYLE = (-20);
[DllImport("user32", EntryPoint = "SetWindowLong")] private static extern uint SetWindowLong(IntPtr hwnd, int nIndex, uint dwNewLong);
[DllImport("user32", EntryPoint = "GetWindowLong")] private static extern uint GetWindowLong(IntPtr hwnd, int nIndex);

  1. 然后在Form1_Load事件中做以下處理,,設(shè)置背景色以及透明度(既然說是護(hù)眼,那肯定得綠色了),。然后這里如果不考慮任務(wù)欄的話,,可以直接采用窗體最大化,考慮任務(wù)欄或者多屏的情況下,,就設(shè)置窗體的Size屬性,。
private void Form1_Load(object sender, EventArgs e) { FormBorderStyle = FormBorderStyle.None; // WindowState = FormWindowState.Maximized; Location = new Point(0, 0); Size = Screen.PrimaryScreen.Bounds.Size;

BackColor = Color.Green; Opacity = 0.3;
ShowInTaskbar = false; TopMost = true;
GetWindowLong(this.Handle, GWL_EXSTYLE); SetWindowLong(this.Handle, GWL_EXSTYLE, WS_EX_TRANSPARENT | WS_EX_LAYERED);
}
最后,關(guān)于Windows Api函數(shù)的官方說明文檔我也上傳了一份,,可以點(diǎn)擊文末的小程序下載
 

實(shí)現(xiàn)效果

 


???點(diǎn)擊此處下載源碼???



    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多