zoukankan      html  css  js  c++  java
  • Win7系统应用程序不能拖放文件原来又是UAC是惹的祸

     


    一定要先开启文本框的拖放属性this.txtPath.AllowDrop = true;
    本来就是一个很简单的问题,妈的,浪费我一个多小时。愿意就是罪魁祸首就是win7的UAC权限导致的。又是一个蛋疼的问题!
     private void txtPath_DragEnter(object sender, DragEventArgs e)
            {
                if (e.Data.GetDataPresent(DataFormats.FileDrop))
                    e.Effect = DragDropEffects.All;
                else
                    e.Effect = DragDropEffects.None;
            }

            private void txtPath_DragDrop(object sender, DragEventArgs e)
            {
                string[] s = (string[])e.Data.GetData(DataFormats.FileDrop, false);
                if (s.Length > 0)
                {
                    //指定html文件类型。
                    if (System.IO.Path.GetExtension(s[0]).ToLower() == ".html")
                    {
                        txtPath.Text = s[0];
                    }
                    else
                    {
                        XtraMessageBox.Show("只支持拖放html格式的文件""消息", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                }
            }

    我的Visual Studio2012 是以管理员身份运行,导致Debug的时候应用程序也是以管理员身份运行的,然后Win7系统在UAC的保护下,控件的DragEnter/DragOver/DragDrop等事件统统都不被触发。

     


    从VISTA->WINDOWS7 UAC(用户帐户控制)出现到至今,拖放文件一直存在一个问题:
    “以管理员身份运行”的任何程序,均不能正常接受拖放进窗口中的文件!


    当我们的WinForm应用程序需要以管理员的身份运行时(比如,为了访问windows注册表),我们需要在程序清单(app.manifest文件)中将UAC选项改为"requireAdministrator"(可以参考如何自动以管理员身份运行.NET程序?)。如此生成的exe的图标在XP和Win2003下是没有变化的,但是放到win7下面,你会发现图标的右下角多了一个小盾牌。

     

    如何解决Win7下这个拖拽的问题了?
    解决办法:一、应用程序不以管理员身份运行。或者visual studio也不要以管理员身份运行。

    解决办法二:超级无耻方法:UAC设置为0级就无问题了


    UAC设置为0级就无问题了
    如果有更好的方法,请留言! 
  • 相关阅读:
    POJ 3258 (NOIP2015 D2T1跳石头)
    POJ 3122 二分
    POJ 3104 二分
    POJ 1995 快速幂
    409. Longest Palindrome
    389. Find the Difference
    381. Insert Delete GetRandom O(1)
    380. Insert Delete GetRandom O(1)
    355. Design Twitter
    347. Top K Frequent Elements (sort map)
  • 原文地址:https://www.cnblogs.com/51net/p/2558578.html
Copyright © 2011-2022 走看看