C#当中如何才能判断用户是否处于全屏状态(例如游戏)

问题描述

我想做一个后台热键管理软件,有些按键按下去之后有小窗口的提示,不过要是处于全屏状态的话显示小窗口会导致离开全屏模式来显示小窗口,我想在用户处于全屏时不显示小窗口,如何做到?

解决方案

解决方案二:

解决方案三:
要用API,c#本身办不到首先声明一个结构,API函数要用到[StructLayout(LayoutKind.Sequential)]publicstructRECT{publicintLeft;publicintTop;publicintRight;publicintBottom;}//取得前台窗口句柄函数[DllImport("user32.dll")]privatestaticexternIntPtrGetForegroundWindow();//取得桌面窗口句柄函数[DllImport("user32.dll")]privatestaticexternIntPtrGetDesktopWindow();//取得Shell窗口句柄函数[DllImport("user32.dll")]privatestaticexternIntPtrGetShellWindow();//取得窗口大小函数[DllImport("user32.dll",SetLastError=true)]privatestaticexternintGetWindowRect(IntPtrhwnd,outRECTrc);//桌面窗口句柄privateIntPtrdesktopHandle;//Windowhandleforthedesktop//Shell窗口句柄privateIntPtrshellHandle;//Windowhandlefortheshell因为桌面窗口和Shell窗口也是全屏,要排除在其他全屏程序之外。//取得桌面和Shell窗口句柄desktopHandle=GetDesktopWindow();shellHandle=GetShellWindow();//取得前台窗口句柄并判断是否全屏boolrunningFullScreen=false;RECTappBounds;RectanglescreenBounds;IntPtrhWnd;//取得前台窗口hWnd=GetForegroundWindow();if(hWnd!=null&&!hWnd.Equals(IntPtr.Zero)){//判断是否桌面或shellif(!(hWnd.Equals(desktopHandle)||hWnd.Equals(shellHandle))){//取得窗口大小GetWindowRect(hWnd,outappBounds);//判断是否全屏screenBounds=Screen.FromHandle(hWnd).Bounds;if((appBounds.Bottom-appBounds.Top)==screenBounds.Height&&(appBounds.Right-appBounds.Left)==screenBounds.Width)runningFullScreen=true;}}
解决方案四:
收藏
解决方案五:
但是如果在此之前有一个顶层窗口被显示在上面,那获得的窗体岂不是非全屏?
解决方案六:
可以调用DLL让程序Attach到程序运行的线程,通过任务管理器里面的Applications/Task比如Outlook就Attach到Inbox-MicrosoftOutlook.然后再利用2楼提供的方式就可以了

时间: 2024-09-10 17:00:00

C#当中如何才能判断用户是否处于全屏状态(例如游戏)的相关文章

Android判断当前屏幕是全屏还是非全屏

