如何获取任务管理器中的应用程序的列表

lwghost 2007-11-05 09:58:57
在C#的环境下去获取任务管理器里的应用程序栏里的列表,请问如何实现!急用!
...全文
1818 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
yiyaoyao58958 2008-04-18
  • 打赏
  • 举报
回复
c#通用


Dim filename As String = "02.xls"
Dim ps() As Process = Process.GetProcesses
Dim p As Process
For i = 0 To ps.Length - 1
p = ps(i)

TextBox1.Text = p.MainWindowTitle & vbCrLf & TextBox1.Text
TextBox2.Text = p.ProcessName& vbCrLf & TextBox2.Text

Next
lwghost 2007-11-07
  • 打赏
  • 举报
回复
zswang
你的这里只是获取进程列表,而不是应用程序里的列表~
lwghost 2007-11-06
  • 打赏
  • 举报
回复
非常感谢bumm,大体上的问题解决了!
王集鹄 2007-11-05
  • 打赏
  • 举报
回复
参考如下代码
using System.Runtime.InteropServices;

private const int MAX_PATH = 260;
private struct PROCESSENTRY32
{
// data members
public uint dwSize;
public uint cntUsage;
public uint th32ProcessID;
public uint th32DefaultHeapID;
public uint th32ModuleID;
public uint cntThreads;
public uint th32ParentProcessID;
public int pcPriClassBase;
public uint dwFlags;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_PATH)]
public byte[] szExeFile;
}

private const int TH32CS_SNAPPROCESS = 0x00000002;
[DllImport("kernel32")]
private static extern IntPtr CreateToolhelp32Snapshot(uint flags, uint processID);
[DllImport("kernel32")]
private static extern bool Process32First(IntPtr handle, ref PROCESSENTRY32 procData);
[DllImport("kernel32")]
private static extern bool Process32Next(IntPtr handle, ref PROCESSENTRY32 procData);
[DllImport("kernel32")]
private static extern bool CloseHandle(IntPtr handle);

private void button1_Click(object sender, EventArgs e)
{
IntPtr vHandle = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
PROCESSENTRY32 vProcessEnter = new PROCESSENTRY32();
vProcessEnter.dwSize = (uint)Marshal.SizeOf(typeof(PROCESSENTRY32));
if (Process32First(vHandle, ref vProcessEnter))
{
do
{
int j = 0;
for (int i = 0; i < vProcessEnter.szExeFile.Length; i++)
if (vProcessEnter.szExeFile[i] == 0)
{
j = i;
break;
}
Console.WriteLine("进程ID:{0},进程文件名:{1}",
vProcessEnter.th32ProcessID,
Encoding.Default.GetString(vProcessEnter.szExeFile, 0, j));
}
while (Process32Next(vHandle, ref vProcessEnter));
}
}
bumm 2007-11-05
  • 打赏
  • 举报
回复
http://www.cnblogs.com/lemony/archive/2007/04/11/708309.html

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