Google API

]]>

Eclipse、SVN、Google Code的配置

1、简单YY几句:

最近才真正的发现Eclipse可真他娘的强大呀~ 几乎各种语言都有基于它的扩展工具包~

特别是:Eclipse的函数、变量、宏定义、结构体等的跳转功能以及和CVS、SVN等版本控制软件的良好接口,程序员用起来简直爽歪了~

eclipse内置CVS客户端,如果有CVS服务器可以用的话,就可以直接使用它做版本管理了,可是Google没有提供CVS管理,但是提供了SVN和MC,所以选择了SVN使用。

前几天下载了Eclipse的C/C++开发版本,仅仅用做目前工作的工程代码的编辑和利用CVS同步代码,觉得比较爽~ 虽然还有一些功能不很熟悉。

昨天用它打了个python开发用的补丁(pydev),安装了python后测试了一下,开发python也挺好用的。

今天,在工作累的时候有钻研了一下和SVN以及Google code的连接,这样就可以借助Google code的平台,在任何地方,利用闲暇时间来写一些开源小工具了~

要是上天能赐我一个ipad就更好了~ 那就真的可以随时随地写代码了~

 

2、缘起:

想利用Google code维护自己开发的一个小工具---自动定时管理工具(AutoTimerManage)。顺便学习和熟悉一下SVN和Eclipse。

 

3、安装Eclipse的SVN补丁:

3.1 下载Eclipse,根据自己需求下载对应版本即可,解压缩即可用。http://www.eclipse.org/downloads/

3.2 为Eclipse打上SVN管理工具补丁(subclipse)。参见(http://code.google.com/p/performancetestingtool/wiki/Eclipse_SVN)的描述。

1)打开Eclipse,菜单:help->Install new software,打开程序安装窗口,点击右上角“Add...”按钮,命名为SVN,并在下面添加链接“http://subclipse.tigris.org/update”,ok即可。

image

2)Eclipse开始自动连接到subclipse工具的下载站点。获取到需要可下载的工具名称,全部选中,然后点击下一步即可开始下载补丁文件以及说明文件了

image

3)然后一路next,接受安装协议,直到Finish就可以了,接下来就直接开始下载。(下载过程大约几分钟,视网速如何了...)最后下载完成后弹出个警告,同意即可。然后会弹出提示重启eclipse,ok即可。

image     ...     image image

4、配置SVN,连接Google Code:

1)点击Eclipse菜单:windiow->show view->other 打开选项配置窗口。

image

2)打开SVN目录,选中“SVN资源库”,确定。

image

2)在“SVN资源库”窗口点击右键,选择:新建->资源库位置

image

 

 

image

image

image

 

image

 

image

Eclipse+python开发环境配置

1、下载Eclipse编辑器。http://www.eclipse.org/downloads/

根据电脑的处理器选择32位或64位版本下载。选择“Eclipse Classic 3.6.2”或JAVA开发版本下载都可以。我选择“Eclipse Classic 3.6.2”版本安装的版本,下载后解压缩即可使用,可以将解压缩的目录复制到安装程序目录,便于管理。我复制到“C:\Program Files”目录下存放。

双击目录下 Eclipse.exe运行,进行简单的基本配置即可。

image

 

注意:如果电脑上没有安装过Java运行库的话,Eclipse启东时会报错提醒,需要去http://www.oracle.com/technetwork/java/javase/downloads/index.html下载JRE即可。

wps_clip_image-12116

 

2、下载Python编译器安装。http://www.python.org/getit/

参见下面截图,我下载了Python 3.2 Windows x86 MSI Installer版本。安装到默认路径“C:\Python31”即可。

image

 

3、下载Eclipse下开发Python的插件Pydev,目前版本是1.6.5。http://sourceforge.net/projects/pydev/

下载后,解压缩文件夹中包含两个目录。

wps_clip_image-10852

将这两个目录下的文件全部复制到Eclipse安装程序的对应的两个同名字目录下,即可完成Eclipse Python开发补丁安装。

 

4、重启Eclipse。

打开windows菜单,打开preferences子菜单,弹出对话框中即可看到Pydev补丁的安装结果。

选中子项Interpreter-Python,进行Python开发环境的设置。如下图:

