Click here to Skip to main content
Rate this: bad
good
Please Sign up or sign in to vote.
See more: C#
hi,
Access denied error rise while get a path some processes. How I resolve it. Please help me.
This is my code:
foreach (Process p in Process.GetProcesses())
            {
                if (p.MainModule.FileName == "App.exe")
                {
                    string procFile;
                    try
                    {
                        procFile = p.Modules[0].FileName;
                    }
                    catch (Win32Exception)
                    {
                        procFile = "n/a";
                    }
 
                textBox1.Text+=(string.Format("Process {0}: {1}", p.ProcessName, procFile));
                }
            }
Posted 28-Nov-12 5:03am

1 solution

Rate this: bad
good
Please Sign up or sign in to vote.

Solution 1

Some processes run so deep in the operating system that .Net cannot get information about them. This is a security measure, to prevent possibly malicious apps from getting data no app should be allowed to get.
 
Added: Out of curiosity, I ran your code. The second process failed just like you described. I could get ProcessName, HPClientServices, but most of the other properties returned a string value of "Access is denied".
  Permalink  
v2
Comments
neranjan pradeep at 28-Nov-12 11:40am
   
Gregory.Gadow
Thanks...

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
0 OriginalGriff 310
1 Sergey Alexandrovich Kryukov 202
2 Richard MacCutchan 160
3 PhilLenoir 154
4 Sharmanuj 146
0 Sergey Alexandrovich Kryukov 5,999
1 OriginalGriff 5,115
2 CPallini 2,473
3 Richard MacCutchan 1,597
4 Abhinav S 1,505


Advertise | Privacy | Mobile
Web01 | 2.8.140814.1 | Last Updated 28 Nov 2012
Copyright © CodeProject, 1999-2014
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100