用VBS解压ZIP文件,网上搜到的多数是调用WinRAR,一点技术含量也没有。Google一下“VBS 解压ZIP”,第二是搜搜问问“vbs实现解压缩zip文件”,满意答案是“所以想用vbs来解压这两种格式的文件,至少要有两种命令行解压工具,否则是绝对不可以的”。绝对不可以的,回答的人好自信啊,笑而不语~
(更多…)“程序设计”目录存档
用VBS解压缩ZIP文件
2010年12月13日,星期一没有main函数的C程序
2010年12月12日,星期日在Visual C++中新建一个Console Application工程,添加一个.c文件,代码如下:
#pragma comment(linker, "/Entry:demon") void demon() { __asm ret; }
严格的说这好像已经不是C程序了,而且和编译器有关。没错,这只是标题党。
WMI中的Win32_PingStatus类
2010年12月8日,星期三平时很少用到ping命令,所以这个类也没怎么用过,测试了一下,好像效率比ping要高。计算ping 100次demon.tw延迟的平均值。
IP = "demon.tw" WQL = "Select * from Win32_PingStatus Where Address = '$IP'" WQL = Replace(WQL,"$IP",IP) n = 0 : s = 0 Do Until n = 100 Set objWMIService = GetObject("winmgmts:\\.\root\cimv2") Set colItems = objWMIService.ExecQuery(WQL,,48) For Each objItem in colItems If objItem.StatusCode = 0 Then s = s + objItem.ResponseTime n = n + 1 End If Next Loop WScript.Echo "Average:" & s / n
你可以分配多大的内存?
2010年12月7日,星期二《C专家编程》中的一个程序,觉得挺有意思,记录一下。
运行下列程序,看看在你的进程中可以分配多大的内存。
#include <stdio.h> #include <stdlib.h> main() { int Mb = 0; while ( malloc(1<<20)) ++Mb; printf("Allocated %d Mb total\n", Mb); }
总共分配的内存量取决于交换区和你的系统配置中的进程限制。如果实际分配的内存块小于1M字节,你实际得到的内存是否比这要多一些?为什么?
为了让这个程序能够在有内存限制的MS-DOS上运行,把每次分配的单元从1MB改为1KB(就是把1<<20改为1<<10,并用KB代替MB)。
在我的系统物理内存为2GB,可以分配的内存大概是1880MB,你的系统呢?
另,在Windows系统中把1<<20改为1<<10会有很神奇的事情发生哦~
伪造电子邮件发送时间
2010年12月6日,星期一今天发短信问同学才知道经济法(开学到现在只去过两次)有小论文布置,而且老师要求在12月3日之前把论文的电子版发到他的邮箱,否则平时成绩按0分处理。
天啊,今天可是12月6日!平时成绩可是30分啊!没有平时成绩的话基本是不可能及格了!怎么办?根据爱因斯坦的相对论,时间是不可能倒流的,但是这并不表示我们不能向“过去”发邮件。在网络的世界,时间只不过是0和1罢了。
Const Email_From = "still.demon@gmail.com" Const Password = "password" Const Email_To = "jingjifa@163.com" '只是假想的邮箱 Set CDO = CreateObject("CDO.Message") CDO.Subject = "From The Future" CDO.From = Email_From CDO.To = Email_To CDO.TextBody = "Hello world!" Const schema = "http://schemas.microsoft.com/cdo/configuration/" With CDO.Configuration.Fields .Item(schema & "sendusing") = 2 .Item(schema & "smtpserver") = "smtp.gmail.com" .Item(schema & "smtpauthenticate") = 1 .Item(schema & "sendusername") = Email_From .Item(schema & "sendpassword") = Password .Item(schema & "smtpserverport") = 465 .Item(schema & "smtpusessl") = True .Item(schema & "smtpconnectiontimeout") = 60 .Update End With CDO.Send
把系统时间改成12月3日,用上面的代码发送邮件(理论上用邮件客户端也行,但是我没有测试),在163邮箱显示的发送时间是12月3日哦。幸好老师的邮箱是163的~