点击右上角的New按钮,在弹出对话框中点击“Browse...”按钮,然后找到Python的安装目录,选中Python.exe即可(这就是python程序的编译器)。还会弹出弹出环境变量设置选项,不用修改直接确认即可。

下图所示为配置完成的界面。

image

5、开发环境测试。

配置完成后重启Eclipse开发环境,打开“File”菜单,选择“New->Project”,新建一个工程。

image

选择Pydev下的Pydev Project选项,然后设置工程名称和存储路径即可。

image

建立工程完毕后,工程管理窗口自动添加了“src”目录和python编译器。如下图所示,然后,对“src”目录点右键添加一个文件命名为“main.py”即可。然后,打开文件添加代码“print("test,hello world!\n")”测试。如下图:

image

点击,上面的绿色运行按钮,Eclipse会提示选择希望编译的文件,默认,开始编译运行即可。会看到下方控制台输出运行结果。

测试完成。说明环境配置成功。

定时自动启动任务或提醒的实现-续1

以前自己有这个需求,就简单写了程序,随机启动后监控时间,本来还想实现一个脚本解析功能的,暂时还没做。现在公司中午定时开始做操,前台小MM总是忘记,拜托我搞个定时提醒工具,正好这个派上用场了。

设计思路:

1、VS实现一个Windows程序(不用console程序的原因是避免启动后有个不友好的黑色界面,我不知道该怎么消除它),删除winmian中的全部代码(避免弹出界面),然后添加如下代码:

实现代码

2、参考上面的代码,为了避免修改麻烦,使用“system(" \"d:\\Auto.bat\" ");”语句实现定时运行批处理脚本文件,同时需要建立一个脚本文件“Auto.bat”存放在D:盘根目录下。并且在文本编辑器中填写比处理代码如下:

批处理代码

这个批处理实现强制弹出关机界面,便于提醒,放置因为当前在操作其他工具而影响提示。并定时在3.5小时后关机(下班时间),这里关机时间当然可以随意修改了。还实现了启动千千播放器的功能,当然也可以改为其他可执行程序。

3、把生成的应用程序添加到系统自启动项中,随机启动即可。需要修改被启动对象时只需修改批处理,避免在我这里播放器的安装路径和其他人的不同。

4、如果再增加一个可以设置多组定时时间和对应启动任务功能就好了。有望在周末有空时把它改完备了。

===后记===

另,昨天用JScript借助网页也实现了此功能,这样运行修改都很方便,可惜的是,提醒的对话框常常因为当前在使用其他东西而被隐藏在后面。还有就是运行后IE总是提示危险插件,还要手动允许一下才能使用,很不爽,放弃之!不过作为一个成果也贴于此:

JScript处理代码


 

解决Windows XP在关闭IE时弹出读写内存错误的问题

计算机系统中运行一些容量较大的程序或者游戏时,系统常常会自动弹出“xx内存不能为read或written”的错误提示,遇到这种故障信息时,我们该如何才能将它有效排除,同时确保下次运行容量较大的程序或者游戏时,系统不会再次出现系统内存读写错误呢?事实上,当我们不幸遭遇上面的故障信息时,我们可以尝试按照如下步骤进行依次排查。

在上网冲浪的过程中,许多插件程序会偷偷地安装到计算机系统中,而不少插件程序往往都有防删除的功能,因此这些插件很容易与其他的应用程序发生冲突,从而间接地引起系统内存读写错误的现象。为了给那些大容量的应用程序或游戏提供一个干净、稳定的工作环境,我们最好定期使用安全防护软件,来查看系统是否被偷偷安装了各种无效的垃圾插件程序,一旦发现的话,那可以直接将它们从系统中及时卸载干净。

与系统内存读写操作有关的Windows Management Instrumentation服务要是发生错误的话,也会导致系统弹出内存读写错误的提示,所以当我们遇到这种错误现象时,可以尝试手工修复一下Windows Management Instrumentation服务,下面就是具体的修复步骤:

首先,用鼠标右键单击系统桌面中的“我的电脑”图标,从弹出的快捷菜单中执行“管理”命令,打开本地系统的计算机管理窗口,在该窗口的左侧显示区域,依次展开“服务和应用程序”/“服务”选项,在对应“服务”选项所在的右侧显示区域中,找到Windows Management Instrumentation服务,并用鼠标右键单击该服务选项,从弹出的快捷菜单中执行“属性”命令,打开服务属性设置界面;

wps_clip_image-27938

其次在该设置界面的“常规”标签页面中,单击“停止”按钮,将Windows Management Instrumentation服务暂时停止运行。之后,打开计算机系统的资源管理器窗口,在该窗口中依次展开“Windows->system32->wbem->repository”文件夹,然后将“repository”文件夹窗口中的所有文件进行一下备份,备份完成后将该文件夹中的所有内容全部清除掉;

接下来,重新启动一下计算机系统,待系统启动成功后,按前面操作打开Windows Management Instrumentation服务的属性设置界面,单击该界面中的“启动”按钮,相信这么一来Windows Management Instrumentation服务就能正常运行了。

如果计算机系统不小心感染了病毒或者发生了误删除操作,那么与系统内存读写操作有关的系统文件很可能受到损坏,而这些系统文件一旦受到损坏的话,那么我们就很容易遭遇内存读写故障提示了。所以,我们一旦碰到内存读写错误的提示时,不妨按照如下步骤修复一下系统,看看系统是否存在损坏的文件:

首先使用最新版本的杀毒软件,来对计算机系统进行彻底地病毒查杀操作,因为计算机系统一旦感染了病毒而不进行清除的话,我们即使修复了系统文件,病毒仍然有可能会继续破坏系统文件,所以及时使用杀毒软件来将计算机中的病毒全部清除干净,可以确保系统文件不会继续受到病毒的威胁。

其次使用系统自带的“sfc”命令,来尝试将受到损坏的系统文件修复到正常状态。在修复受损系统文件时,只要在运行中输入“CMD”,打开“命令提示符”窗口,在其中输入字符串命令“sfc/scannow”,单击回车键后,该命令程序就会对系统每个角落处的系统文件进行搜索扫描,一旦发现系统文件的版本不正确或者系统文件已经损坏的话,它就能自动弹出提示界面,要求我们插入Windows系统的安装光盘,以便从中提取正常的系统文件来替代不正常的系统文件,从而达到修复系统文件的目的。要是系统修复操作成功的话,相信我们重新启动计算机系统时,就不会看到有什么不正常的现象了。

我们知道,在运行一些容量较大的程序或者游戏时,需要消耗相当的系统内存资源,要是此时内存空间不够时,那么系统内存读写错误的故障提示很有可能就会发生。为了有效避免这种错误提示,我们最好在运行容量较大的程序或者游戏之前,应该先将计算机系统重新启动一下,这样能够将系统内存空间充分释放出来;如果计算机内存空间本身就比较小的话,那么我们建议各位最好及时升级内存,以便拓展内存的有效使用空间,以防止由于系统内存不足而造成系统内存读写错误的发生。

当然,在系统自身内存空间不足的情况下,我们应该先将那些随机启动的杀毒软件以及相关即时监控的程序暂时关闭掉,之后再尝试运行容量较大的应用程序或者网络游戏,因为杀毒软件及相关监控程序会在一定程度上消耗一些系统内存资源,将它们关闭可以节省不小的内存空间,从而能够有效避免内存读写错误现象的发生。当然,值得注意的是,我们在运行完大容量的程序或游戏之后,还必须记得及时将相关程序的监控功能全部打开。

转自:http://www.zhaokey.org/2011/02/16/rangwindowsxpbuzaichuneicunduxiecuowu/

Windows 中结束进程和启动程序的自动脚本

windows下运行命令的工具是cmd.exe,在系统的“开始->运行”框中输入cmd即可启动,在cmd环境下输入命令即可运行,以下所述命令都可在此环境运行。

另也可以将命令保存在一个文本文件里,然后修改文件后缀名为cmd即可变成一个可执行程序,双击即可直接运行里面的命令。

1、结束程序

例如现在运行了 chrome 浏览器程序,那么,在windows任务管理器中,就会存在至少一个名为chrome.exe 的进程。以下制作一个关闭chrome.exe进程的工具。

