易语言 如何获取当前窗口句柄

易语言 如何获取当前窗口句柄,第1张

调用格式: 〈整数型〉 对象.取窗口句柄 () - 系统核心支持库->窗口

英文名称: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如何遍历所有窗口句柄、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9479983.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-28
下一篇2023-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存