//声明
protected
procedure WMDROPFILES(var Msg : TMessage); message WM_DROPFILES; //实现
procedure TFormMain.WMDROPFILES(var Msg: TMessage);
var
i, n: Integer;
Buffer: Array[..] of Char;
begin
//得到拖拽文件数量
n := DragQueryFile(Msg.wParam, $FFFFFFFF, Buffer, );
//处理选择多个文件
for i := to n - do
begin
//获取拖拽文件名
DragQueryFile(Msg.wParam, i, Buffer, );
//文件名就在Buffer里面了
if UpperCase(ExtractFileExt(Buffer)) = '.BZLX' then
begin
//判断文件是否已经打开
if UpperCase(Buffer) = UpperCase('test.bzlx') then
begin
MessageDlg('文件test.bzlx已经打开!', (mtInformation),[mbOK],);
exit;
end;
//打开文件
OpenFile(Buffer);
exit;
end;
end;
//结束拖拽
DragFinish(Msg.wParam);
end; //初始化
procedure TFormMain.FormCreate(Sender: TObject);
begin
//使窗口句柄可以接收拖拽操作
DragAcceptFiles(Handle, True);
end;

http://blog.csdn.net/shuaihj/article/details/7046515

让自己的软件实现拖拽打开文件(使用WM_DROPFILES消息和DragQueryFile函数)的更多相关文章

  1. 让自己的软件实现拖拽打开文件(覆盖WM_DROPFILES,使用DragQueryFile,DragFinish API函数)

    作者: 帅宏军 //声明 protected    procedure WMDROPFILES(var Msg : TMessage); message WM_DROPFILES; --------- ...

  2. win10下EditPlus不能拖拽打开文件

    今天找到篇blog,终于把win10下EditPlus不能拖拽打开文件的问题解决了:) 记录下备忘.之前通过注册表的方式添加到右键菜单,当时设置了EditPlus以管理员身份运行: 解决办法=> ...

  3. WPF 关于拖拽打开文件的注意事项

    由于开发需求,需要开发一个类似Win图片浏览的工具 当然也涉及到了拖拽打开的需求 按照固有思路: <Grid x:Name="grid1" AllowDrop="T ...

  4. WPF如何实现拖拽打开文件(将文件拖进窗体打开)

    在WPF中的实现和WinForm中的实现99%相似,将要实现接受拖拽释放的控件添加DragEnter事件和Drop事件,本例中控件Grid grid作为接受控件,添加事件操作如下: private v ...

  5. H5 拖拽读取文件和文件夹

    1)拖拽方面的重点是:ondragover 事件 和 ondrop 事件 ondragover 是必须的,ondragover 事件里禁用掉 html 的默认事件,否则 ondrop 事件将无效(直接 ...

  6. h5图片上传预览与拖拽上传

    图片上传: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w ...

  7. duilib中控件拖拽功能的实现方法(附源码)

    转载请说明原出处,谢谢~~:http://blog.csdn.net/zhuhongshu/article/details/41144283 duilib库中原本没有显示的对控件增加拖拽的功能,而实际 ...

  8. html5 Sortable.js 拖拽排序源码分析

    最近公司项目经常用到一个拖拽 Sortable.js插件,所以有空的时候看了 Sortable.js 源码,总共1300多行这样,写的挺完美的.   本帖属于原创,转载请出名出处. 官网http:// ...

  9. Unity输出PC端(Windows) 拖拽文件到app中

    需求:给策划们写一个PC端(Window)的Excel导表工具.本来用OpenFile打开FileExplorerDialog后让他们自己选择想要添加的Excel文件就行了,结果有个需求是希望能拖拽E ...

随机推荐

  1. shell登录模式及其相应配置文件(转)

    参考<linux命令.编辑器与shell编程>(清华大学出版社) 当启动shell时,它将运行启动文件来初始化自己.具体运行哪个文件取决于该shell是登陆shell还是非登陆shell的 ...

  2. 基于visual Studio2013解决C语言竞赛题之0907删除记录

       题目

  3. 在Centos下安装matlab

    首先科普一下什么事matlab MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发.数据可视化.数据分析以及数值计算的高级技术计算语言和交互式环境,主要包含MATLAB和Simu ...

  4. 基于visual Studio2013解决C语言竞赛题之1019填数

         题目 解决代码及点评 /* 19. 找3个数字,填在下面式子中,使等式成立. _6325 = 6325_ × ____ (等号左边是五位) 1,若答案有多个,则打印一组即 ...

  5. asp.net2.0安全性(4)--Login系列控件--转载来自车老师

    前面主要说了与安全相关的一系列的类,现在我们使用这些类就可以做出我们自己的安全系统了.其实微软的目的远不至于此,下面我们就来看一下微软为我们提供的Login系列控件. Login系列控件是微软为了简化 ...

  6. asp.net2.0安全性(1)--用户角色篇(代码实现1)--转载来自车老师

    创建用户: MembershipCreateStatus mc; Membership.CreateUser(txtUid.Text, txtPwd.Text, txtEmail.Text, txtQ ...

  7. 简单理清一下proto与prototype

    这篇博客主要是为了理清自己的思路. 先上图,所有内容都从这张图来讲. 在js中,所有的东西都是对象,包括是function. prototype这个属性是函数特有的.有两层含义,第一层含义指的是某对象 ...

  8. URAL 1018 (金典树形DP)

    连接:1018. Binary Apple Tree Time limit: 1.0 second Memory limit: 64 MB Let's imagine how apple tree l ...

  9. 性能测试之LoardRunner 手动关联一

    概述: 1.什么是关联,关联的分类? 2.实例讲解 1.关联 为什么要关联?关联是应用LoadRunner进行性能测试的一项重要技能,那为什么我们要进行关联呢?当利用VuGen录制脚本时,它会拦截Cl ...

  10. 【学习opencv第七篇】图像的阈值化

    图像阈值化的基本思想是,给定一个数组和一个阈值,然后根据数组中每个元素是低于还是高于阈值而进行一些处理. cvThreshold()函数如下: double cvThreshold( CvArr* s ...