1.1新建一个文本文件ShutChrome,加入此语句“ntsd -c q -pn Ingress.exe”,然后保存关闭,将文件后缀名的txt修改为cmd,确认修改保存即可。

1.2双击运行“ShutChrome.cmd”即可关闭chrome进程。

2、定时关机

2.1新建一个文本文件ShutDown,加入此语句“shutdown –s –t  3600”,然后保存关闭,将文件后缀名的txt修改为cmd,确认修改保存即可。这句话的含义是在3600s以后自动关机。如果把3600修改为1的话就可以实现立即自动关机的功能了。

2.2双击运行“ShutDown.cmd”即可启动定时关机程序定时。

2.3如果已经启动定时关机程序,想解除自动关机的话需要执行此命令“ShutDown  -a”,可以在命令行中执行或单独建一个文件。

3、运行程序

3.1方法依旧如上。

只是这时候不需要什么命令,直接输入可执行文件的完整绝对路径名称和可执行程序名称即可。有时候可执行程序的路径有空格,为了更好地运行,可以用英文双引号把全部内容括起来即可。在命令行或文本中如下写即可:

"C:\Program Files\Sinfor\Ingress2\Ingress.exe" -a

实现运行 Ingress.exe,并输入 -a 作为参数。

因为,公司搞了破软件管理我们上网,可是这个破工具又经常的间歇性的发疯,搞得人很崩溃。于是就查了一下windows命令工具,做了个脚本程序,内容如下,实现自动关闭现有进程,并重启该进程。

ntsd -c q -pn Ingress.exe
"C:\Program Files\Sinfor\Ingress2\Ingress.exe" -a

以上记录了完成此工作的过程和内容,以为记。

Jpg文件格式[参考]

微处理机中的存放顺序有正序(big endian)和逆序(little endian)之分。正序存放就是高字节存放在前低字节在后,而逆序存放就是低字节在前高字节在后。例如,十六进制数为A02B,正序存放就是A02B,逆序存放就是2BA0。摩托罗拉(Motorola)公司的微处理器使用正序存放,而英特尔(Intel)公司的微处理器使用逆序。JPEG文件中的字节是按照正序排列的。

JPEG委员会在制定JPEG标准时,定义了许多标记(marker)用来区分和识别图像数据及其相关信息,但笔者没有找到JPEG委员会对JPEG文件交换格式的明确定义。直到1998年12月从分析网上具体的JPG图像来看,使用比较广泛的还是JPEG文件交换格式(JPEG File Interchange Format,JFIF)版本号为1.02。这是1992年9月由在C-Cube Microsystems公司工作的Eric Hamilton提出的。此外还有TIFF JPEG等格式,但由于这种格式比较复杂,因此大多数应用程序都支持JFIF文件交换格式。

JPEG文件使用的颜色空间是CCIR 601推荐标准进行的彩色空间(参看第7章)。在这个彩色空间中,每个分量、每个像素的电平规定为255级,用8位代码表示。从RGB转换成YCbCr空间时,使用下面的精确的转换关系:

Y = 256 * E'y