先来看一个android屏幕全屏实现代码  代码如下 复制代码 @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); getWindow().addFlags(WindowManager.La

微信公众号判断用户是否已关注php代码解析_php实例

现在的活动,很多都引导用户关注公众号,才能参与到活动当中,那如何才能判断用户关注了公众号呢? 本文就为大家提供php代码,解决问题. 官方接口说明 获取用户基本信息(包括UnionID机制)  http://mp.weixin.qq.com/wiki/14/bb5031008f1494a59c6f71fa0f319c66.html 1.只要有基础的access_token和用户openid就可以判断用户是否关注该公众号 2.利用的接口url为:https://api.weixin.qq.com/

微信公众号判断用户是否已关注php代码解析

现在的活动,很多都引导用户关注公众号,才能参与到活动当中,那如何才能判断用户关注了公众号呢? 本文就为大家提供php代码,解决问题. 官方接口说明 获取用户基本信息(包括UnionID机制) http://mp.weixin.qq.com/wiki/14/bb5031008f1494a59c6f71fa0f319c66.html 1.只要有基础的access_token和用户openid就可以判断用户是否关注该公众号 2.利用的接口url为:https://api.weixin.qq.com/c

如何判断用户是否绕开登录直接访问系统内页面

问题描述 描述:系统的用户是政府的工地巡查人员,用的是平板插手机卡上网的方式登录系统.因为信号不稳定,原来的Session保存登录身份信息的方式不行,Session经常会断开,会让用户重新登录.所以把登录帐号保存在Cookie中,通过Cookie中记录的帐号来判断用户具有哪些权限,能访问哪些页面.但是有一个问题,如果用户点击[退出系统]按钮,我可以注销帐号,是Cookie过期,这样,别人就不能通过直接在地址栏中输入某个确定的页面Url来访问我的网页,只能重新登录.但是如果用户是点击浏览器右上角的

Struts2重新学习之自定义拦截器(判断用户是否是登录状态)

拦截器 一:1:概念:Interceptor拦截器类似于我们学习过的过滤器,是可以再action执行前后执行的代码.是web开发时,常用的技术.比如,权限控制,日志记录. 2:多个拦截器Interceptor连在一起组成了Interceptor栈.拦截器是AOP面向切面编程的一种实现,具有热插拔的效应. 3:Struts2拦截器,每个拦截器类只有一个对象实例,即采用了单利模式.所有引用这个拦截器的action都共享着一拦截器类的实例.   拦截器和过滤器的区别 1:拦截器和过滤器的概念非常类似

如何判断用户喜欢搜索什么样的文章

这是第3次来A5和大家学习交流,前几次来A5学了不少东西,在这里先感谢一下A5提供这个学习交流的平台,今天主要和大家交流一下seo如何判断用户喜欢搜索什么样的文章这个话题.我们大家都知道,如果你做的词或者是你写的文章,不符合用户常规搜索的词,做上来了,而且排在百度第一位,也没有点击,肯定就没有达到seo的效果,没有带来真正的量. 用户习惯性搜索的词也就是一些引导性的文章是,当然了也叫长尾关键词,用户通过你这篇文章的标题搜索进你网站,看了这篇文章之后, 在不由自主的点击商务通,然后迫切的想在线咨询

窗口隐藏-c# winform 如何判断窗口是否处于隐藏状态?

问题描述 c# winform 如何判断窗口是否处于隐藏状态? 应用场景是这样的:多个窗口实例化之后个别执行了Hide方法怎么才能知道具体是哪些窗口被隐藏呢,开始以为用WindowState结果发现FormWindowState并不包含Hide.最后我通过改全局变量的方法间接获取,有没有更直接点的办法? 解决方案 this.Visible == true;

求助:C#控制台应用程序中,如何即时地判断用户的键盘按键

问题描述 问题如题.其中的"即时"是说程序可以检测并判断用户所有的键盘按键.在这先谢过各位的解答.如果我的解释不够清晰的话,那么您可以看一下下面这个例子:有这样一个简单的题目:从键盘输入一串字符,编写程序,去掉其中重复的字符(保留重复字符的第一个),然后将结果显示在屏幕中.这个题目的基本要求实现之后,我想让用户可以重复进行这一操作:输入一个字符串,然后输出处理后的字符串:然后继续输入--而不需要再次运行程序.那么可以把用户输入.处理方法和输出的代码放到一个循环中,循环的条件是某个键盘按

php判断用户是否关注微信公众号_php实例

最近要做一个微信平台的投票活动,需要在关注公众号之后才能参与投票,那么,如何判断用户是否关注了公众号呢? 第一想法是,通过获取公众号的关注列表,然后搜索列表中是否有参与者的openid. 但是马上发现一个问题,就是这种方法需要每次都要获取一下关注列表,而且,当公众号的粉丝比较多时,这种方法就比较吃力了. 下面使用php方法,判断用户是否关注了公众号: <?php $access_token = "https://api.weixin.qq.com/cgi-bin/token?grant_t