一个解决游戏突然弹回桌面/失去焦点/闪屏的小工具,含源代码

Ranmaru-avatar

Ranmaru

2014-04-12T16:50:22+00:00

以前深受此问题困扰却愣是不知道是哪个程序在干扰时写的小工具,当时查明是阿里旺旺的自动更新造成,怒删之解决。
最近发现有些别的程序(我就不说是QQ)也偶尔会这样了而且越来越多的人开始问我这个怎么解决,只好掏出这个小工具。

这个小工具运行后会默默的在他自己的小命令行窗口里把前台程序显示出来,每切换一个窗口会显示一行新的。先把它开着放一边玩我们的,等到突然发生失去焦点现象的时候,切回小工具查案发xianc(神了,敲到这时闪了下)现场去,找到那个刚刚抢走你焦点的玩意(截图里的是google更新程序……),该杀就杀,不能杀就躲。
[img]https://img.nga.178.com/attachments/mon_201404/13/334_534972f4f2b63.jpg[/img]

程序下载:[url]http://www.bo3d.net/down/whoareyou.exe[/url] (若访问不能可用迅雷试试)
源码下载:[url]http://www.bo3d.net/down/whoareyou.rar[/url]
源码这里也留一份,怕exe的话自行编译
#include <Windows.h>
#include <wchar.h>
#include <Psapi.h>

#pragma comment(lib, "Psapi.lib")

int main()
{
  HWND last_fore = NULL;
  wchar_t name[MAX_PATH];
  DWORD size = MAX_PATH;

  while(true)
  {
    HWND fore = GetForegroundWindow();
    if (fore != last_fore)
    {
      last_fore = fore;

      DWORD processid;
      GetWindowThreadProcessId(fore, &processid);

      HANDLE process = OpenProcess(PROCESS_QUERY_INFORMATION, NULL, processid);
      

      GetProcessImageFileNameW(process, name, size);

      wprintf(L"%s\n", name);
    }
    Sleep(10);
  }
  return 0;
}

2015-07-02 23:07

(更彻底的解决方案见[url]http://bbs.ngacn.cc/read.php?tid=8238883[/url],除了某些编程不规范软件和360/电脑管家类软件外基本可以解决)
Jordy32-avatar

Jordy32

什么作用?
Advanced Sniper-avatar

Advanced Sniper

好东西,虽然暂时用不到
小傑-avatar

小傑

一般来说,检查一遍计划任务就知道了
ASinglePringle-avatar

ASinglePringle

mark备用
WBG-avatar

WBG

好东西啊,每天开机后必然会出现2次跳出,这下终于可以知道是什么了,下班回家装个试试~
Loreley-avatar

Loreley

mark备份.
Halal Habibi-avatar

Halal Habibi

这个有什么用呢,不太懂唉
Domindy-avatar

Domindy

有点儿意思~
Ceno-avatar

Ceno

太好了~终于有救了
GoobeyGoobs-avatar

GoobeyGoobs

试了下 这个小工具挺省资源的 建议再加上个时间戳比较好
很方便就能定位进程文件的位置 对付一些莫名其妙的弹窗很方便
Heyitsthatbrat-avatar

Heyitsthatbrat

多谢楼主。
我每天第一次打tianqi之类的词(包括tianq、tq,反正只要列表能出现"天气"就会)就会失去焦点(留下打一半的拼音),刚才试着看了下,显示的是\Device\HarddiskVolume1\Windows\explorer.exe, 是不是病毒呢?因为正常的explorer.exe应该是位于..\Windows或..\windows\system32\dllcache下的。
还是说实际上没显示出哪个进程在作怪呢,因为我点击文件夹也会显示这个路径,看起来又好像是普通的资源管理器。

搜索下来没找到这个路径,忽然醒悟过来,HarddiskVolume1其实是指第一个硬盘吧,也就是路径就是..\Windows……那是不是没得救……
nike ligger-avatar

nike ligger

原理很简单,而且自己速度要快。。
Ranmaru-avatar

Ranmaru

如果确定是是Explorer.exe,则是里面的加载项,这个的确挺难办的,得用其他工具去查里面到底都有啥加载项然后逐个排除,试试Autoruns查下。
colourwolf-avatar

colourwolf

下班回去试一下,最近很烦魔兽玩了半个小时就自动最小化,排除了很多程序还是一样。多谢楼主。
ISLA-avatar

ISLA

已收藏,谢谢楼主,
经常失去焦点, 的确很烦人.
- Ragnar --avatar

- Ragnar -

很好用,终于找到是因为应用宝导致我玩war3一直弹出来了
vSilly-avatar

vSilly

我一直在烦恼这个问题。。。闪的难受
虽然开机开了段时间会好
colourwolf-avatar

colourwolf

Reply to [pid=129350142,6997752,1]Reply[/pid] Post by [uid=161343]鲸歌[/uid] (2014-04-14 12:00)
检查过了,最小化的原因居然是图片屏幕保护程序,关闭后目前2个小时都ok。 继续观察中。
xmoav-avatar

xmoav

这个是好东西 现在流氓软件太多了 动不动就打扰你游戏什么的 烦死个人,。
楼主给你一张好人卡。