zoukankan      html  css  js  c++  java
  • c#实现Form窗体始终在桌面最前端显示

    方法一:

    //调用API
    
    [System.Runtime.InteropServices.DllImport("user32", CharSet = System.Runtime.InteropServices.CharSet.Auto, ExactSpelling = true)]
    
    public static extern IntPtr GetFocus(); //获得本窗体的句柄
    
    [System.Runtime.InteropServices.DllImport("user32", EntryPoint = "SetForegroundWindow")]
    
    public static extern bool SetFocus(IntPtr hWnd);//设置此窗体为活动窗体
    
    
    // 定义变量,句柄类型
    
    public IntPtr han;
    
    private void Form1_Load(object sender, EventArgs e){
    
    //在窗体加载的时候给变量赋值,即将当前窗体的句柄赋给变量
    
    han = this.Handle;
    
    }
    private void timer1_Tick(object sender, EventArgs e){
    
    // 加载一个定时器控件,验证当前WINDOWS句柄是否和本窗体的句柄一样,如果不一样,则激活本窗体
    
    if (han != GetFocus()){
    
    SetFocus(han);
    
    }
    
    this.WindowState = FormWindowState.Normal;
    
    }

    方法二:

    [System.Runtime.InteropServices.DllImport("user32")]
    private static extern IntPtr GetActiveWindow();//获取当前窗体的活动状态
    
    // 判断当前窗口是否处于活动状态的方法
    
    private bool ThisIsActive(){ return (GetActiveWindow() == this.Handle);}
    
    private void timer1_Tick(object sender, EventArgs e){
    
    if (!ThisIsActive()){
    
    this.Activate();
    
    }
    
    this.WindowState = FormWindowState.Normal;
    
    }

    方法三

    [DllImport("user32")]    
    private    static    extern    IntPtr    FindWindow(string    lpClassName,string    lpWindowName);    
         
    [DllImport("user32")]    
    private    static    extern    IntPtr    SetParent(IntPtr    hWndChild,    IntPtr    hWndNewParent);    
         
    //在窗体On_Load事件中添加(Santos的代码):    
    IntPtr    hDeskTop=FindWindow("Progman",    "Program    Manager");    
    SetParent(this.Handle,hDeskTop);
    
    

  • 相关阅读:
    python的with语句
    flask如何实现https以及自定义证书的制作
    flask及扩展源码解读
    加密的那些事
    SQLALchemy如何查询mysql某个区间内的数据
    集群设备之间的资源共享
    pycryptodom的源码安装
    github创建项目,并提交本地文件
    响应头里的"Last-Modified"值是怎么来的?
    SQL2005 数据库——查看索引
  • 原文地址:https://www.cnblogs.com/chenlh/p/3798744.html
Copyright © 2011-2022 走看看