2009-08-24 9 views
1

좋아, 나는 여기에 두뇌 방구 방울을 가지고 있고 그것에서 내 길을 찾을 수 없습니다. 내가 성취하고자하는 것은 모든 시작 항목 (응용 프로그램, 프로세스 등)을 나열하고 폼에 표시하는 것입니다 (msconfig.exe를 사용하는 것과 같습니다). 이 코드는 그것을 할 것이라고 생각 :모든 시작 항목 가져 오기?

private List<StartupItems> getStartupItems() 
{ 
    try 
    { 
     ManagementClass cls = new ManagementClass("Win32_StartupCommand"); 
     ManagementObjectCollection coll = cls.GetInstances(); 
     List<StartupItems> items = new List<StartupItems>(); 

     foreach (ManagementObject obj in coll) 
     { 
      items.Add(
       new StartupItems 
       { 
        Command = obj["Command"].ToString(), 
        Description = obj["Description"].ToString(), 
        Name = obj["Name"].ToString(), 
        Location = obj["Location"].ToString(), 
        User = obj["User"].ToString() 
       }); 
     } 
     return items; 
    } 
    catch (Exception ex) 
    { 
     _message = ex.ToString(); 
     _status = false; 
     return null; 
    } 

그러나 얻을 수있는 모든 내 사용자 이름과 활성화 된 것들이다. 내가 얻으려고하는 것은 모든 항목, 내 사용자 이름이나 시스템, 모든 활성화 된 것들 그리고 모든 비활성화 된 것들뿐입니다 (msconfig와 같습니다). 나는 수 많은 검색을했는데 내가 사용하는 것과 다른 것을 찾을 수 없다.

답변

1

레지스트리에서 직접 읽은 것으로 간주 되셨습니까?

한 가지 대안은 백그라운드에서 autorunssc (자동 실행의 명령 줄 버전)을 실행하고 응답을 읽는 것입니다.

관련 문제