`

触摸屏应用相关技术之五——自动更新

    博客分类:
  • VC++
阅读更多

触摸屏应用相关技术之五——自动更新
自动更新核心是ftp客户端,以递归方式比较本地目录与ftp目录时间戳,如果不一致,则将远程ftp目录或者文件同步到本地。
需要注意的是,iis提供的ftp服务与本地系统,存在时区,系统时间的不一致,在进行时间戳比较时需要进行转换。另外,文件下载到本机以后,也需要修改文件的“修改时间”。
关键代码如下:
比较时间戳:
        BOOL bUpdate=TRUE;
        FILETIME   fft,lt;
        SYSTEMTIME    stFTP;
        m_pFtpFind.GetLastWriteTime(&fft);
        FileTimeToSystemTime(&fft, &stFTP);
        CTime ctu(stFTP);
        AfxGetMainWnd()->GetDlgItem(IDC_OUT)->SetWindowText(ftpname);
        CFileFind m_pFind;
        diskname=m_pathLocal+strDir+strFileName;
        diskname.Replace("/","\\");
        BOOL bExist = m_pFind.FindFile(diskname);
        if(bExist){
            bExist = m_pFind.FindNextFile();
            m_pFind.GetLastWriteTime(&lt);
            //FileTimeToSystemTime(&lt, &stLocal);
            CTime ctl(lt);
            if(ctu==ctl)
                bUpdate=FALSE;
        }
        m_pFind.Close();

下载后修改时间:
        if(bUpdate){
            BOOL bSucc = m_pFtpConnection->GetFile(ftpname,diskname,FALSE);
            struct _utimbuf  utm;
            utm.modtime = ctu.GetTime();
            utm.actime = utm.modtime;
            _utime(diskname,&utm);
            //有需要替换的系统dll,需要删除自动加载后重新启动
            if(diskname.Find(PATHDLL)!=-1){
                bDllUpdate = TRUE;
            }
            //todo regsvr32 /u 
            if(diskname.Find(".ocx")!=-1){
                CString sd;
                sd.Format("/s %s",(LPCTSTR)diskname);
                ShellExecute(NULL,NULL,"regsvr32.exe",sd,NULL,SW_SHOWNORMAL);
                log(sd,"regsvr32");
            }
            CString sf;
            sf.Format("%d %s",bSucc,(LPCTSTR)ftpname);
            log(sf,"Download");
        }

  • TS.rar (58.3 KB)
  • 下载次数: 15
分享到:
评论

相关推荐

    Android高级编程--源代码

    诸如GPS、加速计和触摸屏等外观时尚且用途广泛的手机功能硬件,正在吸引越来越多的开发者创建各种新颖有趣的移动应用程序。  虽然设计Android硬件的目的是为了吸引消费者,但是真正的赢家却是开发人员。由于现有的...

    黑马程序员 安卓学院 万元哥项目经理 分享220个代码实例

    |--应用启动之检查版本更新及初始化 |--延时任务的工具类 |--异常之UncaughtExceptionHandler全局捕获处理 |--异步任务AsyncTask的用法 |--异步任务的自定义 |--快捷方式增删查 |--手势识别器GestureDetector的用法 ...

    《计算机应用基础》读书笔记.doc

    " " "11)触摸屏 " " "3进位计数制及其数据信息的编码表示 " " "1基本概念 " " "2数制间的转换 " " "3 数据信息的编码表示 " " "4计算机维护和安全 " " "1计算机的一般维护和安全使用。 " " "2计算机病毒的预防和...

    文通慧视小灵鼠破解版part1

    ●完全开放:用户可通过鼠标、笔记本触摸板、笔式电磁感应屏、电阻触摸屏、手写扳、超声笔等输入装置进行手写输入。 ●人性输入:全新的隐藏式半透明界面简洁易用,支持自由全屏和快速双框手写输入方式。在全屏...

    商易通奶茶连锁店管理系统

    应用行业:奶茶收银系统、咖啡连锁收银系统、西式快餐系统,触摸屏POS收银机等 奶茶外卖管理系统是一套专门针对饮料、冰茶、外卖等一套连锁管理的专业化信息管理系统,是我公司推出一套针对外卖行业十分实用管理系统...

    VC与Labview、Matlab编程论文资料[2].rar

    基于ARM7和VC平台的高分辨率红外触摸屏设计.pdf 基于AT89C52与MFC的电阻率分布监测系统.pdf 基于COM_VC_Word技术的产品设计说明书自动化研究.pdf 基于COM组件的Matlab7_x与VC_6_0接口技术及实际应用.pdf 基于COM...

    VC与Labview、Matlab编程论文资料

    基于ARM7和VC平台的高分辨率红外触摸屏设计.pdf 基于AT89C52与MFC的电阻率分布监测系统.pdf 基于COM_VC_Word技术的产品设计说明书自动化研究.pdf 基于COM组件的Matlab7_x与VC_6_0接口技术及实际应用.pdf 基于COM...

    VC与Labview、Matlab编程论文资料[4].rar

    基于ARM7和VC平台的高分辨率红外触摸屏设计.pdf 基于AT89C52与MFC的电阻率分布监测系统.pdf 基于COM_VC_Word技术的产品设计说明书自动化研究.pdf 基于COM组件的Matlab7_x与VC_6_0接口技术及实际应用.pdf 基于COM...

    iphone3开发基础教程

    15.3.3 完好如初——复原触摸 377 15.4 滚弹珠程序 377 15.4.1 实现Ball View控制器 378 15.4.2 编写Ball View 379 15.4.3 计算小球运动 382 15.5 小结 385 第16章 iPhone照相机和照片库 386 16.1 使用图像选取器和...

    factorytalk-view-入门培训教程.pdf

    9、 生成运行时文件 确定工程编辑无误后,通过"应用程序"-----》 "创建运行时应用程序" ,生成触摸屏上能运 行的工程文件。 10、 将运行文件下载到触摸屏 从开发系统的"开始"菜单中,依次选择"Rockwell Software > ...

    workprobe3:由 PIC18F458 微控制器控制送纸机并链接到触摸屏

    嵌入式系统和微控制器项目:03 项目——PIC18F458 微控制器控制送纸机并链接到触摸屏。03.1 项目描述: 项目名称:使用PIC18F458单片机和触摸屏控制电机。 技能:传感器使用接近传感器和计数器传感器,编程使用...

    现代(Hyundai)机器人基本操作.pdf

    历史管理:系统版本、操作时间、错误历史记录、停止历史记录等等 文件管理:版本&工作程序&参数文件的上传/下载 设定各种参数:用户环境/控制/机器人/应用/自动整数等等 机器人示教:JOG&工作程序注册 机器人操作:...

    ARM 实验指导书第一册UCOS-II.doc

    实验十五 触摸屏实验 126 实验十六 WDT看门狗实验 135 实验十七 实时时钟实验 139 实验十八 RS485接口实验 144 实验十九 CAN及SPI接口实验 150 实验二十 利用SPI接口与FPGA通讯实验 157 实验二十一 利用串口与FPGA...

    Android程序设计基础

    Android提供了对各种输入方法的支持,比如说键盘、触摸屏和轨迹球。用户界面可以针对任何屏幕分辨率和屏幕方向进行定制。  Android为用户与移动应用程序交互提供了全新的方式,同时也提供了实现这些交互的底层技术...

    豆豆阅读器v0.9.23(触摸版)

    【应用名】 豆豆阅读器(BeanReader) 【适用平台】 BlackBerry(JDE4.2.0版本之后) 【版本】 v0.9.23(包含非触摸及触摸两个发布包,此版本新增主动技能——“搜索”) 【说明】 【绝对原创】小巧,简洁,快速...

    豆豆阅读器v0.9.23(非触摸版)

    【应用名】 豆豆阅读器(BeanReader) 【适用平台】 BlackBerry(JDE4.2.0版本之后) 【版本】 v0.9.23(包含非触摸及触摸两个发布包,此版本新增主动技能——“搜索”) 【说明】 【绝对原创】小巧,简洁,快速...

Global site tag (gtag.js) - Google Analytics