让自己的软件实现拖拽打开文件

简介: 让自己的软件实现拖拽打开文件                              作者: 帅宏军 //声明 protected     procedure WMDROPFILES(var Msg : TMessage); messa...

让自己的软件实现拖拽打开文件

                             作者: 帅宏军

//声明

protected
    procedure WMDROPFILES(var Msg : TMessage); message WM_DROPFILES;

------------------------------------------------------------------------------------------------------------------------

//实现

procedure TFormMain.WMDROPFILES(var Msg: TMessage);
var
  i, n: Integer;
  Buffer: Array[0..255] of Char;
begin
  //得到拖拽文件数量
  n := DragQueryFile(Msg.wParam, $FFFFFFFF, Buffer, 255);

  //处理选择多个文件
  for i := 0 to n - 1 do
  begin
    //获取拖拽文件名
    DragQueryFile(Msg.wParam, i, Buffer, 255);

    //文件名就在Buffer里面了
    if UpperCase(ExtractFileExt(Buffer)) = '.BZLX' then
    begin
      //判断文件是否已经打开
      if UpperCase(Buffer) = UpperCase('test.bzlx') then
      begin
        MessageDlg('文件test.bzlx已经打开!', (mtInformation),[mbOK],0);
        exit;
      end;

      //打开文件
      OpenFile(Buffer);

      exit;
    end;
  end;

  //结束拖拽
  DragFinish(Msg.wParam);
end; 

------------------------------------------------------------------------------------------------------------------------

//初始化

procedure TFormMain.FormCreate(Sender: TObject);
begin
  //使窗口句柄可以接收拖拽操作

  DragAcceptFiles(Handle, True);

end;

相关文章
|
2月前
|
安全 Shell
关于双击桌面上的IE图标却显示“打开方式”对话框的解决办法
关于双击桌面上的IE图标却显示“打开方式”对话框的解决办法
|
3月前
|
Shell
自定义右击菜单,添加指定打开文件方式
自定义右击菜单,添加指定打开文件方式
47 0
怎样将Beyond Compare添加到系统右键菜单
怎样将Beyond Compare添加到系统右键菜单
1101 0
|
Windows 存储 Cloud Native
C++Qt windows系统托盘增加图标和功能
C++Qt windows系统托盘增加图标和功能
|
小程序 API
小程序查看(预览)文件
小程序查看(预览)文件
538 0
|
Shell
【开发小技巧】添加鼠标右键通过xx打开文件夹菜单
【开发小技巧】添加鼠标右键通过xx打开文件夹菜单
343 0
【开发小技巧】添加鼠标右键通过xx打开文件夹菜单
【C#】【桌面应用开发】拖拽文件到文本框获得所拖拽文件的路径
【C#】【桌面应用开发】拖拽文件到文本框获得所拖拽文件的路径
231 0
【C#】【桌面应用开发】拖拽文件到文本框获得所拖拽文件的路径
某文件在桌面上,命令窗口中找不到,因为桌面是两个目录合成的
某文件在桌面上,命令窗口中找不到,因为桌面是两个目录合成的
90 0
|
C#
wpf 复制/剪切到本地系统剪切板中以供右键粘贴用
原文:wpf 复制/剪切到本地系统剪切板中以供右键粘贴用   http://www.cnblogs.com/yhdkzy/archive/2012/11/27/2790655.html   ///         /// 复制或剪切文件到剪切板         /// ...
1253 0
|
Windows
Win系统 - 系统双击文件总弹出属性窗口如何解决?
Win系统 - 系统双击文件总弹出属性窗口如何解决?
309 0
Win系统 - 系统双击文件总弹出属性窗口如何解决?