Microsoft/Windows2009. 4. 15. 11:39
VC++ 6.0 기준으로 사용가능한 방법은 아직 찾지 못했다.
리눅스에서는 ps -ef 하면 실행시의 옵션항목(아규먼트)들이 같이 표기 되는데
윈도우에서는 프로그램 이름만 보이게 되어서, 어떠한 옵션으로 실행이 되었는지 궁금해질때가 있다.

그래서 검색을 해보니 .net framework에서는 process 클래스에 startinfo 라는 항목이 존재한다.
이것을 사용하면 argument를 알아 올수 있겠지만, 난 .net을 싫어하는 관계로.. 다른 방법을 찾아 봐야겠다.

using System; 
using System.Diagnostics; 

namespace ProcessArgsTest 
{ 
  class Test 
  { 
    static void Main()  
    { 
      Process [] localAll = Process.GetProcesses(); 
      foreach (Process p in localAll) 
      {   
        if (p.ProcessName == "notepad") 
        { 
          Console.WriteLine(p.ProcessName + " [" + p.StartInfo.Arguments + "]"); 
        } 
      } 
    } 
  } 
} 


[발견 : http://social.msdn.microsoft.com/Forums/en-US/netfxbcl/thread/669eeaeb-e6fa-403b-86fd-302b24c569fb/]
[process.GetProcesses method : http://msdn.microsoft.com/en-us/library/1f3ys1f9.aspx]
[process.StartInfo method : http://msdn.microsoft.com/en-us/library/system.diagnostics.process.startinfo.aspx]
Posted by 구차니