using System.Runtime.InteropServices;
[DllImport("user32.dll")]
public static extern bool GetClassName(IntPtr hWnd,
StringBuilder lpClassName, int nMaxCount);
public delegate bool WNDENUMPROC(IntPtr hwnd, int lParam);
[DllImport("user32.dll")]
public static extern int EnumWindows(WNDENUMPROC lpEnumFunc, int lParam);
[DllImport("user32.dll")]
public static extern uint GetWindowThreadProcessId(IntPtr hWnd,
out uint dwProcessId);
[DllImport("kernel32.dll")]
public static extern uint GetCurrentProcessId();
public class SubWindow : NativeWindow
{
protected override void WndProc(ref Message m)
{
const int WM_SHOWWINDOW = 0x0018;
switch (m.Msg)
{
case WM_SHOWWINDOW:
if (m.LParam == IntPtr.Zero)
Console.WriteLine("隐藏");
break;
}
base.WndProc(ref m);
}
}
public static bool EnumFunc(IntPtr hwnd, int lParam)
{
uint vProcessID;
GetWindowThreadProcessId(hwnd, out vProcessID);
if (vProcessID != GetCurrentProcessId()) return true;
StringBuilder vStringBuilder = new StringBuilder(255);
GetClassName(hwnd, vStringBuilder, vStringBuilder.Capacity);
if (vStringBuilder.ToString().IndexOf("tooltips_class32") > 0)
{
Console.WriteLine(vStringBuilder.ToString());
new SubWindow().AssignHandle(hwnd);
return false;
}
else return true;
}
private void Form1_Load(object sender, EventArgs e)
{
EnumWindows(EnumFunc, 0);
}
分享到:
相关推荐
文件只是几句JS代码,看了就明白。直接把这个方法放到JS中就OK了。
可以利用C#来捕获Windows的关机事件,里面有详细的代码
1、Qt捕获Opencv窗体cv::imshow并加载到界面 2、使用OpenCV、RTSP打开摄像头 3、适合初学者,涉及到Hand句柄基础知识,请自行查找 4、本人使用Qt5.10.0、vs2015、opencv3.4.3,必须在运行根目录添加opencv动态库或将...
QT实时捕获鼠标及键盘事件 实时显示当前鼠标的状态以及坐标 实时捕获键盘按键
js捕获后台事件js捕获后台事件js捕获后台事件js捕获后台事件js捕获后台事件js捕获后台事件js捕获后台事件
主要介绍了C# Winform实现捕获窗体最小化、最大化、关闭按钮事件的方法,可通过重写WndProc来实现,需要的朋友可以参考下
jquery捕获鼠标事件提示
C#钩子程序 几乎捕获键盘鼠标所有事件,仅供学习
参考论坛中描述实现vc 捕获ppt事件
捕获网页关闭事件捕获网页关闭事件捕获网页关闭事件捕获网页关闭事件
C# Winform在MDI中打开一个子窗体关闭上一个子窗体
C# 捕获USB设备插拔事件
ie事件捕获控件,监视浏览器到程序,ie打开窗口 提前截获 组织打开弹出窗口
在C#的WebBrowse控件中捕获 MouseClick 或 MouseDown事件的方法。
传统事件捕获和冒泡的流程解析
易语言源码易语言捕获窗口事件源码.rar 易语言源码易语言捕获窗口事件源码.rar 易语言源码易语言捕获窗口事件源码.rar 易语言源码易语言捕获窗口事件源码.rar 易语言源码易语言捕获窗口事件源码.rar 易语言源码...
CaptureIEEvent(浏览器事件捕获控件测试程序)
并不是所有的事件都有冒泡现象,比如如下几个:blur事件 ,focus事件, load事件 2、事件委托:事件捕获恰好与事件冒泡相反,它从顶层祖先元素开始,直到事件触发元素。 js事件捕获一般通过DOM2事件模型...
事件冒泡、事件捕获和事件委托 在javascript里,事件委托是很重要的一个东西,事件委托依靠的就是事件冒泡和捕获的机制,我先来解释一下事件冒泡和事件捕获: 事件冒泡会从当前触发的事件目标一级一级往上传递,...
javascript 中事件冒泡和事件捕获机制的详解 二者作用:描述事件触发时序问题 事件捕获:从document到触发事件的那个节点,即自上而下的去触发事件—由外到内 事件冒泡:自下而上的去触发事件—由内到外 绑定事件...