当前位置: 首页 > news >正文

【C#】获得所有可见窗口信息

【背景】

由于自己的瘦客户端上的Windows自带截图软件功能被阉割,所以自己写了一个,其中有窗口截图功能,涉及到获得所有可见窗口的信息。

【代码】

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);Rect rcowner = new Rect();//get hwnd wnd.hWnd = hWnd;//judge if visibleif (IsWindowVisible(hWnd) ){//get window rectGetWindowRect(hWnd, ref rcowner);wnd.rc = rcowner;if ((rcowner.Left - rcowner.Right) != 0 && (rcowner.Top - rcowner.Bottom) != 0){//get window name  GetWindowTextW(hWnd, sb, sb.Capacity);wnd.szWindowName = sb.ToString();//get window class GetClassNameW(hWnd, sb, sb.Capacity);wnd.szClassName = sb.ToString();//get window infouint x=0;GetWindow(hWnd, x);//add it into list wndList.Add(wnd);}}return true;}, 0);return wndList.ToArray();}
http://www.lryc.cn/news/215793.html

相关文章:

  • ffmpeg的基本功能介绍
  • QECon大会亮相产品,支持UI自动化测试?RunnerGo
  • Linux开关机相关的命令解析
  • C++二分查找算法的应用:俄罗斯套娃信封问题
  • redis如何保证和mysql数据的一致性
  • SpringBoot整合Redisson,赶紧整起来!
  • 测试Whisper效果
  • Seata 四种事务模式
  • 超好用的IDEA插件推荐,写完代码直接调试接口
  • 发送post请求、携带cookie、响应对象、高级用法
  • JMeter接口测试性能测试
  • MongoDB——MongoDB删除系统自带的local数据库
  • 【LeetCode刷题-链表】--203.移除链表元素
  • Microsoft Dynamics 365 CE 扩展定制 - 3. SDK企业功能
  • 人工智能基础_机器学习016_BGD批量梯度下降求解多元一次方程_使用SGD随机梯度下降计算一元一次方程---人工智能工作笔记0056
  • 硬件测试(二):波形质量
  • PostgreSQL 数据库日志相关参数
  • delete请求,express获取req.body失败
  • 2023年江西省职业院校技能竞赛“网络安全”赛项样题
  • groovy下载与安装
  • Hugging Face LLM部署大语言模型到亚马逊云科技Amazon SageMaker推理示例
  • 内向基环树
  • k8s replicaSet,deployment 学习笔记
  • Zabbix监控原理 安装
  • 我和“云栖大会”的双向奔赴
  • HarmonyOS UI 开发
  • 中国移动发布《新型智慧城市白皮书》(2023版)
  • windows和docker环境下springboot整合gdal3.x
  • 大数据与健康:技术助力医疗卫生事业腾飞
  • 《巴渝小将》少儿电视综艺走进江小白金色黄庄拍摄圆满成功!