Cb = 256 * [E'Cb] + 128

Cr = 256 * [E'Cr] + 128

其中亮度电平E'y和色差电平E'Cb和E'Cb分别是CCIR 601定义的参数。由于E'y的范围是0~1,E'Cb和E'Cb的范围是-0.5~+0.5,因此Y, Cb和Cr的最大值必须要箝到255。于是RGB和YCbCr之间的转换关系需要按照下面的方法计算。

(1) 从RGB转换成YCbCr

YCbCr(256级)分量可直接从用8位表示的RGB分量计算得到:

Y = 0.299 R +   0.587G  +   0.114 B

          Cb =      - 0.1687R -  0.3313G  +        0.5 B + 128

             Cr =               0.5 R -  0.4187G   - 0.0813 B + 128

需要注意的是不是所有图像文件格式都按照R0,G0,B0,…… Rn,Gn,Bn的次序存储样本数据,因此在RGB文件转换成JFIF文件时需要首先验证RGB的次序。

(2) 从YCbCr转换成RGB

RGB分量可直接从YCbCr(256级)分量计算得到:

        R =   Y +                                           1.402 (Cr-128)

    G =  Y    -    0.34414 (Cb-128) - 0.71414 (Cr-128)

     B =  Y    +       1.772 (Cb-128)

在JFIF文件格式中,图像样本的存放顺序是从左到右和从上到下。这就是说JFIF文件中的第一个图像样本是图像左上角的样本。

2 文件结构

JFIF文件格式直接使用JPEG标准为应用程序定义的许多标记,因此JFIF格式成了事实上JPEG文件交换格式标准。JPEG的每个标记都是由 2个字节组成,其前一个字节是固定值0xFF。每个标记之前还可以添加数目不限的0xFF填充字节(fill byte)。下面是其中的8个标记:

    1. SOI 0xD8 图像开始
    2. APP0    0xE0 JFIF应用数据块
    3. APPn    0xE1 - 0xEF 其他的应用数据块(n, 1~15)
    4. DQT 0xDB 量化表
    5. SOF0    0xC0 帧开始
    6. DHT   0xC4 霍夫曼(Huffman)表
    7. SOS    0xDA 扫描线开始
    8. EOI     0xD9 图像结束

为使读者对JPEG定义的标记一目了然,现将JPEG的标记码列于表6-05,并保留英文解释。

表 JPEG定义的标记

image

JPEG文件由下面的8个部分组成:

          (1) 图像开始SOI(Start of Image)标记

          (2) APP0标记(Marker)

① APP0长度(length)

② 标识符(identifier)

③ 版本号(version)

④ X和Y的密度单位(units=0:无单位;units=1:点数/英寸;units=2:点数/厘米)

⑤ X方向像素密度(X density)

⑥ Y方向像素密度(Y density)

⑦ 缩略图水平像素数目(thumbnail horizontal pixels)

⑧ 缩略图垂直像素数目(thumbnail vertical pixels)

⑨ 缩略图RGB位图(thumbnail RGB bitmap)

(3) APPn标记(Markers),其中n=1~15(任选)

① APPn长度(length)

② 由于详细信息(application specific information)

(4) 一个或者多个量化表DQT(difine quantization table)

① 量化表长度(quantization table length)

② 量化表数目(quantization table number)

③ 量化表(quantization table)

(5) 帧图像开始SOF0(Start of Frame)

① 帧开始长度(start of frame length)

② 精度(precision),每个颜色分量每个像素的位数(bits per pixel per color component)

③ 图像高度(image height)

④ 图像宽度(image width)

⑤ 颜色分量数(number of color components)

⑥ 对每个颜色分量(for each component)

        • ID
        • 垂直方向的样本因子(vertical sample factor)
        • 水平方向的样本因子(horizontal sample factor)
        • 量化表号(quantization table#)

         (6) 一个或者多个霍夫曼表DHT(Difine Huffman Table)

① 霍夫曼表的长度(Huffman table length)

② 类型、AC或者DC(Type, AC or DC)

③ 索引(Index)

④ 位表(bits table)

⑤ 值表(value table)

(7) 扫描开始SOS(Start of Scan)

① 扫描开始长度(start of scan length)

② 颜色分量数(number of color components)

③ 每个颜色分量

        • ID
        • 交流系数表号(AC table #)
        • 直流系数表号(DC table #)

④ 压缩图像数据(compressed image data)

(8) 图像结束EOI(End of Image)

下表表示了APP0域的详细结构可通过UltraEdit工具软件打开一个JPG图像文件,对APP0的结构进行分析和验证。

表 JFIF格式中APP0域的详细结构

image

图形文件格式常识

GIF(Graphics Interchange Format)文件
GIF是80年代初Compuserve公司针对网络传输带宽的限制,采用无损压缩方法中效率较高的LZW算法推出的一种高压缩比的彩色图像格式,主要用于图像文件的网络传输。GIF文件扩展名为.gif。考虑到网络传输中的实际情况,GIF除了一般的逐行显示方式外,还增加了渐显方式。也就是说,在图像传输过程中,用户可以先看到图像的大致轮廓,随着传输过程的继续而逐渐看清图像的细节部分,从而适应了用户的观赏心理,这种方式以后也被其他图像格式所采用,如JPEG等。最初,GIF格式只是为了存储单幅静止图像,称为GIF87a,后来进一步发展成为GIF89a,可以同时存储若干静止图像进而形成了动画。目前,网络上许多动画文件就采用了GIF89a。GIF文件的应用范围很广,是可在Macintosh、Amiga、Atati、IBM机器间进行移植的一种标准图像格式。

BMP(Bitmap)文件
BMP是Windows中的标准图像文件格式,已成为PC机Windows系统中事实上的工业标准,有压缩和不压缩2种形式。BMP文件扩展名为. bmp。BMP文件以独立于设备的方法描述位图,可以有黑白、16色、256色、真彩色等几种形式,能够被多种Windows应用程序所支持。

TIFF(Tag Image File Format)文件
TIFF由Aldus和微软联合开发,最早是为了存储扫描仪图像而设计的,因而它现在也是微机上使用最广泛的图像文件格式,在Macintosh和 PC机上移植TIFF文件也十分便捷。TIFF文件的扩展名为.tif或.tiff。该格式支持的颜色深度,最高可达24位,因此存储质量高,细微层次的信息多,有利于原稿的复制。该格式有压缩和非压缩2种形式,其中压缩采用的是LZW无损压缩方案。不过,TIFF格式包罗万象,造成了结构较为复杂,变体很多,兼容性较差,它需要大量的编程工作来全面译码。因此,有时您的软件能认识TIFF文件,有时可能就不认识,对此,您不必大惊小怪。另外,使用过 Photoshop的人都知道,在Photoshop中,*.tif文件可以支持24个通道,是除了Photoshop自身格式以外,惟一能存储多于4个通道的文件格式。

TGA(Tagged Graphics)文件
TGA是由美国Truevision公司为其显示卡开发的一种图像文件格式,已被国际上的图形、图像工业所接受。现在已成为数字化图像,以及运用光线跟踪算法所产生的高质量图像的常用格式。TGA文件的扩展名为.tga。TGA的结构比较简单,属于一种图形、图像数据的通用格式,目前大部分文件为24 位或32位真彩色,在多媒体领域有着很大影响。由于Truevision公司推出TGA的目的是为了采集、输出电视图像,所以TGA文件总是按行存储、按行进行压缩的,这使得它同时也成为计算机生成图像向电视转换的一种首选格式。

JPEG文件
JPEG是the Joint Photographic Experts Group(联合图像专家组)的缩写,是用于连续色调静态图像压缩的一种标准。其主要方法是采用预测编码(DPCM)、离散余弦变换(DCT)以及熵编码,以去除冗余的图像和彩色数据,属于有损压缩方式。JPEG是一种高效率的24位图像文件压缩格式,同样一幅图像,用JPEG格式存储的文件是其他类型文件的1/10~1/20,通常只有几十KB,而颜色深度仍然是24位,其质量损失非常小,基本上无法看出。 JPEG文件的应用也十分广泛,特别是在网络和光盘读物上,肯定都有它的影子。JPEG文件的扩展名为.jpg或.jpeg。

PNG(Portable Network Graphics)文件
PNG是一种可以存储32位信息的图像文件格式,采用无损压缩方式来减少文件的大小。目前越来越多的软件开始支持这一格式,而且在网络上也开始流行。 PNG文件的扩展名为.png。PNG使用的是高速交替显示方案,显示速度快,只需下载1/64的图像信息就可以显示出低分辨率的预览图像,遗憾的是它不支持动画。

WMF(Windows Metafile Format)文件
WMF是Windows中常见的一种图元文件格式,是矢量文件格式。它具有文件短小、图案造型化的特点,整个图形常由各个独立的组成部分拼接而成,但其图形往往较粗糙。WMF文件的扩展名为.wmf。

EMF(Enhanced Metafile)文件
EMF是微软公司开发的一种Windows 32位扩展图元文件格式,是矢量文件格式。其总体目标是要弥补使用WMF的不足,使得图元文件更加易于接受。EMF文件的扩展名为.emf。

EPS(Encapsulated PostScript)文件
EPS是用PostScript语言描述的一种ASCII码文件格式,即可以存储矢量图,也可以存储位图,最高能表示32位颜色深度,特别适合 PostScript打印机。该格式分为Photoshop EPS格式(Adobe Illustrator EPS)和标准EPS格式,其中标准EPS格式又可分为矢量格式和位图格式。EPS文件的扩展名为.eps。EPS一般包含2部分:第一部分是屏幕的低解析度影像,方便处理时的预览和定位; 第二部分包含各个分色的单独资料。

DXF(Autodesk Drawing eXchange Format)文件
DXF是AutoCAD中的矢量文件格式,它以ASCII码方式存储文件,在表现图形的大小方面十分精确。DXF文件可以被许多软件调用或输出。DXF文件的扩展名为.dxf。

SWF(Shockwave Format)文件
SWF是二维动画软件Flash中的矢量动画格式,主要用于Web页面上的动画发布。目前,已成为网上动画的事实标准。SWF文件的扩展名为.swf。

硬盘损坏是一件极其惨痛的事!

入职的时候开始陪伴我的一台新的Dell台式机,终于架不住每天十几个小时三年如一日的运行了,硬盘有了要崩溃的迹象,于是乎,立即申请了一块新硬盘,开始安装系统转移文件。

 b_1243695840739

虽然,原硬盘只有区区160G(新的1T,分四个磁盘每个磁盘都比原来的硬盘大),可是文件夹和文件那是相当的多和零碎,加上原硬盘本来就开始有问题了,总是有些文件/文件夹损坏,全盘复制总是会中断,无奈,只能一个个文件夹复制,出现子文件夹/文件有问题的话再进入一个个比较复制,每次遇到损坏的文件还总要死机一会儿,极其崩溃!

然后,经过两天时间,动用了大量工具的基础上,还是没转移完全部资料,今天还要加班转移文件。于是不禁担忧,如果现在这个1T的硬盘损坏的话,需要转移的资料将多么恐怖。所以,一定要尽量不存无关的东西。也终于理解了数据多备份和恢复是多么的关键。

总结:

  1. 飞鸽用于传输文件的速度比较快,它是一个独立程序,比起系统的复制功能要好的是复制文件的时候还能干别的事,文件出错不至于死机,但是一旦发生错误就停止且无法续传。
  2. BeyondCompare是一款优秀的文件比较工具,用它来比较两个目录然后复制就可以准确定位错误文件,在这里用比较好。

20101111103429

一个监控系统时间,定时自动关机程序

闲来无事,顺手写了程序监控系统时间,到达设定的时间后,可以自动关机。

下一步,再将它改写为一个可以自己读取配置脚本文件程序,就可以任意添加定时任务,这样就可以自己完成一个定时提醒功能的工具了!

定时关机的小工具代码列表如下,用VS2005生成的Windows应用程序,然后删除界面相关的无关代码,添加自己的代码,修改了头文件即可。

编译的结果添加到windows启动项中,即可随机启动。

   1: //shutDownWin32.h
   2:  
   3: #pragma once
   4:  
   5: #include "resource.h"
   6: #include "stdafx.h"
   7: #include "windows.h"
   8: //#include "thread.h"
   9: #include "iostream"
   1: //shutDownWin32.c
   2:  
   3: #include "stdafx.h"
   4: #include "shutDownWin32.h"
   5:  
   6: //保存时间的变量
   7: _SYSTEMTIME LocalTime ;
   8: LPSYSTEMTIME lpLocalTime = &LocalTime;
   9: bool  bWork = false ;
  10:  
  11: int APIENTRY _tWinMain(HINSTANCE hInstance,
  12:                      HINSTANCE hPrevInstance,
  13:                      LPTSTR    lpCmdLine,
  14:                      int       nCmdShow)
  15: {
  16:     //程序一直监控
  17:     while(1)
  18:     {
  19:         //获取系统时间 windows API
  20:         GetLocalTime( lpLocalTime );
  21:  
  22:         //21:00后就自动关机
  23:         if( (lpLocalTime->wHour>=21) && !bWork  )
  24:         {
  25:             //利用系统工具实现,60s后关机
  26:             system("shutdown -s -t 60");
  27:             bWork = true ;
  28:         }
  29:  
  30:         //间隔一秒后 再次读取系统时间 减少系统资源占用
  31:         Sleep(1000);
  32:     }
  33:  
  34:     return 0;
  35: }