2017-06-19 9 views
1

私のプロジェクトの1つでは、自家製のタスクマネージャを現在実行しています。 私のプログラムで他の機能を実装するまでは、すべてうまくいきました。 「System.UriFormatException」をSystem.dllの中でC#のProcessプロパティを持つ未処理の例外

例外スロー:「System.ComponentModel.Win32Exception」をSystem.dllの

に私は

例外がスローされたコメントの中に以下の行を追加すると例外がスローされているとすぐに

System.ComponentModel.Win32Exception(0x80004005が):アクセスと、私はこれを得たIリリースビルドで作られたプログラムの.exeファイルを起動するたびに

あなたがそれらを要求する必要がありますので、あなたは、管理者権限を持たないプロセスリストにアクセスすることはできません

おかげ

foreach (Process p in active_process) 
{ 

    ListViewItem process_list = new ListViewItem(p.ProcessName); 
    p.Refresh(); 
    listView1.Items.Add(process_list); //Add Processes Name in Column 1 
    process_list.SubItems.Add(p.Id.ToString()); //Add Processes ID in Column 2 
    process_list.SubItems.Add(p.WorkingSet64.ToString()); //Add The physical memory used by processes in Column 3 
    //process_list.SubItems.Add(p.PriorityClass.ToString());//Add The priority degree of each processes in Column 4 
    //process_list.SubItems.Add(p.StartTime.ToString()); //Add The time at which each processes started in Column 5    
    process_list.Tag = p; 

} 

答えて

1

を拒否されています。

その後、プログラムがで管理者権限を要求します。この方法は、アプリケーションマニフェストファイルを追加し、この

<requestedExecutionLevel level="requireAdministrator" uiAccess="false" /> 

へのrequestedExecutionLevelを変更するプロジェクトを右クリックして、プログラムを管理者として実行してくださいHow to request administrator permissions when the program starts?

+0

私はそれをやりましたが、それは同じことを続けており、マニフェストもプロジェクト/プロパティ/アプリケーションウィンドウにリンクされていることがわかりました – jj0978

1

を参照してください。最初は