获取任务栏中的应用程序数量

获取任务栏中的应用程序数量,第1张

概述获取任务栏中的应用程序数量

我一直想知道如何做这个年龄。 我正在创build一个小应用程序,我需要弄清楚在Taskbar中显示了多less个应用程序或窗口。

我还没有find任何信息,我会很感激任何帮助。

谢谢 :)

“这个文件来自另一台计算机,可能被阻止,以保护这台计算机。” – 如何以编程方式在C#.net中删除此属性?

在windows中检测文件“copY” *** 作

在Mono上使用system.windows.forms在linux上开发

.net 2.0 windows应用程序需要提升uac权限

最佳文件缓冲区读取大小?

得到所有打开的窗口的标题

如何计算任务pipe理器的内存使用情况?

我如何快速创build大(> 1GB)的文本+二进制文件与“自然”的内容? (C#)

有没有办法来检查用户是否有特定的权利?

如何模拟慢读和慢读磁盘驱动器

正如其他人所说的,你需要使用Win32 Enumwindows函数来枚举窗口,并以这种方式计算。

你也可以使用Process.GetProcesses();来枚举整个进程Process.GetProcesses(); 但是,像浏览器窗口这不是一个单独的进程窗口不会显示在该列表中。

int appCount = 0; public bool Enumeratewindows(IntPtr hwnd,IntPtr lParam) { if (IsWindowVisible(hwnd)) { StringBuilder sb = new StringBuilder(); string text = ""; GetwindowText(hwnd,sb,1024); text = sb.ToString(); if (text != string.Empty && text != "Program Manager") { appCount++; } } return true; } private int GetAppCount() { appCount = 0; Enumwindows(Enumeratewindows,new IntPtr(0)); return appCount; } internal delegate bool EnumThreadwindowsCallback(IntPtr hwnd,IntPtr lParam); [Dllimport("user32.dll",CharSet = CharSet.auto,SetLastError = true)] internal static extern bool Enumwindows(EnumThreadwindowsCallback callback,CharSet = CharSet.auto)] internal static extern bool IsWindowVisible(IntPtr hwnd); [Dllimport("user32.dll",SetLastError = true)] internal static extern int GetwindowText(IntPtr hWnd,[Out,MarshalAs(UnmanagedType.LPTStr)] StringBuilder lpString,int nMaxCount);

这里是一篇文章,展示了如何获得使用ALT + TAB组合键时显示的窗口。

基本上,你将得到与任务栏中显示的窗口相同的窗口(除非它是不显示的工具窗口),但是可以随时检查WS_EX_TOolWINDOW (未显示)和WS_EX_APPWINDOW (显示)。

你可以看看我以前的答案。 这里的主要区别是你只需要计算符合给定要求的窗口。

据我所知,没有管理方式访问任务栏。 这里是描述如何通过windows API访问任务栏的链接 。 但是,我快速扫描没有显示任何“数量”或类似的东西。 不过这可能会让你指向正确的方向。

总结

以上是内存溢出为你收集整理的获取任务栏中的应用程序数量全部内容,希望文章能够帮你解决获取任务栏中的应用程序数量所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

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

原文地址: http://outofmemory.cn/langs/1294371.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-10
下一篇 2022-06-10

发表评论

登录后才能评论

评论列表(0条)

保存