Jan 30

开发一个自动更新文件系统。程序启动时向SharePoint查询有无可更新文件,有的话就启动下载程序下载到临时文件夹。之所以要另用一个下载程序是因为防止下载时用户退出主程序。下载好以后,主程序再次启动时调用另一个升级程序,升级程序复制下载好的文件到相应目录。如果需要复制EXE或者DLL等文件,则升级程序先终止主程序,再复制,然后再重新启动主程序,升级程序自动终止。

遇到的问题是,如果终止了主程序后,DLL仍然被锁定的话,下次升级程序启动主程序仍然不能复制文件成功,就会循环重启主程序,导致错误。

解决方法:

1. 升级程序如果需要更新DLL,则建立一个标记文件,然后杀掉主程序进程后更新。

2. 升级程序检测如果标记文件存在,则表示主程序不要被杀,升级程序继续升级其他文件。

3. 升级程序如果杀掉并重启了主程序,升级程序不自动退出,保持在内存中。

4. 主程序启动时,如果未发现升级程序进程,则表示自身是由用户调用的,则删除标记文件,表示自身可以被升级程序杀掉。相反,若发现升级程序已经在内存中,表示自身是由升级程序所调用,保持标记文件,让升级程序进行2。

5. 主程序然后调用升级程序,正常检测升级。

Jan 22

 首先AllowDrop 属性为true,然后要在DragEnter事件里这么写

        private void Form1_DragEnter(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.FileDrop)) e.Effect = DragDropEffects.Link;
else e.Effect = DragDropEffects.None;
}
这样就可以得到拖到文件的路径了,任意文件
private void Form1_DragDrop(object sender, DragEventArgs e)
{
string[] filePath = (string[])e.Data.GetData(DataFormats.FileDrop);
foreach (string file in filePath )
{
//file就是单个文件路径
}
}
Jan 17

加拿大的家庭医生很不好找,生活了7年多,终于在朋友的帮助下在家附近找到了一位。这位医生年纪不大,但是人很nice,也很热情博学,基本与我们的交流都很愉快,这星期二LP大人终于下定决心去把下巴上的一粒痣开掉,也是他动的手,干净利落得很。鉴于这些愉快的经历,我也推荐同事去找他当家庭医生。

但是今天同事告诉我,他被抓起来了。

震惊,我印象中他非常优秀,怎么回事呢?看了新闻才知道,原来他被指控从事网络儿童色情活动。哎,才29岁啊,这辈子基本上就完了。儿童色情在这里绝对属于雷区,要说成人色情的打击尚有争议的话,那儿童色情是没有半点摇摆的。

罢了,不去多想,自己另外再找家庭医生吧。

分页: 1/2 第一页 1 2 下页 最后页 [ 显示模式: 摘要 | 列表 ]