C# 应用程序强制获取焦点

这篇具有很好参考价值的文章主要介绍了C# 应用程序强制获取焦点。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Windorm和WPF等应用程序想自己获取焦点焦点那是不可能的,只能通过系统的API来实现

[System.Runtime.InteropServices.DllImport("user32.dll", CharSet = System.Runtime.InteropServices.CharSet.Auto, ExactSpelling = true)]
public static extern IntPtr GetForegroundWindow();  //获得当前活动窗体的句柄

[System.Runtime.InteropServices.DllImport("user32.dll", EntryPoint = "SetForegroundWindow")]
public static extern bool SetForegroundWindow(IntPtr hWnd);//设置此窗体句柄的窗体为活动窗体

上面第一个函数获取的是当前窗体的句柄,  如果窗体应用要获取自己的句柄的话就使用下面的方法获取

private IntPtr ptr;

ptr = this.Handle;

拿到句柄的话我们就可以使用SetForegroundWindow将窗体设置为前台应用

这可以能还不够,等它失去焦点的时候我们让它重新获取焦点文章来源地址https://www.toymoban.com/news/detail-659474.html

// 添加焦点丢失监听
LostFocus += OnLostFocus;

private void OnLostFocus(object sender, EventArgs e)
{
	new Thread(new ThreadStart(delegate {
		Thread.Sleep(1000);
		if(TopMost)
			SetForegroundWindow(ptr);
	})).Start();
}

到了这里,关于C# 应用程序强制获取焦点的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C#学习教程12——Windows窗体应用程序

    WinForm 是 Windows Form 的简称,是基于 .NET Framework 平台的客户端(PC软件)开发技术,一般使用C#编程。Windows应用程序与Windows操作系统的界面类似,每个界面都是由窗体构成的,并且能通过鼠标单击、键盘输入等操作完成相应的功能。 在Visual Studio 2019软件中,点击创建新项目。

    2024年02月03日
    浏览(83)
  • .net-----Windows 窗体应用程序包括控件,对话框,多重窗体,绘制图形,菜单和工具栏

    Windows窗体应用程序概述;  使用Visual Studio开发Windows窗体应用程序;  窗体和控件概述;  使用常用Windows窗体控件;  通用对话框;  菜单和工具栏;  多重窗体;  多文档界面;  绘制图形 Windows窗体应用程序是运行在用户计算机本地的基于Windows的应用程序,

    2024年02月04日
    浏览(65)
  • C#实例:多功能Windows窗体应用程序Helloworld_WinForm

    有了创建一个Windows窗体应用程序的经验,就可以开始尝试运用更多的控件实现更多丰富的功能界面。以下分享我基于项目Helloworld_WinForm 使用常用C#Windows窗体控件 实现一些小功能。 每一节标题为所用到的控件,全文以实际制作过程为序编制。 1、创建窗体Form 项目创建时会默

    2024年02月04日
    浏览(59)
  • C#【自动化测试】对Windows桌面应用程序进行UI自动化测试

    本文简述如何利用appium对Windows桌面应用程序进行UI自动化测试。 所谓UI自动化测试,就是 模拟一个用户,对应用程序的UI进行操作,以完成特定场景的功能性集成测试 。 要对Windows桌面应用程序进行UI自动化测试,目前可选的技术主要是两种: VS自带的CodedUI Test和Appium+WinApp

    2024年01月15日
    浏览(64)
  • C#:如何用VS开启人生中第一个Windows窗体应用程序(Winform)?

    摘要:Windows窗体应用程序(Winform,下文以此指代)既能有效、直观地设计Windows窗体界面,又支持内部逻辑的编写。那么,对于C#初学者来说,如何开启第一个Winform程序呢?    编程语言:C# 编程环境:Visual Studio 2019 目录 步骤 每篇寄语         1、点击桌面Visual Studio 2019图

    2024年02月09日
    浏览(58)
  • C# Asp.Net6 MVC,Log4net NLog 日志插件应用 及Windows、Liux环境下程序发布

    connected Services 服务依赖(第三方) Properties 文件下 launchSettings.json 项目启动配置文件 wwwroad 存放静态文件 依赖项 管理Nuget程序包 appsettings.json 配置文件 C 业务逻辑运算–调用其他的服务做业务逻辑 M 实体对象,保存数据,数据传输 V 视图,表现层 第一步:寻找log4net 程序包

    2024年02月14日
    浏览(52)
  • WPF嵌入外部exe应用程序-使用Winfom控件承载外部程序

    首先要解决在WPF中如何使用Winfom控件的问题,官方对此有支持的方式。 在引用管理器中添加winfrom相关的程序集 System.Windows.Forms 和 WindowsFormsIntegration 。 然后使用winform的控件,得在外面套一层WindowsFormsHost(好像添加了WindowsFormsIntegration,不使用wfi:也能使用) 这样就可以在WPF中使

    2024年02月17日
    浏览(66)
  • C# 记事本应用程序

    2024年02月10日
    浏览(49)
  • C#桌面应用程序开发的学习路线

    C#桌面应用程序开发的学习路线。以下是一个基本的学习路线,供你参考: 1. C#基础 学习C#的基本语法和面向对象编程(OOP)的概念 了解C#的数据类型、变量和常量 学习控制结构(如条件语句、循环语句)和函数 2. .NET框架和Windows Forms 了解.NET框架的基本概念和架构 学习使用

    2024年02月10日
    浏览(43)
  • 【C#】通过C#代码创建IIS应用程序池和网站

    代码 参考了其他人的代码,做了一些优化,很多代码用不上 例子 参考 自写C#添加网站应用程序池虚拟目录实现网站管理 » 江湖人士 使用命令行在 Windows 11 上启用 IIS Web 服务器-云东方 用C# 代码咋管理IIS呢?_零零妖的博客-CSDN博客 C#IIS网站应用程序池列表添加修改删除 - -

    2024年02月13日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包