网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > VC++ > 正文
在WIN95中实现文件拷贝的编程方法
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/15
下载{$ArticleTitle}原创论文样式
OF_NOERRORUI: 设置此项后,当文件处理过程中出现错误时,不出现错误提示,否则会进行错误提示。

---- FOF_RENAMEONCOLLISION: 当已存在文件名时,对其进行更换文件名提示。

---- FOF_SILENT: 不显示进度对话框。

---- FOF_WANTMAPPINGHANDLE: 要求SHFileOperation()函数返回正处于操作状态的实际文件列表,文件列表名柄保存在hNameMappings成员中。SHFILEOPSTRUCT将包含一个SHNAMEMAPPING结构的数组,此数组保存由SHELL计算的每个处于操作状态的文件的新旧路径。

---- 二、 实例操作

---- 本文就一个Visual C++程序来实现文件复制的实例。首先建立一个单文档界面filecopy,然后在主框架中新增一个工具条变量m_wndMyToolBar,新建一个工具条IDR_MYTOOLBAR,设置一个工具消息ID_FILECOPY,并在主框架MainFrm.cpp的OnCreate()成员函数中加入工具栏。

if(!m_wndMyToolBar.Create(this)||
!m_wndMyToolBar.LoadToolBar(IDR_MYTOOLBAR))
  {
       TRACE("can not create the FileToolBar!\n");
       return -1;
  }

---- 通过中视类操作工具条IDR_MYTOOL,利用ClassWizard为其消息ID_FILECOPY新增消息处理函数OnFilecopy。然后在处理函数中加入下面程序

void  OnFilecopy()
{
     int nOk;
     char  strSrc="c:\\dos\0c:\\pwin98\\command\0";
     //可以改变源路径
     char  strDst="c:\\temp\0";
     //设置目的路径
     char  strTitle="File copying";
     //进度题头
     SHFILEOPSTRUCT FileOp;
     FileOp.hwnd=m_hWnd;
     FileOp.wFunc=FO_COPY;
     //执行文件拷贝
     FileOp.pFrom=strSrc;
     FileOp.pTo=strDst;
     FileOp.fFlags=FOF_ALLOWUNDO;
     FileOp.hNameMappings=NULL;
     FileOp.lpszProgressTitle=strTitle;

        nOk=SHFileOperation(&FileOp);
        if(nOk)
            TRACE("There is an error: %d\n",nOk);
        else
           TRACE("SHFileOperation  
             finished successfully\n");

         if(FileOp.fAnyOperationsAborted)
            TRACE("Operation was aborted!\n");
}

---- 三、 结束语

---- 利用Windows API进行程序文件操作设计,它直接调用Windows操作系统中的外壳,它的处理过程与Windows95/98/NT中的处理过程是一致的有利于我们在系统程序设计中保持与操作系统的一致性;同时,由于在文件处理中它是直接调用Windows API函数,因此不需要其它应用程序动态链接库DLL的支持。

---- 在各种

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号