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级就无问题了
如果有更好的方法,请留言! 

时间: 2024-11-08 21:00:07

Win7系统应用程序不能拖放文件原来又是UAC是惹的祸的相关文章

Win7系统旗舰版Winmgmt.exe文件错误怎么办

  Winmgmt.文件 Win7系统旗舰版Winmgmt.exe文件出现错误的解决方法: 1.右击"我的电脑"-"管理",在"服务和应用程序"下单击"服务",停止Windows Management Instrumentation 服务; 2.然后删除 %SystemRoot%System32WbemRepository 文件夹中的全部文件; 3.再打开"服务和应用程序",选择服务,打开并启动 Windo

Win7系统在C盘复制文件提示“错误0×80070522”怎么解决?

  Win7系统在C盘复制文件提示"错误0×80070522"怎么解决? 1.点击开始菜单,在"开始"--"所有程序"--"附件"中找到"命令提示符"右键点击以管理员身份打开; 2.打开命令提示符后,然后输入命令:icacls c: /setintegritylevel M.

Win7系统IE浏览器下载的文件放在哪个文件夹?

  Win7系统IE浏览器下载的文件放在哪个文件夹? 1.重新打开IE浏览器,随便找一个图片,在图片上单击右键,如果之前我们下载的程序或者其他文件,就选择"目标另存为",如果我们之前下载的是图片,那么久点击"图片另存为"; 2.在另存为界面的顶部,我们就可以知道之前下载的程序.图片.文件在什么位置了.

Win7系统U盘中毒导致文件夹被病毒隐藏怎么解决

  Win7系统U盘中毒导致文件夹被病毒隐藏怎么解决           大家都知道我们的工作中离不开U盘,作为一个存储文件的工具,最头疼的就是U盘中病毒,导致里面的文件全被隐藏,怎么办呢? 方法如下: 在操作之前我们要确保使用的计算机没有中毒,然后点击"开始",在弹出的菜单中选择"运行",如下图所示: 在运行窗口中,我们输入"notepad"指令,点击"确定"按钮可以新建一个记事本,如下图所示: 然后在弹出的记事本中,将下面

Win7系统运行程序或游戏弹出“没有找到d3d11.dll”如何解决

  Win7系统运行程序或游戏弹出"没有找到d3d11.dll"如何解决: 1.去网上下载d3d11.dll文件; 2.在下载好的压缩文件网上单击右键,选择"解压到XXX"; 3.打开解压得到的文件夹,将"d3d11.dll"文件单击右键,复制起来; 4.打开计算机,依次打开:C:WindowsSystem32 ,将该文件粘贴进去; 5.按下"Win+R"组合键打开运行,输入:regsrv32 d3d11.dll 点击确定,等

Win7系统提示丢失xlive.dll文件的解决方法

  win7系统作为微软系统中的标志性系统,受到了不少用户的青睐,即使现在有更为先进的win8.win10系统,但还是有一批怀旧的用户认为win7有它可取之处,所以一直沿用至今.但是win7系统在打游戏时会出现一些问题,会提示错误:"无法启动此程序,因为计算机中丢失Xlive.dll.尝试重新安装该程序以解决此问题."出现这种提示的时候,大家一般都很惊慌,不知如何面对.小面小编来教大家Win7系统提示丢失xlive.dll文件的解决方法. 具体方法如下:   1.鼠标左键双击电脑桌面的

Win7系统下安装TTF字体文件的方法

  解决方法: 1.如果TTF文件关联程序没有出错,可直接双击TTF文件,在弹出的字体预览安装界面中,点击"安装"按钮进行字体安装. 2.字体安装成功后,"安装"按钮为灰色,直接点击关闭即可; Win7系统下安装TTF字体文件的方法介绍到这里,安装之后我们可以选择自己喜爱的字体了.

Win7系统应用程序初始化失败0xc0000135错误怎么办

  Win7系统大家在使用的时候,运行应用程序有可能会遇到失败无法运行的情况,最近就有用户一直在说这个问题,在启动win7应用程序初始化失败提示错误代码(0xc0000135)不知道怎么处理,其实这个可能是因为系统安装好,有一些软件运行的时候缺少导致运行出错就会出现这样的情况,小编马上给大家讲述解决方法. Win7系统应用程序初始化失败0xc0000135错误怎么办: 1.电脑系统应用程序正常初始化(0xc0000135)失败很多时候都是因为系统中没有安装.NET framework文件导致的.

win7系统下批量重命名文件的方法

  在win7下我们对于同类文件来说,如果想要以数字编号的形式命名文件的话,是无需借助第三方软件即可完成修改的,不过很多不知道如何操作,故此小编为大家带来了Win7如何同时重命名多个文件的方法,需要的用户赶快学习下吧! win7系统下批量重命名文件的方法 1.在保存文件的时候可以采用系统自动分配名字的方法,即保存的时候系统显示的什么名字,就让它默认为什么名字,这样的名字也不会重名,保存起来相当的快. 2.选中文件夹中所有需要重命名的文件,直接按组合键ctrl+a就行,然后按F2,接下来输入希望设