代码之家  ›  专栏  ›  技术社区  ›  Eduardo Cobuci

的安全性和UAC。网

  •  1
  • Eduardo Cobuci  · 技术社区  · 16 年前

    我的WindowsForms应用程序需要访问Internet,但当我尝试打开WebRequest时,应用程序崩溃。我注意到,当我从一个简单的文件夹(例如“我的文档”)运行应用程序时,它可以工作,但如果我从“程序文件”文件夹运行,它就不能工作。

    是否有任何方法可以在没有UAC权限提升的情况下(使用清单)从“程序文件”打开WebResquest?

    2 回复  |  直到 16 年前
        1
  •  1
  •   Rich    13 年前

    如果你的应用程序是从Program Files下的文件夹运行的,而你试图写入它所在的目录,则可能会失败。Program Files文件夹是需要UAC进行写入的地方之一(我认为)。

        2
  •  1
  •   Badaro    16 年前

    WebRequest req = WebRequest.Create("http://www.google.com");
    using(WebResponse resp = req.GetResponse())
    {
        using(Stream str = resp.GetResponseStream())
        {
            using(StreamReader sr = new StreamReader(str))
            {
                string data = sr.ReadToEnd();
                Console.WriteLine("SUCCESS: " + data.Length + "bytes downloaded");
                Console.WriteLine("SAMPLE: " + data.Substring(0,100));
            }
        }
    }
    

    你能详细说明这个问题吗?也许发布一些源代码?