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

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


一定要先开启文本框的拖放属性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级就无问题了
如果有更好的方法,请留言! 
目录
相关文章
|
C# Windows 容器
C#或Winform中的消息通知之系统托盘的气泡提示窗口(系统toast通知)、ToolTip控件和ToolTipText属性
NotifyIcon控件表示系统右下角任务栏上的托盘图标,其ShowBalloonTip方法用于显示气球状提示框(Win10只有为本地Toast通知),ToolTip\oolTipText可以...
3173 0
C#或Winform中的消息通知之系统托盘的气泡提示窗口(系统toast通知)、ToolTip控件和ToolTipText属性
|
数据挖掘 Go 计算机视觉
文献丨群体转录组分析eQTLs调控基因表达
文献丨群体转录组分析eQTLs调控基因表达
无缝构建与部署:GitLab CI/CD首秀的实战攻略
无缝构建与部署:GitLab CI/CD首秀的实战攻略
337 0
无缝构建与部署:GitLab CI/CD首秀的实战攻略
|
JavaScript 前端开发 开发者
Layui layer 弹出层的使用【笔记】
本文介绍了Layui的layer弹出层组件的使用方法,包括如何通过在线CDN引入Layui的CSS和JS文件,以及如何使用layer.open(options)开启弹出层和layer.close(index)关闭弹出层。文章详细说明了弹出层类型的分类、options选项的参数配置,以及回调函数的使用。通过示例代码,展示了如何创建不同类型的弹出层,包括对话信息框、页面层、内联框架层、加载层和tips层。
|
JSON 中间件 Go
Go语言学习 - RPC篇:gin框架的基础能力剖析
gin是非常流行的一款HTTP框架。相较于原生的HTTP server,gin有很多改进点,主要在于3点: 1. 上手简单,开发思路与原生HTTP基本一致 2. 引入多个工具库,提高了开发效率 3. 生态丰富,有许多开源的组件 围绕着gin框架,我们将展开今天的话题。
338 2
Go语言学习 - RPC篇:gin框架的基础能力剖析
Windbg双击调试(真机WIN10+虚拟机WIN10)
Windbg双击调试(真机WIN10+虚拟机WIN10)
385 0
|
机器学习/深度学习 数据采集 人工智能
基于深度学习设计AI麻将程序
基于深度学习设计AI麻将程序
2790 0
基于深度学习设计AI麻将程序
|
Prometheus Cloud Native Linux
Prometheus(二)之Node Exporter采集Linux主机数据
Prometheus(二)之Node Exporter采集Linux主机数据
542 0
|
网络架构
VGG全称是Visual Geometry Group(视觉几何组)
VGG全称是Visual Geometry Group(视觉几何组)
VGG全称是Visual Geometry Group(视觉几何组)