
调用格式: 〈整数型〉 对象.取窗口句柄 () - 系统核心支持库->窗口
英文名称:GetHWnd
取出本窗口或窗口组件的窗口句柄(即HWND)。本命令为高级对象成员命令。
*** 作系统需求: Windows
调用格式: 〈整数型〉 取鼠标所在窗口句柄 () - 应用接口支持库->窗口 *** 作
英文名称:GetHwndFromPoint
取鼠标所在窗口句柄。本命令为初级命令。
*** 作系统需求: Windows
using System;
using SystemRuntimeInteropServices;
using SystemText;
using SystemCollectionsGeneric;
class CSharpAPIsDemo
{
private delegate bool WNDENUMPROC(IntPtr hWnd, int lParam);
[DllImport("user32dll")]
private static extern bool EnumWindows(WNDENUMPROC lpEnumFunc, int lParam);
//[DllImport("user32dll")]
//private static extern IntPtr FindWindowW(string lpClassName, string lpWindowName);
[DllImport("user32dll")]
private static extern int GetWindowTextW(IntPtr hWnd, [MarshalAs(UnmanagedTypeLPWStr)]StringBuilder lpString, int nMaxCount);
[DllImport("user32dll")]
private static extern int GetClassNameW(IntPtr hWnd, [MarshalAs(UnmanagedTypeLPWStr)]StringBuilder lpString, int nMaxCount);
public struct WindowInfo
{
public IntPtr hWnd;
public string szWindowName;
public string szClassName;
}
public WindowInfo[] GetAllDesktopWindows()
{
List<WindowInfo> wndList = new List<WindowInfo>();
//enum all desktop windows
EnumWindows(delegate(IntPtr hWnd, int lParam)
{
WindowInfo wnd = new WindowInfo();
StringBuilder sb = new StringBuilder(256);
//get hwnd
wndhWnd = hWnd;
//get window name
GetWindowTextW(hWnd, sb, sbCapacity);
wndszWindowName = sbToString();
//get window class
GetClassNameW(hWnd, sb, sbCapacity);
wndszClassName = sbToString();
//add it into list
wndListAdd(wnd);
return true;
}, 0);
return wndListToArray();
}
}
比较简单,如果有不明白可以消息我。
以上就是关于易语言 如何获取当前窗口句柄全部的内容,包括:易语言 如何获取当前窗口句柄、C#用API如何遍历所有窗口句柄、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)