퇴근5분전

 

// process 경로 읽어오기.

http://stackoverflow.com/questions/5497064/c-how-to-get-the-full-path-of-running-process 

 

System.Management   참조.

 
        static private string ProcessExecutablePath(Process process)
        {
            try
            {
                return process.MainModule.FileName;
            }
            catch
            {
                string query = "SELECT ExecutablePath, ProcessID FROM Win32_Process";
                ManagementObjectSearcher searcher = new ManagementObjectSearcher(query);

                foreach (ManagementObject item in searcher.Get())
                {
                    object id = item["ProcessID"];
                    object path = item["ExecutablePath"];

                    if (path != null && id.ToString() == process.Id.ToString())
                    {
                        return path.ToString();
                    }
                }
            }

            return "";
        }

 

64bit 머신에서 메모장(32bit)을 읽어오려고 확인해봤더니

 

원래 알던 Proecess.StartInfo.fileName.. 이라든가 Module에서 정보를 확인해보려고 했지만...

32bit 모듈은 알수 없다는 디버깅 정보가 표시되서 확인이 안되었다.

위에 소스는 찾은 결과...

'# 1) 프로그래밍' 카테고리의 다른 글

ExtJs > ExtNet 변환 툴!!!  (0) 2014.07.10
Directory.Create 관련...  (0) 2014.06.09
가장 가까운 점 구하기  (0) 2014.02.08
한글분해_결합, 오토마타...  (0) 2014.01.30
달력 컨트롤] 새로 만든 달력!!!  (0) 2014.01.26