c#如何获取其他应用程序的启动参数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c#如何获取其他应用程序的启动参数相关的知识,希望对你有一定的参考价值。

c#获取系统所有进程后,如何再取得他的启动参数?
使用任何方法都可以,要代码!!
Process.ProcessStartInfo.Arguments
这个取不到参数,我试过,我查到的是:设置这个参数只对Process.Start()有效
还有其他办法吗?

    static class Program
    
        /// <summary>
        /// 应用程序的主入口点。
        /// </summary>
        [STAThread]
        static void Main(string[] args)
        
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            if (args.Length > 0)
            
                Application.Run(new BgControlForm(args));
            
            else 
            
                Application.Run(new Form1());
            
            
        
    
在此基础上,写一个带参数的form构造函数
BgControlForm  
        public BgControlForm(string[] args)
        
            InitializeComponent();
            MessageBox.Show(args[0]);
        
参考技术A 获取启动参数需要使用Process.ProcessStartInfo.Arguments。不过获取系统所有进程需要具备相关的权限,尤其是Vista下。

foreach( Process p in Process.GetProcesses())

Console.WriteLine(p.ProcessStartInfo.Arguments);
参考技术B 试试这个

using System;
using System.Management;

class Program

static void Main()

SelectQuery selectQuery = new SelectQuery("select * from Win32_Process");
object cmdLine = string.Empty;

using (ManagementObjectSearcher searcher = new ManagementObjectSearcher(selectQuery))

foreach (ManagementObject process in searcher.Get())

cmdLine = process.Properties["CommandLine"].Value;
Console.WriteLine(cmdLine == null ? "-----" : cmdLine);



Console.ReadKey();

本回答被提问者采纳
参考技术C 已经PM你了

以上是关于c#如何获取其他应用程序的启动参数的主要内容,如果未能解决你的问题,请参考以下文章

C# - 如何使用开始参数

C#中的Process怎么启动带参数的url

如何从 C# 应用程序启动 MATLAB GUI?

如何获取表单程序的参数?

C# 一个程序启动另一个程序,ProcessStartInfo.Arguments接收参数

使用参数启动 c# 程序的第二个实例,程序的第一个实例使用该参数