使用C#解决部分Win8.1系统窗体每隔几秒失去焦点的问题
使用了Win8.1 With Update 1后,发现重新启动系统后,当前激活的窗体总是每隔几秒失去焦点。过0.5~1秒焦点回来。导致输入无法正常工作,严重影响使用心情和效率。
在网上找了非常久,也没找到对应的解决的方法。大多提供的是关闭计划任务中禁用阿里巴巴的自己主动更新任务(http://www.paopaoche.net/gonglue/21442.html)。
但是这种方法对我来说并无论用,并且那种是1小时执行一次。我的系统是每隔几秒就会出现一次。
忍受了1周,忍无可忍,于是决定自己解决。
窗体失去焦点。无非就是别的窗体将焦点抢占过去,假设能找到是什么程序抢占了窗体焦点,禁用之就能够解决。
由于是解决Windows问题。使用微软自家的C#解决这个问题。
打开VS创建C# Windows应用程序project,使用一个Lable显示信息。一个Timer定时获取当前激活窗体(毫秒级)。而且将信息显示到Lable就可以。当前台窗体焦点改变。从Lable中能够看到当前前台程序。
终于发现,是Broadcom 802.11 Network Adapter Wireless Network Tray Applet抢占了窗体焦点。
网上对其作用解释为:安装在一些使用无线网卡的戴尔计算机上。
它产生一个系统托盘图标,通过它,用户能够直接訪问无线网卡的各种配置功能。
看来没什么作用。将其在任务管理器启动项中禁用,重新启动系统,无线网卡功能正常,问题完美解决。
附上监控程序部分逻辑代码(未使用不论什么编码规范,未加不论什么凝视),窗体代码使用窗体设计器生成就可以。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Runtime.InteropServices; namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
[DllImport("user32.dll", CharSet = CharSet.Auto, ExactSpelling = true)]
public static extern IntPtr GetForegroundWindow();//获取当前激活窗体 [DllImport("user32", SetLastError = true)]
public static extern int GetWindowText(
IntPtr hWnd, //窗体句柄
StringBuilder lpString, //标题
int nMaxCount //最大值
); [DllImport("user32.dll")]
private static extern int GetClassName(
IntPtr hWnd, //句柄
StringBuilder lpString, //类名
int nMaxCount //最大值
); public Form1()
{
InitializeComponent(); timer1.Start();
} private void Form1_Load(object sender, EventArgs e)
{ } private void timer1_Tick(object sender, EventArgs e)
{
IntPtr myPtr = GetForegroundWindow(); // 窗体标题
StringBuilder title = new StringBuilder(255);
GetWindowText(myPtr, title, title.Capacity); // 窗体类名
StringBuilder className = new StringBuilder(256);
GetClassName(myPtr, className, className.Capacity); label1.Text = myPtr.ToString() + "\n" + title.ToString() + "\n" + className.ToString();
}
}
}
使用C#解决部分Win8.1系统窗体每隔几秒失去焦点的问题的更多相关文章
- 使用C#解决部分Win8.1系统窗口每隔几秒失去焦点的问题【转】
使用了Win8.1 With Update 1后,发现重启系统后,当前激活的窗口总是每隔几秒失去焦点,过0.5~1秒焦点回来,导致输入无法正常工作,严重影响使用心情和效率. 在网上找了很久,也没找到相 ...
- 教你一招:解决win10/win8.1系统在安装、卸载软件时出现2502、2503错误代码的问题
经常遇到win10/win8.1系统在安装.卸载软件时出现2502.2503错误代码的问题. 解决办法: 1.打开任务管理器后,切换到“详细信息”选项卡,找到explore.exe这个进程,然后结束进 ...
- VC++6.0在win8.1系统下运行失败的解决办法
在win8.1系统下安装了VC++6,.0编译软件之后,发现打不开.出现下面的错误: 解决办法: 安装文件目录:Microsoft Visual Studio--common--MSDev98--Bi ...
- 在Win8.1系统下如何安装运行SQL Server 2005 (以及安装SQL Server 2005 Express打补丁)
在Win8.1系统下SQL Server 2005 安装失败怎么办? 需要替换两个文件及打sqlserver sp4补丁. 以下是操作过程. 按正常情况,在Win8/Win8.1系统下安装微软的SQL ...
- 在Win8.1系统下如何安装运行SQL Server 2005
按正常情况,在Win8/Win8.1系统下安装微软的SQL Server 2005套件会存在兼容问题,即使安装完,最后的结果就是导致其服务项无法正常启动. 如果用户创建使用的项目非要按照SQL Ser ...
- Mr.Jin系统发布报告——WIN7 WIN8双系统下的学习模式系统
Mr.Jin系统发布报告 本文由Mr.Jin原创发表于博客园.CSDN论坛 http://www.cnblogs.com/CHPowerljp-IT/p/3463850.html ...
- win8.1系统的安装方法详细图解教程
win8.1系统的安装方法详细图解教程 关于win8.1系统的安装其实很简单 但是有的童鞋还不回 所以今天就抽空做了个详细的图解教程, 安装win8.1系统最好用U盘安装,这样最方便简单 而且系统安装 ...
- 预装win8的系统换win7需要做的bios设置
https://zhidao.baidu.com/question/873669708066476212.html (一)联想G50-70由于预装的是WIN8位系统,哪么改装WIN7 64位的方法如下 ...
- 全新重装win8.1系统后 配置开发及办公环境步骤
全新重装win8.1系统后 配置开发及办公环境步骤 这两天,系统因配置开发环境出错,重装了一下,为日后方便,故此记录系统配置流程,防日后重装系统计划不周. 安装前,对照步骤,准备好下列安装文件. 0. ...
随机推荐
- Android2.2源码属性服务分析
属性服务property service 大家都知道,在windows中有个注册表,里面存储的是一些键值对.注册表的作用就是:系统或者应用程序将自己的一些属性存储在注册表中,即使系统或应用程序重启,它 ...
- input标签不能设置height
首先input是内联标签(inline) inline元素设置width.height属性无效 可以通过设置display:inline-block ,则内联标签可以设置width和height,但是 ...
- idea中git分支的使用
转载自 https://blog.csdn.net/qq_34745957/article/details/80288065 工作中多人使用版本控制软件协作开发,常见的应用场景归纳如下: 假设小组中有 ...
- hdu 4870 rating(高斯消元求期望)
Rating Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Sub ...
- 3 月 15 个有意思的 JavaScript 和 CSS 库
Tutorialzine 旨在让你了解最新最酷的 Web 发展趋势.这就是我们每个月为何都会发布一些我们偶然发现并认为值得你关注的优秀资源的原因. BasicScroll https://github ...
- phthon入门介绍
1.基本的python语法 2.python爬虫 3.基本的数据分析 4.做网站 5.做机器学习 1.python简介: Python 是一种解释型语言: 这意味着开发过程中没有了编译这个环节.类似于 ...
- 22深入理解C指针之---通过指针传递函数
一.通过指针传递函数与通过指针传递数据的本质是一样的,区别就是此时的数据是函数指针(函数的开始的地址) 1.定义:通过函数指针将函数传入函数:通过函数返回函数指针实现函数返回函数的目标 2.特征: 1 ...
- Java爬虫系列二:使用HttpClient抓取页面HTML
爬虫要想爬取需要的信息,首先第一步就要抓取到页面html内容,然后对html进行分析,获取想要的内容.上一篇随笔<Java爬虫系列一:写在开始前>中提到了HttpClient可以抓取页面内 ...
- qt使用
1安装qt软件(.run文件) . chmod 777 qt.....run ./qt...run或sudo ./qt...run(安装目录不一样) 2.sudo gedit .bashrc添加以下内 ...
- Codeforces Gym 100338H High Speed Trains 组合数学+dp+高精度
原题链接:http://codeforces.com/gym/100338/attachments/download/2136/20062007-winter-petrozavodsk-camp-an ...