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来实现,需要的朋友可以参考下
C# 捕获USB设备插拔事件 C# 捕获USB设备插拔事件是指在C#程序中捕获USB设备的插拔事件,包括设备的插入和拔出事件。为了捕获这些事件,需要注册系统事件,使用WM_DEVICECHANGE型事件,并在WndProc中处理这些事件。 ...
jquery捕获鼠标事件提示
C#钩子程序 几乎捕获键盘鼠标所有事件,仅供学习
参考论坛中描述实现vc 捕获ppt事件
捕获网页关闭事件捕获网页关闭事件捕获网页关闭事件捕获网页关闭事件
C# Winform在MDI中打开一个子窗体关闭上一个子窗体
能在窗口不是活动状态下捕获键盘事件
ie事件捕获控件,监视浏览器到程序,ie打开窗口 提前截获 组织打开弹出窗口
Windows 窗体中的鼠标捕获是指捕获鼠标事件。 26. Windows 窗体中的拖放功能 Windows 窗体中的拖放功能是指用户可以拖动控件来更改其位置和大小。 27. 如何:在代码中模拟鼠标和键盘事件 可以使用代码来模拟鼠标...
在C#的WebBrowse控件中捕获 MouseClick 或 MouseDown事件的方法。
传统事件捕获和冒泡的流程解析
易语言源码易语言捕获窗口事件源码.rar 易语言源码易语言捕获窗口事件源码.rar 易语言源码易语言捕获窗口事件源码.rar 易语言源码易语言捕获窗口事件源码.rar 易语言源码易语言捕获窗口事件源码.rar 易语言源码...
CaptureIEEvent(浏览器事件捕获控件测试程序)
并不是所有的事件都有冒泡现象,比如如下几个:blur事件 ,focus事件, load事件 2、事件委托:事件捕获恰好与事件冒泡相反,它从顶层祖先元素开始,直到事件触发元素。 js事件捕获一般通过DOM2事件模型...