列出任务栏中的所有项目

时间:2012-08-07 14:41:32

标签: vb.net

我想列出Windows任务栏中的所有项目。不是流程名称。

    For Each processname As Process In Process.GetProcesses
        If processname.MainWindowTitle <> "" Then ListBox1.Items.Add(processname.MainWindowTitle)
    Next

以上代码仅列出正在运行的应用程序名称。但我想列出所有项目,包括目录和驱动器。

1 个答案:

答案 0 :(得分:1)

要从进程获取可执行文件的路径,请使用Modules属性 ProcessModule类具有FileName属性,其中包含您要查找的路径。


示例:

For Each processname As Process In Process.GetProcesses
    If processname.MainWindowTitle <> "" Then 
        Console.WriteLine(processname.MainWindowTitle)
        Try
            ' catch win32expection if rights are missing
            Console.WriteLine("--> " & processname.Modules(0).FileName)
        Catch 
        End Try
    End if
Next

<强>输出:

  

...
  LINQPad 4
   - &GT; C:\工具\ LINQPad.exe
  vb.net - 列出任务栏中的所有项目 - Stack Overflow - Google Chrome
   - &GT; C:\用户\ theuser \应用程序数据\本地\谷歌\镀铬\应用\的chrome.exe
  ...