How to check with C# where a program is installed

后端 未结 4 1735
一生所求
一生所求 2021-01-12 06:47

I need to check where a program is installed by program name (name that appears in Add or Remove Programs). What is the best way to that so that it\'d work fine for all lang

4条回答
  •  孤独总比滥情好
    2021-01-12 07:08

    You can achieve this using WMI Classes. But the prerequisite is

    • the application and must be running

    below the sample code to do this

     string queryString = 
                    "SELECT Name, ProcessId, Caption, ExecutablePath" + 
                    "  FROM Win32_Process";
    
                SelectQuery query = new SelectQuery(queryString);
                ManagementScope scope = new System.Management.ManagementScope(@"\\.\root\CIMV2");
    
                ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope, query);
                ManagementObjectCollection processes = searcher.Get();
    
    
                foreach(ManagementObject mObj in processes)
                {
                                   var name = mObj ["Name"].ToString();
                                    var ProcessId = Convert.ToInt32(mObj ["ProcessId"]);
                                    var Caption = mObj ["Caption"].ToString();
                                    var Path = mObj ["ExecutablePath"].ToString();
                }
    

提交回复
热议问题