
原因:设置错误导致。解决方法:
1.打开任务管理器的快速方法是右键单击任务栏,从d出菜单中选择并单击“totaskmanager”。
2.在d出的任务管理器对话框中,如图所示,从页面中看不到程序进入的数百个。
3.在标题栏的项目列表中,右键点击鼠标,在d出菜单中,检查PID(程序的进程ID)一个项目。
4.检查后,列表中有一个额外的项,它对应于每个程序的进程ID值。
5.将标签切换到“详细信息”,本页可以查询更详细的程序运行信息,同一页如果没有显示PID列,右键点击列表中的表顶栏,选择“选择列”。
6.在选中的列的d出框中,勾选PID选项就可以了,从图中可以看到,有很多信息是没有勾选的,在这里可以同时勾选多个列并显示在列表中。
7.设置完成后,点击“ok”按钮,可以看到刚才列表中没有的已经显示出来。
Visual Basic是一种由微软公司开发的包含协助开发环境的事件驱动编程语言。
从任何标准来说,VB都是世界上使用人数最多的语言——不仅是盛赞VB的开发者还是抱怨VB的开发者的数量。
源自于BASIC编程语言。VB拥有图形用户界面(GUI)和快速应用程序开发(RAD)系统,可以轻易的使用DAO、RDO、ADO连接数据库,或者轻松的创建ActiveX控件。程序员可以轻松的使用VB提供的组件快速建立一个应用程序。
一个command 一个list。 list中第一个任务管理器,与最后一个Program Manager 过滤不掉 。
如果想过滤的话 可以在窗体中添加一个判断,来移除。
这是获取程序
Process[] ps=Process.GetProcesses()
foreach (Process p in ps)
{
if (p.MainWindowHandle != null)
{
richTextBox1.Text += p.MainWindowTitle + ""
}
}
#region 查找所有应用程序标题 private const int GW_HWNDFIRST = 0
private const int GW_HWNDNEXT = 2
private const int GWL_STYLE = (-16)
private const int WS_VISIBLE = 268435456
private const int WS_BORDER = 8388608
#region AIP声明
[DllImport("IpHlpApi.dll")]
extern static public uint GetIfTable(byte[] pIfTable, ref uint pdwSize, bool bOrder)
[DllImport("User32")]
private extern static int GetWindow(int hWnd, int wCmd)
[DllImport("User32")]
private extern static int GetWindowLongA(int hWnd, int wIndx)
[DllImport("user32.dll")]
private static extern bool GetWindowText(int hWnd, StringBuilder title, int maxBufSize)
[DllImport("user32", CharSet = CharSet.Auto)]
private extern static int GetWindowTextLength(IntPtr hWnd)
#endregion
/// <summary>
/// 查找所有应用程序标题
/// </summary>
/// <returns>应用程序标题范型</returns>
public static List<string>FindAllApps(int Handle)
{
List<string>Apps = new List<string>()
int hwCurr
hwCurr = GetWindow(Handle, GW_HWNDFIRST)
while (hwCurr >0)
{
int IsTask = (WS_VISIBLE | WS_BORDER)
int lngStyle = GetWindowLongA(hwCurr, GWL_STYLE)
bool TaskWindow = ((lngStyle &IsTask) == IsTask)
if (TaskWindow)
{
int length = GetWindowTextLength(new IntPtr(hwCurr))
StringBuilder sb = new StringBuilder(2 * length + 1)
GetWindowText(hwCurr, sb, sb.Capacity)
string strTitle = sb.ToString()
if (!string.IsNullOrEmpty(strTitle))
{
Apps.Add(strTitle)
}
}
hwCurr = GetWindow(hwCurr, GW_HWNDNEXT)
}
return Apps
}
#endregion
调用
private void btReApp_Click(object sender, EventArgs e)
{
LvApp.Items.Clear()
List<string>Apps = SystemInfo.FindAllApps((int)this.Handle)
foreach (string app in Apps)
{
ListViewItem item = new ListViewItem(app)
LvApp.Items.Add(item)
}
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)