社区
C#
帖子详情
获取任务栏上程序运行个数
B_S
2007-09-04 11:25:51
例如:打开一个Excel程序,新建了很多的文档,Book1,Book2,Book3,Book4....
在任务栏上也会显示出Book1,Book2,Book3,Book4....
我怎么能获取有多少个Book文档存在任务栏上呢?
...全文
206
7
打赏
收藏
获取任务栏上程序运行个数
例如:打开一个Excel程序,新建了很多的文档,Book1,Book2,Book3,Book4.... 在任务栏上也会显示出Book1,Book2,Book3,Book4.... 我怎么能获取有多少个Book文档存在任务栏上呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
bigeyescat
2007-09-04
打赏
举报
回复
强! 学习
mlhy20060406
2007-09-04
打赏
举报
回复
up
懒牛科技
2007-09-04
打赏
举报
回复
学习
hm7921936
2007-09-04
打赏
举报
回复
up and mark
symbol441
2007-09-04
打赏
举报
回复
mark
best8625
2007-09-04
打赏
举报
回复
帮Up一下
王集鹄
2007-09-04
打赏
举报
回复
参考如下代码
using System.Runtime.InteropServices;
[DllImport("user32.DLL")]
public static extern int SendMessage(IntPtr hWnd, uint Msg, int wParam, int lParam);
[DllImport("user32.DLL")]
public static extern IntPtr FindWindow(string lpszClass, string lpszWindow);
[DllImport("user32.DLL")]
public static extern IntPtr FindWindowEx(IntPtr hwndParent,
IntPtr hwndChildAfter, string lpszClass, string lpszWindow);
[DllImport("user32.dll")]
public static extern uint GetWindowThreadProcessId(IntPtr hWnd,
out uint dwProcessId);
public const uint PROCESS_VM_OPERATION = 0x0008;
public const uint PROCESS_VM_READ = 0x0010;
public const uint PROCESS_VM_WRITE = 0x0020;
[DllImport("kernel32.dll")]
public static extern IntPtr OpenProcess(uint dwDesiredAccess,
bool bInheritHandle, uint dwProcessId);
public const uint MEM_COMMIT = 0x1000;
public const uint MEM_RELEASE = 0x8000;
public const uint MEM_RESERVE = 0x2000;
public const uint PAGE_READWRITE = 4;
[DllImport("kernel32.dll")]
public static extern IntPtr VirtualAllocEx(IntPtr hProcess, IntPtr lpAddress,
uint dwSize, uint flAllocationType, uint flProtect);
[DllImport("kernel32.dll")]
public static extern bool VirtualFreeEx(IntPtr hProcess, IntPtr lpAddress,
uint dwSize, uint dwFreeType);
[DllImport("kernel32.dll")]
public static extern bool CloseHandle(IntPtr handle);
[DllImport("kernel32.dll")]
public static extern bool ReadProcessMemory(IntPtr hProcess, IntPtr lpBaseAddress,
IntPtr lpBuffer, int nSize, ref uint vNumberOfBytesRead);
public const int WM_USER = 0x0400;
public const int TB_BUTTONCOUNT = WM_USER + 24;
public const int TB_GETBUTTONTEXTW = WM_USER + 75;
private void button1_Click(object sender, EventArgs e)
{
IntPtr vHandle = FindWindow("Shell_TrayWnd", null);
vHandle = FindWindowEx(vHandle, IntPtr.Zero, "ReBarWindow32", null);
vHandle = FindWindowEx(vHandle, IntPtr.Zero, "MSTaskSwWClass", null);
vHandle = FindWindowEx(vHandle, IntPtr.Zero, "ToolbarWindow32", null);
int vCount = SendMessage(vHandle, TB_BUTTONCOUNT, 0, 0);
uint vProcessId;
GetWindowThreadProcessId(vHandle, out vProcessId);
IntPtr vProcess = OpenProcess(PROCESS_VM_OPERATION | PROCESS_VM_READ |
PROCESS_VM_WRITE, false, vProcessId);
IntPtr vPointer = VirtualAllocEx(vProcess, IntPtr.Zero, 0x1000,
MEM_RESERVE | MEM_COMMIT, PAGE_READWRITE);
char[] vBuffer = new char[256];
uint vNumberOfBytesRead = 0;
try
{
for (int i = 0; i < vCount; i++)
{
SendMessage(vHandle, TB_GETBUTTONTEXTW, i, vPointer.ToInt32());
ReadProcessMemory(vProcess, vPointer,
Marshal.UnsafeAddrOfPinnedArrayElement(vBuffer, 0),
vBuffer.Length * sizeof(char), ref vNumberOfBytesRead);
int l = 0;
for (int j = 0; j < vBuffer.Length; j++)
{
if (vBuffer[j] == (char)0)
{
l = j;
break;
}
}
Console.WriteLine(new string(vBuffer, 0, l));
}
}
finally
{
VirtualFreeEx(vProcess, vPointer, 0, MEM_RELEASE);
CloseHandle(vProcess);
}
}
Qt
获取
系统
任务栏
位置以及
任务栏
高度
Qt在windows平台下,
获取
系统的
任务栏
位置以及高度. #include <QDesktopWidget> #include <QApplication> int GetTaskbarInfo() { QDesktopWidget* desktopWidget = QApplication::desktop(); QRect deskRect = desktopWidget->availableGeometry(); QRect screenR
C++ Qt
获取
windows
任务栏
的位置及高度
在客户端应用开发时,有时需要
获取
任务栏
的高度及位置来变换窗口、控件或提示消息的位置,Qt提供了类QDesktopWidget来
获取
窗体相应的信息,例如下面的代码: #include "mainwindow.h" #include "ui_mainwindow.h" #include <QDesktopWidget> #include <QDebug> MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent)
C# winform
程序运行
时
任务栏
显示 隐藏问题;调用可执行程序
任务栏
问题
一、窗体最大化时要屏蔽住
任务栏
: ①选中窗体设置属性FormBorderStyle为none,运行时没有标题栏不能最大化最小化不能关闭 一般不用 ②FormBorderStyle为FixedToolWindow或SizableToolWindow 此时
程序运行
时可以最大最小化 关闭 最大化时能 全屏,覆盖
任务栏
。 ③设置窗体边框的FormBorderStyle属性设置。属性值可以通过枚举类...
MFC中
获取
任务栏
大小
MFC怎么获得当前屏幕大小 你可以这样 HWND hwnd=GetDesktopWindow(); RECT rect; GetClientRect(hwnd,&rect);//可以得到桌面大小 还有就是上面所说的 int nScreenWidth, nScreenHeight; nScreenWidth = GetSystemMetrics(SM_CXSCREEN); nScreenH...
掌握隐藏
任务栏
程序运行
的秘密工具
在现代计算机使用中,隐私保护变得日益重要。程序窗口隐藏工具就是这样一个帮助用户保护隐私的实用工具。这些工具能够使得特定的应用程序在不终止进程的情况下,从系统的
任务栏
和桌面消失,从而防止其他人窥见正在进行的工作或打开的窗口。隐藏工具不仅可以用于个人隐私保护,还能在多任务处理场景中发挥重要作用,帮助用户高效地管理正在运行的程序。在某些情况下,它们甚至可以用于避免注意力分散,例如,在工作时隐藏游戏窗口。本章将介绍程序窗口隐藏工具的基本概念,包括它们的工作原理和使用场景。
C#
111,129
社区成员
642,536
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章