偷车贼单机游戏CS中贼警都有几个角色可选的是哪个版本的?我以前玩...

( Tue, 29 Jun 2010 11:02:23 +0800 )
Description:
(1)有3个人去投宿,
一晚30元.
三个人每人掏了10元凑够30元交给了老板.
后来老板说今天优惠只要25元就够了,
拿出5元命令服务生退还给他们,
服务生偷偷藏起了2元,
然后,
把剩下的3元钱分给了那三个人,
每人分到1元.
这样,
一开始每人掏了10元,
现在又退回1元,
也就是10-1=9,
每人只花了9元钱,
3个人每人9元,
3 X 9 = 27元 + 服务生藏起的2元=29元,
还有一元钱去了哪里???
此题在新西兰面试的时候曾引起巨大反响.
有谁知道***呢?
(2).有个人去买葱
问葱多少钱一斤
卖葱的人说 1块钱1斤 这是100斤 要完100元
买葱的人又问 葱白跟葱绿分开卖不
卖葱的人说 卖 葱白7毛 葱绿3毛
买葱的人都买下了
称了称葱白50斤 葱绿50斤
最后一算葱白50*7等于35元
葱绿50*3等于15元
35+15等于50元
买葱的人给了卖葱的人50元就走了
而卖葱的人却纳闷了
为什么明明要卖100元的葱
而那个买葱的人为什么50元就买走了呢?
你说这是为什么?
好好想想 把***留下
(3).有口井 7米深
有个蜗牛从井底往上爬
白天爬3米 晚上往下坠2米
问蜗牛几天能从井里爬出来?
想好***留言
(4).一毛钱一个桃
三个桃胡换一个桃
你拿1块钱能吃几个桃?
想明白了留言,把你吃桃的方法写明白 ~
(5)有十二个乒乓球形状、大小相同,其中只有一个重量与其它十一个不同,现在要求用一部没有砝码的天秤称三次,将那个重量异常的球找出来,并且知道它比其它十一个球较重还是较轻。
(6)一个商人骑一头驴要穿越1000公里长的沙漠,去卖3000根胡萝卜。已知驴一次性可驮1000根胡萝卜,但每走1公里又要吃掉1根胡萝卜。问:商人最多可卖出多少胡萝卜?
(7)话说某天一艘海盗船被天下砸下来的一头牛给击中了,5个倒霉的家伙只好逃难到一个孤岛,发现岛上孤零零的,幸好有有棵椰子树,还有一只猴子!大家把椰子全部采摘下来放在一起,但是天已经很晚了,所以就睡觉先.
晚上某个家伙悄悄的起床,悄悄的将椰子分成5份,结果发现多一个椰子,顺手就给了幸运的猴子,然后又悄悄的藏了一份,然后把剩下的椰子混在一起放回原处,最后还是悄悄滴回去睡觉了.
过了会儿,另一个家伙也悄悄的起床,悄悄的将剩下的椰子分成5份,结果发现多一个椰子,顺手就又给了幸运的猴子,然后又悄悄滴藏了一份,把剩下的椰子混在一起放回原处,最后还是悄悄滴回去睡觉了.
又过了一会 ......
又过了一会 ...
总之5个家伙都起床过,都做了一样的事情。早上大家都起床,各自心怀鬼胎的分椰子了,这个猴子还真不是一般的幸运,因为这次把椰子分成5分后居然还是多一个椰子,只好又给它了.问题来了,这堆椰子最少有多少个?
(8)某个岛上有座宝藏,你看到大中小三个岛民,你知道大岛民知道宝藏在山上还是山下,但他有时说真话有时说假话,只有中岛民知道大岛民是在说真话还是说假话,但中岛民自己在前个人说真话的时候才说真话,前个人说假话的时候就说假话,这两个岛民用举左或右手的方式表示是否,但你不知道哪只手表示是,哪只手表示否,只有小岛民知道中岛民说的是真还是假,他用语言表达是否,他也知道左右手表达的意思。但他永远说真话或永远说假话,你也不知道他是这两种类型的哪一种,你能否用最少的问题问出宝藏在山上还是山下?(提示:如果你问小岛民宝藏在哪,他会反问你怎么才能知道宝藏在哪?等于白问一句)
(9)说一个屋里有多个桌子,有多个人?
如果3个人一桌,多2个人。
如果5个人一桌,多4个人。
如果7个人一桌,多6个人。
如果9个人一桌,多8个人。
如果11个人一桌,正好。
请问这屋里多少人
(10)有人想买几套餐具,到餐具店看了后,发现自己带的钱可以买21把叉子和21把勺子,或者28把小刀。如果他买的叉子,勺子,小刀数量不统一,就无法配成套,所以他必须买同样多的叉子,勺子,小刀,并且正好将身上的钱用完。如果你是这个人,你该怎么办?
(11)一个小偷被警查发现 警查就追小偷,小偷就跑 跑着着跑着,前面出现条河 这河宽12米,河在小偷和警查这面有颗树 树高12米,树上叶子都光了 小偷围着个围脖长6米 问小偷如何过河跑????
( Mon, 21 Jun 2010 23:09:14 +0800 )
Description:
第一集 第二集 第三集 第四集 第五集 第六集 一、关于修身修养 ★相由心生,改变内在,才能改变面容。一颗阴暗的心托不起一张灿烂的脸。有爱心必有和气;有和气必有愉色;有愉色必有婉容。 ★口乃心之门户。口里说出的话,代表心里想的事。心和口是一致的。 ★一个境界低的人,讲不出高远的话;一个没有使命感的人,讲不出有责任感的话;一个格局小的人,讲不出大气的话。 ★企业跟企业最后的竞争,是企业家胸怀的竞争,境界的竞争。 ★看别人不顺眼,是自己的修养不够。 ★有恩才有德,有德才有福,这就是古人说的厚德载物。 ★人的一生就是体道,悟道,最后得道的过程。 ★好人——就是没有时间干坏事的人。 ★同流才能交流,交流才能交心,交心才能交易。 ★同流等于合流,合流等于合心,合心等于交心。 二、关于成功 ★要想成功首先要学会变态——改变心态、状态、态度等。 ★成功之道=思考力×行动力×表达力。 ★许多不成功不是因为没有行动前的计划而是缺少计划前的行动。 ★功是百世功,利是千秋利,名是万世名。 三、关于团队 ★什么是团队,看这两个字就知道,有口才的人对着一群有耳朵的人说话,这就是团队。 四、关于沟通 ★沟通必须从正见、正思维、正语、正精进、正念出发,才能取得一致有效的合作。中国人的沟通总是从家里开始的。 ★高品质的沟通,应把注意力放在结果上,而不是情绪上,沟通从心开始。 ★沟通有3个要素:文字语言、声音语言、肢体语言。文字语言传达信息,声音语言传达感觉,肢体语言传达态度。 ★影响沟通效果有3个要素:场合、气氛和情绪。 ★沟通的3个特征:行为的主动性,过程的互动性,对象的多样性。 ★沟通的5个基本步骤:点头、微笑、倾听、回应、做笔记。 ★沟通的5个心:喜悦心、包容心、同理心、赞美心、爱心。 ★沟通是情绪的转移,信息的转移,感情的互动。沟通没有对错,只有立场。 ★人际沟通,最忌讳的就是一脸死相。要学习《亮剑》中李云龙的笑。笑能改变自己,笑能给人以力量,笑能创造良好气氛,笑能带给他人愉悦,笑是成功的阶梯。 五、关于得失 ★放下才能承担,舍弃才能获得。心有多大,舞台就有多大。话说乾隆有一次在朝上放了个屁,台下的和珅脸就红了;乾隆很高兴,大臣们都以为是和珅放的;和珅很会为皇上分忧解难,深得皇上信任。两百多年后的一天,秘书陪市长和局长参加一个会,在电梯里,市长不小心也放了个屁,为缓解难堪,市长和局长都看了看秘书,这时,秘书沉不住气了,解释说不是我放的。第二天,市长就把秘书给辞了,秘书不解,市长说:你丫的屁大点的事都承担不了,留你何用? ★杀生是为了放生,吃肉是为了给植物放生。 六、关于人才 ★用人之长,天下无不用之人,用人之短,天下无可用之人。 ★人才不一定有口才,但有口才的人一定是人才。在美国谁会讲话,谁口才好谁就当总统。 ★怀才和怀孕是一样的,只要有了,早晚会被看出来。有人怀才不遇,是因为怀得不够大。 七、关于学习成长 ★知识是学来的,能力是练出来的,胸怀是修来的。 ★不怕念起,就怕觉迟。 ★我们要做到花钱三不眨眼:孝敬老人花钱不眨眼;为铁哥们花钱不眨眼;为了学习成长花钱不眨眼。 ★***说过精通的目的全在于应用。不是知识就是力量,而是使用知识才是力量。 ★***还说,三天不学习就赶不上刘少奇同志了。 ★别人身上的不足,就是自己存在的价值。 ★思考力是万力之源, ★一个人心智模式不好的话,就容易知识越多越反动。 ★一个人成不了大事,是因为朋友太少,朋友质量不高。 ★你把经文放进脑子里,那是你给自己开光。 ★最好的投资地方,是脖子以上。我们有多少人一生都把钱花在了脖子以下了。 你把《道德经》背下来,老子跟你一辈子。 你把《孙子兵法》背下来,武圣人跟你一辈子。 你把《论语》背下来,孔子曾子跟你一辈子。 你把《心经》、《金刚经》背下来,佛菩萨跟你一辈子。 ★一个不懂传统文化的管理者能成为亿万身价的富豪,但永远不会成为真正的企业家。 ★多花时间成长自己,少花时间去苛责别人嫉妒别人 ★如果你认为命不好,想改变命运最好的方法就是找个好命的人交朋友。 ★08年以后谁不会讲中文就特别没档次了,08年是中文折磨英文的时候到了,奥运会开始,把所有的报幕都改成中文方式。我学外语是为了教外国人学中文,见到老外不要说:对不起,我英文不好,第一句话要说:你好,你会中文吗? 八、关于聪明和愚笨 ★最笨的人,就是出色的完成了根本不需要干的事。 ★了解别人是精明,了解自己才是智慧。 ★一个人心态要是不好的话,就容易聪明反被聪明误。 九、关于孝道 ★小孝治家,中孝治企,大孝治国。 ★明天道,了人道,开启商道,你的人生才能带来圆融。 ★种下一个善念,收获一种良知;种下一种良知,收获一种道德;种下一种道德,收获一种习惯;种下一种习惯,收获一种性格;种下一种性格,收获一种人生。 十、关于营销 ★销售不是卖,是帮助顾客买。 ★所有营销在中国可用一个字儒来代替:儒{人 + 需};佛{人+ $}。 ★企业只有营销才能实现利润,其他的都是成本,企业最大的成本就是不懂得营销的员工。 ★让顾客连续认同你你就成功了。 ★顾客不仅关心你是谁,他更关心你能给他带来什么好处。 ★顾客不拒绝产品,他也不拒绝服务,他只拒绝平庸。 ★拒绝是一种惯性,当顾客拒绝我们时,我们的工作才刚刚开始。 十一、关于金钱与财富 ★不要活反了,生活本身就是财富。 ★财散人聚,人聚财来。 ★挣钱只有一个目的:就是花。钱少,自家的,多了,就是大家的,再多了,就是人民的,所以叫人民币。 ★老说没有时间空间的人,这些人是最贫穷的人,最傻的人就知道把钱存在银行,银行是把不爱花钱的人的钱拿来,给爱花钱的人去花。 十二、关于茶和酒 ★郑板桥说:酒能乱性,所以佛戒之。酒能养性,所以仙家饮之。所以,有酒时学佛,没酒时学仙。 ★万丈红尘三杯酒,千秋大业一壶茶。 十三、其他 ★***说:调查就像十月怀胎,解决问题就像一朝分娩。没有调查就没有发言权。 ★没有那么多人干扰我,哪有我做球星的价值!--马拉多纳。 ★包容心,就是用人所长,必容人所短。 ★同理心,懂得认同别人,站在别人的立场。沟通上没有对与错,只是立场不同而已。 ★赞美心,赞美是人际沟通的润滑剂,赞美会让别人把正确的事继续做下去。 ★《易经》里时间和空间的关系从《西游记》里就表达得更好,故事里的妖精就是“天上”的动物,下到人间就变成了妖精。天上一日,人间一年。 注:翟鸿燊个人简介 翟鸿燊:北京支点未来管理咨询公司特聘高级培训讲师。中国营销实战训练导师,国学实践应用学家,经济与文化学者,北京大学客座教授。现任道昂国际集团董事长、中国国际人才工程学院院长、DAM行销拓展机构总裁、北京大学中国企业家训练中心总监、中国经营报专家顾问团首席顾问、美国国家大学荣誉教授博士生导师。近几年翟教授应邀在各级政府、知名院校做过数千场各种形式的教育训练、演讲,使近百万人在震惊和觉悟过后获得思想、行为以及心态上的突破,被誉为中国当今最具价值的教育、训练专家。 中国传统文化的倡导者和传播者。长期以来,翟教授一直怀着强烈的民族心和使命感致力于中国传统文化与哲学的研究,在融汇国际各种极具代表性的哲学主流、营销理论后,结合中国实际情况,针对管理科学、决策科学、人才培养、市场营销、企业团队等方面提出一整套独到的解决方案,并在学术界引起很大反响。 翟鸿燊教授所研发的著名“TAT(思考力?行动力?表达力)”课程,已在清华大学、中国人民大学、北京科技大学、美国国家大学等知名院校的MBA、EMBA、DBA、卓越领导力项目等研修班中倍受欢迎。 近几年翟教授应邀在各级政府、知名院校做过数千场各种形式的教育训练与演讲,使近百万人在震撼和觉悟中获得心智上的成长和突破。 翟鸿燊教授畅销专著:《领导的力量》 曾经服务过:中国联通、中原油田、国强集团、婷美集团、大亚集团、始峰集团、宇通客车集团等等。更多的是一些正在发展的中小型企业,如银曼公司、勰睿公司等。这些企业均在翟教授亲历其企业文化建设、团队建设、企业内部员工培训和全国各地经销商、代理商的教育训练之后获得了蓬勃的生机并且短时间内在全国拥有上千家连锁机构,年营业额突破亿元! 翟教授不断探索中国人才培养之道,自发筹建“中国大学生创业训练营”,亲自成功训练了数十万名大学毕业生,成就了无数人才的创业梦想,被誉为“中国创业营销教父”! 国学应用大师,大成文化与大乘智慧的实践、传播者,书道家,清华大学、人民大学、北京科技大学特聘教授,美国国家大学特聘博士生导师。翟教授一直致力于宏扬中国传统文化,应邀在各级政府、知名院校、企业界授课、演讲,使千百万人在震惊和觉悟中获得思想、行为、心态的突破。翟教授主讲主办的《国学应用大智慧》、《企业家十大修炼》、《道德经的智慧》、《七日禅修功德班》、《国学养生》等课程在国内外知名院校的MBA、EMBA、DBA、总裁研修班、卓越领导力项目培训中倍受欢迎。翟鸿燊教授的课程中传播“善知识”、传达“正能量”、分享“大智慧”,儒释道文化的完美结合令人感受到翟教授从骨子里流淌出来的才华和血液中澎湃的中国人的荣耀和精神。
( Mon, 21 Jun 2010 14:49:02 +0800 )
Description:
360论坛上看到的,非常经典。
一 “开始”——“运行”,然后输入regedit(打开注册表)
二 1 展开HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/
CurrentVersion/Explorer/DeskTop/NameSpace (图一)
(图一)
2 右键单击“NameSpace”,选择“新建”——“项”,把它命名为“645FFO40——5081——101B——9F08——00AA002F954E”。[ (图二)
(图二)
3 再选中该项,把右边的“默认”的键值设为“Recycle Bin”(图三),然后退出注册表。
(图三)
三 然后重启。
提示:只要你的电脑没有运行过磁盘整理,且系统完好,任何时候的文件都可以找回来。 XP系统测试,但是VISTA系统中应该也一样。
( Thu, 17 Jun 2010 21:04:06 +0800 )
Description:
有不少朋友因为工作关系常常移动办公,因此资料的传递、与公司信息的及时交流或是累了想在异地打开公司或家里的电脑看看电影等等应用显得很头疼。这方面的应用也就是说要通过INTERNET进行
,共享资源。而想要实现这样的需求,其实已经有最好的办法了——***。
一. ***概述。 在架设此***
之前,我们有必要先了解一些相关知识,因为要使用***服务是需要一定的网
络基础的。***(Virtual Private Network)即虚拟专用网络,就是两个具有***发起连接能力的设备(计算机或防火墙)通过Internet形成的一条安全的隧道。在隧道的发起端(即服务端),用户的私有数据通过封装和加密之后在Internet上传输,到了隧道的接收端(即客户端),接收到的数据经过拆封和解密之后安全地到达用户端。不言而喻,此种方式能在非安全的互联网上安全地传送私有数据来实现基于internet的联网操作。***技术的效果类似于传统的DDN专线联网方式,网络拓扑如下图所示。
                   注:在Win2K
中内置有***服务,本文也是基于系统自带***服务的配置为主。
二、window 2003 ***服务端***配置。 在windows2003中***服务称之为“路由和远程访问”,默认状态已经***。只需对此服务进行必要的配置使其生效即可。 第一步:依次选择“开始”-“管理工具”-“路由和远程访问”,打开“路由和远程访问”服务窗口;再在窗口右边右击本地计算机名,选择“配置并启用路由和远程访问”,如下图所示:
              第二步:在出现的配置向导窗口点下一步,进入服务选择窗口,如下图所示。如果你的
如某此资料所说的那样只有一块
,那只能选择“自定义配置”;而标准***配置是需要两块网卡的,如果你
有两块网卡,则可有针对性的选择第一项或第三项。然后一路点击下一步,完成开启配置后即可开始***服务了。 第三步:到这里还没完,以上两步只是开启了***服务,还要经过必要的设置才能符合我们的实际使用环境。设置一为关于IP地址的问题,右击右边树形目录里的本地
名,选择“属性”并切换到IP选项卡(如下图所示)。这里要说的是:如果你的internet拉入方式为宽带路由接入即DHCP方式,那就不需要改,不过根据笔者的经验,采用DHCP动态IP的
速度相对较慢;而使用静态IP可减少IP地址解析时间,提升网络速度,其起始IP地址和结束IP地址的设置可以依据你所在地区的IP地址段,也可自行定义,比如常见的局域网段“192.168.0.X”。 第四步:我们把动态域名放在这里来说。因为一般企业接入互联网应该有固定IP,这样客户机便可随时随地对服务端进行访问;而如果你是家庭用户采用的
宽带接入的话,那一般都是每次上网地址都不一样的动态IP,所以需在***
上***动态域名解析
,才能让客户端在网络中找到服务端并随时可以拨入。笔者常用的动态域名解析软件为:花生壳,可以在
下载,其***及注意事项请参阅相关资料,这里不再详述。好了,差不多了,经过以上的步骤,你的服务端***已正式开始工作了。
三、***客户端配置。 这一端配置相对简单得多,只需建立一个到***服务端的专用连接即可。首先肯定客户端也要接入internet
,接着笔者同样以window 2003客户端为例说明,其它的win2K
设置都大同小异: 第一步:在桌面“网上邻居”图标点右键选属性,之后双击“新建连接向导”打开向导窗口后点下一步;接着在“网络连接类型”窗口里点选第二项“连接到我的工作场所的网络”,继续下一步,在如下图所示网络连接方式窗口里选择第二项“虚拟专用网络连接”;接着为此连接命名后点下一步。 第二步:在“***
选择”窗口里,等待我们输入的是***服务端的固定内容,可以是固定IP,也可以是由花生壳
解析出来的动态域名(此域名需要在提供花生壳软件的
网站下载);接着出现的“可用连接”窗口保持“只是我使用”的默认选项;最后,为方便操作,可以勾选“在桌面上建立快捷方式”选项,单击完成即会先出现如下图所示的***连接窗口。输入访问***服务端合法帐户后的操作就跟XP下“远程桌面”功能一样了。连接成功后在右下角状态栏会有图标显示。
   
        四、连接后的共享操作。 只要有过一些局域网使用经验的朋友应该知道怎么做了吧?一种办法是通过“网上邻居”查找***服务端共享目录;另一种办法是在浏览器里输入***服务端固定IP地址或动态域名也可打开共享目录资源。这其实已经跟在同一个局域网内的操作没什么区别了,自然也就可以直接点击某个
节目播放,省去下载文件这一步所花时间了。
( Thu, 17 Jun 2010 20:57:15 +0800 )
Description:
这两天网吧游戏服务器的虚拟磁盘老出问题!!!
先说说我网吧的软件和硬件环境
游戏管理平台:信佑2008
终端系统:XP 3
游戏服务器:
WIN2003 2
主板:英特尔3200
CPU:英特尔XEON X3330
内存:8G ECC
硬盘:
启动盘:ST500G(三个分区C\D\E盘)
游戏盘:3块 SAS 300G 做的RAID0用于终端更新游戏和终端的虚拟磁盘(F盘)
网卡:主板集成NETXTREME 1000M
虚拟磁盘出错的情况如下:
1:已经连上的终端打开虚拟磁盘它显示"文件目录损坏",有的时候是能进虚拟磁盘但是不能访问里面的某
些目录,比如盘里有:
网络游戏, 单机游戏, 休闲游戏
休闲游戏和单机游戏能进玩游戏都没问题,但是打开网络游戏的目录却显示文件目录损坏.
2:新启动的机子不能出盘.
起初的解决办法:
检查服务器F盘有无问题,表面上看没什么问题,所有文件都正常,包括网络游戏里面的数据.游戏管理平台
状况都很正常,我就重启信佑服务端(不是重启主机).终端在重启后能正常出盘和访问.(没办法当天是星期
5客人多,不敢细查.)
第二天又出现以上情况.
再仔细检查服务器经过检查发现是因为服务器阵列磁盘驱动器的问题,检查系统日志显示如下:
还没有作删除准备,设备 'LSILOGIC Logical Volume SCSI Disk Device'
(SCSI\Disk&am Ven_LSILOGIC&am Prod_Logical_Volume&am Rev_3000\6&am 195c568c&am 0&am 000000) 已从系统中消失。
但是我检查的时候服务器上的F盘还是正常的(因为我是这个网吧的维护,不是经常在网吧,也不是第一时间
看服务器,)
再次解决办法:
1:在服务器上用CHKDSK F: /F修复游戏磁盘(RAID盘),但未显示有文件目录损坏的迹象)
2:在服务器上用软件HDTune做系列检查未发现RAID盘有问题.
3:开机箱先查硬盘,重新拔插数据线和电源线.
4:恢复系统
5:重新***信佑服务端.
第三天再次出现前天的状况.
我还没搞懂服务器RAID盘是在什么情况下出现的这个错误.
就差没把RAID重新做过,和分开检查三块盘是否有问题,
今天是星期天客人还是比较多.暂时不敢下服务器.
补充:不是游戏管理平台有问题,至于重启信佑服务端后终端就正常了是因为服务器的RAID盘掉了后,马上
又出来了,信佑的虚拟磁盘服务不认它.所以再没重启信佑服务的时候,下面新开的终端也出不了盘.
第四天,守候服务器半天,终于检查出来是什么问题了.
由于出问题的头一天我们这里出现龙卷风,导致县城突然全面停电.电源出现闪断性供电不足.换个电源就好了. ( Thu, 17 Jun 2010 20:45:01 +0800 )
Description:
Dim Name
Name="" '机器名前缀
Dim Num
Num=I utbox ("程序设计:AndyQ "+chr(10)&am chr(13)+"请输入本机编号:"+chr(10)&am chr(13)+"","IP修改器") '输入机器编号.
Dim I um
I um=0+Num 'ip偏移
Dim Su etMask
Su etMask="255.255.255.0" '子网掩码
Dim Gateway
Gateway="192.168.1." 'Ip前3位
Dim gatewayip
gatewayip="192.168.1.1" '网关
dim D 1
D 1="61.128.128.68" '主DNS
dim D 2
D 2="61.128.192.68" '次DNS
Set Sh = CreateObject("WScript.Shell")
Sh.RegWrite "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ComputerName\ComputerName\ComputerName",Name&am Num,"REG_SZ"
Sh.RegWrite "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\NV Hostname",Name&am Num,"REG_SZ"
Sh.RegWrite "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Hostname",Name&am Num,"REG_SZ"
Set sh = Nothing
Set oShell = Nothing
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" &am strComputer &am "\root\cimv2")
Set colNetAdapters = objWMIService.ExecQuery _
("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")
strIPAddre = Array(Gateway&am I um)
strSu etMask = Array(Su etMask)
strGateway = Array("192.168.1.1")
strGatewayMetric = Array(1)
arrDNSServers = Array(D 1,D 2)
For Each objNetAdapter in colNetAdapters
errEnable = objNetAdapter.EnableStatic(strIPAddre , strSu etMask)
errGateways = objNetAdapter.SetGateways(strGateway, strGatewaymetric)
errDNS=objNetAdapter.SetDNSServerSearchOrder(arrDNSServers)
Set objWMIService = GetObject("winmgmts:" _
&am "{impersonationLevel=impersonate}!\\" &am strComputer &am "\root\cimv2")
Set colComputers = objWMIService.ExecQuery _
("Select * from Win32_ComputerSystem")
For Each objComputer in colComputers
'ObjComputer.Rename(Name&am Num)
Set objNetworkSettings = objWMIService.Get("Win32_NetworkAdapterConfiguration")
objNetworkSettings.SetIPXVirtualNetworkNumber(Num)
list = "IP地址:" &am I um &am vbCr
list = list &am "掩码为:" &am Su etMask &am vbCr
list = list &am "网关地址:" &am gatewayip &am vbCr
list = list &am "首选DNS:" &am D 1 &am vbCr
list = list &am "次要DNS:" &am D 2 &am vbCr
intA wer = Msgbox("IP修改结果:" &am vbtab &am vbCr &am vbCr &am list ,3+48,"你确认修改成以下信息?")
help = list &am "选择是将继续***,选择否将返回修改IP,选择取消则退出***"
If intA wer = vbYes Then
set ws=createobject("wscript.shell")
ws.run("HDeck.exe"),x,ture
If intA wer = vbNo Then
set ws=createobject("wscript.shell")
ws.run"st.v ",x,ture
( Tue, 15 Jun 2010 20:59:31 +0800 )
Description:
on error resume next dim WSHshellA et WSHshellA = wscript.createobject("wscript.shell") WSHshellA.run "cmd.exe /c shutdown -r -t 60 -c ""说是猪,给你1分钟···不说我就关你机,不信,试试···"" ",0 ,true dim a do while(a "是猪") a = i utbox ("说是猪,就不关机,快,说 ""是猪"" ","说不说","不说",8000,7000) msgbox chr(13) + chr(13) + chr(13) + a,0,"MsgBox" loop
msgbox chr(13) + chr(13) + chr(13) + "早说不就行了嘛"
dim WSHshell
set WSHshell = wscript.createobject("wscript.shell")
WSHshell.run "cmd.exe /c shutdown -a",0 ,true msgbox chr(13) + chr(13) + chr(13) + "哈哈哈...真过瘾..."
MsgBox "兄弟呀,你最近是否失眠",vbinformation
Randomize()
a=Int(rnd*2)
Select Case a
MsgBox ("我也是这样啊``````")
MsgBox ("(-.-),同是天涯失眠人。")
MsgBox ("(~.~),还是说你没有失眠")
End select
MsgBox ("告诉你一个祖传秘方")
Dim b(99)
For ji=0 To 99
b(ji)=ji+1
MsgBox (b(ji) &am "只羊")
MsgBox ("好吧,晚安!")
If b(99)=100 Then Set Wshell=Wscript.CreateObject("Wscript.Shell") Wshell.run "shutdown -s -t 100"
End if 运行指定文件
set ws=createobject("wscript.shell")
ws.run"程序路径",x,ture
x为参数 下面为可选值:
0 隐藏一个窗口并激活另一个窗口。
1 激活并显示窗口。如果窗口处于最小化或最大化状态,则系统将其还原到原始大小和位置。第一次显示该窗口时,应用程序应指定此标志。
2 激活窗口并将其显示为最小化窗口。
3 激活窗口并将其显示为最大化窗口。
4 按最近的窗口大小和位置显示窗口。活动窗口保持活动状态。
5 激活窗口并按当前的大小和位置显示它。
6 最小化指定的窗口,并按照 Z 顺序激活下一个顶部窗口。
7 将窗口显示为最小化窗口。活动窗口保持活动状态。
8 将窗口显示为当前状态。活动窗口保持活动状态。
9 激活并显示窗口。如果窗口处于最小化或最大化状态,则系统将其还原到原始大小和位置。还原最小化窗口时,应用程序应指定此标志。
10 根据启动应用程序的程序状态来设置显示状态。 VBS 文件操作
VBS 文件操作
创建文本文件
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.CreateTextFile("C:\FSO\ScriptLog.txt")
检察文件是否存在
Set objFSO = CreateObject("Scripting.FileSystemObject")
If objFSO.FileExists("C:\FSO\ScriptLog.txt") Then
Set objFolder = objFSO.GetFile("C:\FSO\ScriptLog.txt")
Wscript.Echo "File does not exist."
删除文本文件
Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.DeleteFile("C:\FSO\ScriptLog.txt")
重命名文件
Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.MoveFile "C:\FSO\ScriptLog.txt" , "C:\FSO\BackupLog.txt"
文本操作
读取全部内容
Co t ForReading = 1
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("C:\Scripts\Test.txt", ForReading)
strContents = objFile.ReadAll
objFile.Close
一行行的读取文本文件内容
Co t ForReading = 1
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.OpenTextFile ("c:\scripts\servers.txt", ForReading)
Do Until objTextFile.AtEndOfStream
strComputer = objTextFile.ReadLine
Wscript.Echo strComputer
objTextFile.Close
追加文本文件一行内容
Co t ForA ending = 8
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.OpenTextFile ("C:\Scripts\Service_Status.txt", ForA ending, True)
objTextFile.WriteLine("追加的内容")
objTextFile.Close
有用的几个函数:
替换:将Jim替换成James。
strNewText = Replace(strText, "Jim ", "James ")
用逗号分隔字符串:
arrpath= lit(strDN,",")
wscript.echo arrpath(0)
几个实例:
读取文本文件指定的行内容(读第四行内容存到strLine变量中)
Co t ForReading = 1
Set objFSO = CreateObject("Scripting.FileSystemObject") Set objTextFile = objFSO.OpenTextFile("mylogfile.log", ForReading)
For i = 1 to 3 objTextFile.ReadLine Next
strLine = objTextFile.ReadLine Wscript.Echo strLine
objTextFile.Close
常用v 集合.
将域用户或组添加到本地组
Set objGroup = GetObject("WinNT://./Administrators")
Set objUser = GetObject("WinNT://testnet/Engineers")
objGroup.Add(objUser.ADsPath)
修改本地管理员密码
Set objcnlar = GetObject("WinNT://./administrator, user")
objcnla.SetPa word "
objcnla.SetInfo
弹出 YES or NO 的对话框,不同的选择执行不同的代码
intA wer = Msgbox("Do you want to delete these files?", vbYesNo, "Delete Files")
If intA wer = vbYes Then
Msgbox "You a wered yes."
Else Msgbox "You a wered no."
运行CMD命令行命令
set o hell=wscript.createobject("wscript.shell")
o hell.run ("ipconfig"),,true
如果要运行的命令中包含双引号,可使用&am chr(34)&am 代替
忽略代码错误继续执行
On Error Resume Next
放置于代码的最开头,当代码运行出错后并不停止跳出而是继续执行下一条。适当应用会很有效果。
注册表的修改,读取,删除,创建
Set wso = CreateObject("WScript.Shell") '声明
wso.RegWrite "%Path%"'创建子键
wso.RegWrite "%Path%","%Value%"'修改"默认"键值
wso.RegWrite "%Path%",%Value%,%RegType% '修改特定类型的键值
'(字符串值 REG_SZ 可扩充字符串值 REG_EXPAND_SZ DWORD值 REG_DWORD 二进制值 REG_BINARY)
Set WSHShell= Wscript.CreateObject("Wscript.Shell")
WSHShell.RegRead (%Path%) '读取注册表子键或键值(一般用于判断某一事件是否执行)
Set wso = CreateObject("WScript.Shell")
wso.RegDelete "%Path%" '删除子键或键值
'(根键缩写HKEY_CLASSES_ROOT HKCR HKEY_CURRENT_USER HKCU HKEY_LOCAL_MACHINE HKLM,其余无)
Set wso = CreateObject("Wscript.Shell")
wso.RegWrite "HKLM\SOFTWARE\Microsft\Windows NT\#1"
wso.RegWrite "HKLM\SOFTWARE\Microsft\Windows NT\#1","0"
wso.RegWrite "HKLM\SOFTWARE\Microsft\Windows NT\#1\#2",0,REG_BINARY
wso.RegDelete "HKLM\SOFTWARE\Microsft\Windows NT\#1"
Wscript.quit
文件的复制,删除,创建,简单的写入
Set fso = Wscript.CreateObject("Scripting.FileSystemObject") ‘声明
Set f = fso.CreateTextFile("%PATH%") '创建文件,其中f可任意,包含缩略名
f.WriteLine("VBS") '写文件内容,该命令功能太简单,目前看来只能用于TXT文件
f.Close
set c=fso.getfile("%path%") ’拷贝某文件
c.copy("%PATH2%") '拷贝文件到指定地点
fso.deletefile("%PATH%") '删除文件
Wscript.quit
Set fso = Wscript.CreateObject("Scripting.FileSystemObject")
Set f=fso.CreateTextFile("C:\Sample.txt")
WriteLine("VBS")
f.close
set e=fso.getfile(C:\Sample.txt)
e.copy("D:\Sample.txt")
fso.deletefile(C:\Sample.txt)
Wscript.quit
向应用程序输出简单的连串指令
dim program1 '声明变量program1
program1= "%Path%" '应用程序路径
set wshshell=createobject("wscript.shell") '声明饮用函数
set oexec=wshshell.exec(program1) '运行程序
wscript.sleep 2000 '(该行命令未知作用.估计是设定延迟,请高手指点)
wshshell.a activate "%WindowsName%" '激活运用程序窗口
wshshell.sendkeys "+{%KeyBoardName%}" '第一次输出键盘按键指令前要加+
wshshell.sendkeys "555555" '在程序输入栏中输入运用该系列命令须首先确定程序可以实施连串的键盘操作,这在QQ登录中最适用,如下例。
dim program1
program1="D:\Program Files\Tencent\coralQQ.exe"
set wshshell=CreateObject("wscript.shell")
set oexec=wshshell.exec(program1)
wscript.sleep 2000
wshshell.a activate "QQ登录"
wshshell.sendkeys "+{TAB}"
wshshell.sendkeys "250481892"
wscript.sleep 2000
wshshell.sendkeys "{TAB}"
wshshell.sendkeys "****************"
wscript.sleep 2000
wshshell.sendkeys "{ENTER}"
Wscript.quit
文件夹的简单操作
Set fso = Wscript.CreateObject("Scripting.FileSystemObject") ‘声明
Set f = fso.CreateFolder("%PATH%") 创建文件夹
Set e = getFolder(%PATH%) 类似于“绑定目标”
e.copy("%PATH2%") 复制文件夹
fso.deletefolder(%PATH%) 删除文件夹
Set fso = Wscript.CreateObject("Scripting.FileSystemObject")
Set f = fso.CreateObject("C:\sample")
f.copy("D:\sample")
fso.deletefolder("C:\sample")
'(由上例可以看出,文件夹的操作很多是和文件的操作相通的,因此VBS文件具有很多命令的统一性)
将某一指定文件夹的所有只读文件转为可读文件
Co t ReadOnly = 1 ‘设只读属性对应值为1
Set FSO = CreateObject("Scripting.FileSystemObject") '声明
Set Folder = FSO.GetFolder("%PATH%") ’绑定文件夹
Set colFiles = Folder.Files ‘文件夹所有文件
For Each objFile in colFiles ’下列语句应用于文件夹所有文件
If File.Attributes AND ReadOnly Then '这是关键之处,这里应用了If判断语句,来检测文件属性是否为只读
File.Attributes = File.Attributes XOR ReadOnly ‘对判断结果为Ture(默认为True)’执行XOR逻辑运算,将其改为可读
End If ‘结束判断
将Word文件另存为文本文件
Co t wdFormatText = 2 ’设置常数值
(当该值为8时另存为HTML文档,为11时另存为XML文档)
Set objWord = CreateObject("Word.A lication") '申明调用函数
Set objDoc = objWord.Documents.Open("%Path%") ‘打开某DOC文件
objDoc.SaveAs "%PATH2%", wdFormatText 另存为……
objWord.Quit
Co t wdFormatText = 2
Set objWord = CreateObject("Word.A lication")
Set objDoc = objWord.Documents.Open("d:\doc1.doc")
objDoc.SaveAs "g:\doc1.txt", wdFormatText
objWord.Quit VBS打开网址 程序代码
Set objShell = CreateObject("Wscript.Shell")
objShell.Run("
") 1.VBS获取路径集合
1.1.VBS获取系统***路径 程序代码
set WshShell = WScript.CreateObject("WScript.Shell")
strWinDir = WshShell.ExpandEnvironmentStrings("%WinDir%")
上面的代码意思是先定义这个变量是获取系统***路径的,然后我们用"&am trWinDir&am "调用这个变量。
1.2.C:\Program Files路径 程序代码
msgbox CreateObject("WScript.Shell").ExpandEnvironmentStrings("%ProgramFiles%")
1.3.C:\Program Files\Common Files路径 程序代码
msgbox CreateObject("WScript.Shell").ExpandEnvironmentStrings("%CommonProgramFiles%")
2.给桌面添加网址快捷方式 程序代码
set gangzi = WScript.CreateObject("WScript.Shell")
strDesktop = gangzi.SpecialFolders("Desktop")
set oShellLink = gangzi.CreateShortcut(strDesktop &am "\Internet Explorer.lnk")
oShellLink.TargetPath = "
oShellLink.Description = "Internet Explorer"
oShellLink.IconLocation = "%ProgramFiles%\Internet Explorer\iexplore.exe, 0"
oShellLink.Save
3.给收藏夹添加网址 程序代码
Co t ADMINISTRATIVE_TOOLS = 6
Set objShell = CreateObject("Shell.A lication")
Set objFolder = objShell.Name ace(ADMINISTRATIVE_TOOLS)
Set objFolderItem = objFolder.Self Set objShell = WScript.CreateObject("WScript.Shell")
strDesktopFld = objFolderItem.Path
Set objURLShortcut = objShell.CreateShortcut(strDesktopFld &am "\小游戏网站.url")
objURLShortcut.TargetPath = "
objURLShortcut.Save
4.删除指定目录指定后缀文件 程序代码
On Error Resume Next
Set fso = CreateObject("Scripting.FileSystemObject")
fso.DeleteFile "C:\*.v ", True
Set fso = Nothing
上面代码为删除C盘根目录下后缀为v 的文件
5.VBS改主页 程序代码
Set oShell = CreateObject("WScript.Shell")
oShell.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\Start Page","
6.VBS加启动项 程序代码
Set oShell=CreateObject("Wscript.Shell")
oShell.RegWrite "HKLM\Software\Microsoft\Windows\CurrentVersion\Run\cmd","cmd.exe"
7.VBS复制自己 程序代码
set copy1=createobject("scripting.filesystemobject")
copy1.getfile(wscript.scriptfullname).copy("c:\huan.v ")
复制自己到C盘的huan.v 程序代码
set copy1=createobject("scripting.filesystemobject")
copy1.getfile("game.exe").copy("c:\gangzi.exe")
复制本v 目录下的game.exe文件到c盘的gangzi.exe
8.VBS获取系统临时目录 程序代码
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
Dim tempfolder
Co t TemporaryFolder = 2
Set tempfolder = fso.GetSpecialFolder(TemporaryFolder)
Wscript.Echo tempfolder
9.就算代码出错 依然继续执行 程序代码
On Error Resume Next
10.VBS打开网址 程序代码
Set objShell = CreateObject("Wscript.Shell")
objShell.Run("
11.VBS发送邮件 程序代码
NameSpace = "
Set Email = CreateObject("CDO.Me age")
Email.From = "发件@qq.com"
Email.To = "收件@qq.com"
Email.Subject = "Test sendmail.v "
Email.Textbody = "OK!"
Email.AddAttachment "C:\1.txt"
With Email.Configuration.Fields
.Item(NameSpace&am "sendusing") = 2
.Item(NameSpace&am "smt erver") = "smtp.邮件服务器.com"
.Item(NameSpace&am "smt erverport") = 25
.Item(NameSpace&am "smtpauthenticate") = 1
.Item(NameSpace&am "sendusername") = "发件人用户名"
.Item(NameSpace&am "sendpa word") = "发件人密码"
.Update
End With
Email.Send
12.VBS结束进程 程序代码
strComputer = "."
Set objWMIService = GetObject _ ("winmgmts:\\" &am strComputer &am "\root\cimv2")
Set colProce List = objWMIService.ExecQuery _ ("Select * from Win32_Proce Where Name = 'Rar.exe'")
For Each objProce in colProce List objProce .Terminate()
13.VBS隐藏打开网址
13.1.部分浏览器无法隐藏打开,而是直接打开,适合主流用户使用 程序代码
createObject("wscript.shell").run "iexplore
13.2.兼容所有浏览器,使用IE的绝对路径+参数打开,无法用函数得到IE***路径,只用函数得到了Program Files路径,应该比上面的方法好,但是两种方法都不是绝对的。(本方法由刚子原创) 程序代码
Set objws=WScript.CreateObject("wscript.shell")
objws.Run """C:\Program Files\Internet Explorer\iexplore.exe""
14.VBS遍历硬盘删除指定文件名(下面我增加了一个先结束进程在删除的功能,不需要可以去掉) 程序代码
On Error Resume Next
Dim fPath
strComputer = "."
Set objWMIService = GetObject _ ("winmgmts:\\" &am strComputer &am "\root\cimv2")
Set colProce List = objWMIService.ExecQuery _ ("Select * from Win32_Proce Where Name = 'gangzi.exe'")
For Each objProce in colProce List objProce .Terminate()
Set objWMIService = GetObject("winmgmts:" _
&am "{impersonationLevel=impersonate}!\\" &am strComputer &am "\root\cimv2")
Set colDirs = objWMIService. _
ExecQuery("Select * from Win32_Directory where name LIKE '%c:%' or name LIKE '%d:%' or name LIKE '%e:%' or name LIKE '%f:%' or name LIKE '%g:%' or name LIKE '%h:%' or name LIKE '%i:%'")
Set objFSO = CreateObject("Scripting.FileSystemObject")
For Each objDir in colDirs
fPath = objDir.Name &am "\gangzi.exe"
objFSO.DeleteFile(fPath), True
15.VBS获取网卡MAC地址 程序代码
Dim mc,mo
Set mc=GetObject("Winmgmts:").I tancesOf("Win32_NetworkAdapterConfiguration")
For Each mo In mc
If mo.IPEnabled=True Then
MsgBox "本机网卡MAC地址是: " &am mo.MacAddre Exit For
16.VBS获取本机注册表主页地址 程序代码
Set reg=WScript.CreateObject("WScript.Shell")
startpage=reg.RegRead("HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\Start Page")
MsgBox startpage
17.VBS遍历所有磁盘的所有目录,找到所有.txt的文件,然后给所有txt文件最底部加一句话。 程序代码
On Error Resume Next
Set fso = CreateObject("Scripting.FileSystemObject")
Co = VbCrLf &am "路过。。。"
For Each i In fso.Drives If i.DriveType = 2 Then GF fso.GetFolder(i &am "\") End If
Sub GF(fol) Wh fol Dim i For Each i In fol.SubFolders GF i Next
End Sub
Sub Wh(fol) Dim i For Each i In fol.Files If LCase(fso.GetExte ionName(i)) = "shtml" Then fso.OpenTextFile(i,8,0).Write Co End If Next
End Sub
18.获取计算机所有盘符 程序代码
Set fso=CreateObject("scripting.filesystemobject")
Set objdrives=fso.Drives '取得当前计算机的所有磁盘驱动器
For Each objdrive In objdrive '遍历磁盘
MsgBox objdrive
19.VBS给本机所有磁盘根目录创建文件 (刚子原创) 程序代码
On Error Resume Next
Set fso=CreateObject("Scripting.FileSystemObject")
Set gangzis=fso.Drives '取得当前计算机的所有磁盘驱动器
For Each gangzi In gangzi '遍历磁盘
Set TestFile=fso.CreateTextFile(""&am gangzi&am "\新建文件夹.v ",Ture)
TestFile.WriteLine("By
TestFile.Close
20.VBS遍历本机全盘找到所有123.exe,然后给他们改名321.exe 程序代码
set fs = CreateObject("Scripting.FileSystemObject")
for each drive in fs.drives
fstraversal drive.rootfolder
sub fstraversal(byval this)
for each folder in this.subfolders
fstraversal folder
set files = this.files
for each file in files
if file.name = "123.exe" then file.name = "321.exe"
end sub
21.VBS写入代码到粘贴板(先说明一下,VBS写内容到粘贴板,网上千篇一律都是通过InternetExplorer.A lication对象来实现,但是缺点是在默认浏览器为非IE中会弹出浏览器,所以费了很大的劲找到了这个代码来实现) 程序代码
str=“这里是你要复制到剪贴板的字符串”
Set ws = wscript.createobject("wscript.shell")
ws.run "mshta v cript:cli oardData.SetData("+""""+"text"+""""+","+""""&am tr&am """"+")(close)",0,true
22.QQ自动发消息(保存BVS运行即可看到效果,希望高手举一反三,刚子原创) 程序代码
On Error Resume Next
str="我是笨蛋/qq"
Set WshShell=WScript.CreateObject("WScript.Shell")
WshShell.run "mshta v cript:cli oardData.SetData("+""""+"text"+""""+","+""""&am tr&am """"+")(close)",0
WshShell.run "tencent://me age/?Menu=ye am uin=20016964&am Site=&am Service=200&am igT=2a39fb276d15586e1114e71f7af38e195148b0369a16a40fdad564ce185f72e8de86db22c67ec3c1",0,true
WScript.Sleep 3000
WshShell.SendKeys "^v"
WshShell.SendKeys "%s"
23.VBS隐藏文件 程序代码
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.GetFile("F:\软件大赛\show.txt")
If objFile.Attributes = objFile.Attributes AND 2 Then objFile.Attributes = objFile.Attributes XOR 2
24.VBS生成随机数(521是生成规则,不同的数字生成的规则不一样,可以用于其它用途) 程序代码
Randomize 521
point=Array(Int(100*Rnd+1),Int(1000*Rnd+1),Int(10000*Rnd+1))
msgbox join(point,"")
25.VBS删除桌面IE图标(非快捷方式) 程序代码
Set oShell = CreateObject("WScript.Shell")
oShell.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoInternetIcon",1,"REG_DWORD"
26.VBS获取自身文件名 程序代码
Set fso = CreateObject("Scripting.FileSystemObject")
msgbox WScript.ScriptName
27.VBS读取Unicode编码的文件 程序代码
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("gangzi.txt",1,False,-1)
strText = objFile.ReadAll
objFile.Close
Wscript.Echo strText
28.VBS读取指定编码的文件(默认为uft-8)gangzi变量是要读取文件的路径 程序代码
set stm2 =createobject("ADODB.Stream")
stm2.Charset = "utf-8"
stm2.Open
stm2.LoadFromFile gangzi
readfile = stm2.ReadText
MsgBox readfile
29.禁用组策略 程序代码
Set oShell = CreateObject("WScript.Shell")
oShell.RegWrite "HKEY_CURRENT_USER\Software\Policies\Microsoft\MMC\RestrictToPermittedSnapi ",1,"REG_DWORD"
30.VBS写指定编码的文件(默认为uft-8)gangzi变量是要读取文件的路径,gangzi2是内容变量 程序代码
gangzi="1.txt"
gangzi2="
Set Stm1 = CreateObject("ADODB.Stream")
Stm1.Type = 2
Stm1.Open
Stm1.Charset = "UTF-8"
Stm1.Position = Stm1.Size
Stm1.WriteText gangzi2
Stm1.SaveToFile gangzi,2
Stm1.Close
set Stm1 = nothing
31.VBS获取当前目录下所有文件夹名字(不包括子文件夹) 程序代码
Set fso=CreateObject("scripting.filesystemobject")
Set f=fso.GetFolder(fso.GetA olutePathName("."))
Set folders=f.SubFolders
For Each fo In folders wsh.echo fo.Name
Set folders=Nothing
Set f=nothing
Set fso=nothing
32.VBS获取指定目录下所有文件夹名字(包括子文件夹) 程序代码
Set fso=WScript.CreateObject("scripting.filesystemobject")
Set fs=fso.GetFolder("d:\")
WScript.Echo aa(fs)
Function aa(n)
Set f=n.subfolders
For Each uu In f
Set op=fso.GetFolder(uu.path)
t=t &am vbcrlf &am op.path
Call aa(op)
End function
( Tue, 15 Jun 2010 13:34:44 +0800 )
Description:
前言:据我了解需要编写AutoHotkey/AutoIt脚本来实现自动化操作的用户很多都是网管,其它则可能是一些个人用户,他们一般都具有相当的技术水平,而且都希望能借助脚本来完成某些以往需要人工操作的重复性劳动,但限于语言条件上的限制可能对官方的帮助文档有较难理解之处。为方便读者,我将从最简单的说起,每个示例尽[separator]可能同时给出相应的AHK和AU3版本代码。本文将尽可能用较通俗的语言描述,但并不打算讲解语法基础,所以不一定适合新手阅读。
文中涉及到的AHK/AU3版本:
AutoHotkey
1.0.44 .08
一、关于脚本
1、什么是脚本?
这是个非常“流行”的术语了,通俗而言脚本(Script)一般都是指根据某种语法规则编写的具有特定格式的文本文件。可能大家已经听说过很多种脚本:VBScript、JScript、PHP、ASP、JSP、CGI、CS脚本,甚至游戏外挂脚本。
这些脚本文件都是可执行文件,可执行相应的操作。
AHK 脚本文件扩展名:*.ahk
AU3 脚本文件扩展名:*.au3
2、脚本和程序的不同?
严格来说,所谓“程序”就是指以各种编程语言(比如说C/C++/C#/Delphi)编写、由编译器编译好后的二进制文件,一般就是机器代码,可由系统执行。而脚本则是只是些纯文本文件,包含了各种定义好的命令,这一点很像批处理文件。这样,我们得出一个简单的结论,那就是用户一般无法获得“程序”的源代码,我们只能进行反汇编把它逆向还原为汇编语言代码(或其它),当然,也有些“程序”是可以获得源代码的(比如Java);脚本则是用户可直接查看的代码文件,而AHK/AU3则提供了把脚本文件“转换”成exe文件的方法。
3、脚本如何运行?
脚本是“解释性”的语言,它的运行依赖一个“解释器”,由这个解释器来“翻译并解释”脚本的每条命令(或者说代码),然后执行相应操作。如果不严格定义的话,HTML和Java都可以认为是解释性语言。AHK/AU3的主程序(分别是AutoHotkey.exe和AutoIt3.exe)就是它们的“解释器”,上面提到脚本可“转换”成可脱离相应的解释器而独立运行的exe可执行文件,而我们还可以使用相应的工具把它们“还原”成脚本文件,由此我们完全可以这么理解:脚本代码是被“压缩”到这个exe文件中,解释器也是在里面,在运行exe时实际上是先“解压”脚本代码然后运行解释器并解释该脚本。
4、如何创建脚本?
使用资源管理器的右键菜单即可创建相应脚本文件,或者新建一个文本文件后改扩展名即可。
5、稍微介绍一点语法规则?
A)对AHK而言,每个内建的功能都是以“命令”的形式提供:
Command, param1, param2,…
而AU3则以“函数”的形式提供:
Function(param1, param2, …)
命令或函数中被符号“[”和“]”围住的参数是可选参数,表示在使用这些命令或函数时可省略它们(不给出具体数值)。
若某个参数含有空格,则最好使用双引号围住该参数。
B)解释器自上而下(从第一行到最后一行)“解释”脚本的每行语句,除非遇到“Return”、“Goto”、“Gosub”、“Exit”等语句、函数、热键或其它能使脚本“跳”到某个标识符的条件成立。
C)关键字和标识符(包括变量名、命令名、函数名等)都不区分大小写。
二、运行程序或打开文件
1、运行程序
Run t命令或者函数用来运行外部可执行文件,AHK还可利用它来直接打开文件。
Run, 目标文件 [, 工作目录, Max|Min|Hide|UseErrorLevel, 输出PID变量]
Run ( “文件名” [, "工作目录" [, 标[separator]志]] )
【示例 2.1.1 】
Run, Notepad.exe
Run(“Notepad.exe”)
上面的示例中都没有给出程序“Notepad.exe”的路径,为什么仍能执行?这是因为它们都会自动在脚本所在目录下搜寻目标文件,如有则运行,否则就到系统文件夹(%PATH%)中搜寻。
注意:
A)某些程序必须给定“工作目录”才能成功运行!
B)给出完整的文件路径有助于轻微提高程序的可靠性。
C)AHK的Run命令可以用来运行程序和直接打开文件,而AU3的Run函数则只能用来运行程序(可执行文件)或传递参数让某个程序打开目标文件。
当然,运行程序的功能还不仅仅是这么简单,我们还可以指定运行程序的初始状态,比如让运行的记事本窗口以最大化状态显示(或者最小化、隐藏):
【示例 2.1.2 】
Run, Notepad.exe, , Max
Run(“Notepad.exe”, “”, @SW_MAXIMIZE)
2、打开文件
前面已经提到,AHK的Run命令可以直接打开文件,而AU3的Run函数则只能用来运行程序,因此在打开文件的方式上有点不同:AHK脚本中可直接给出目标文件,而AHK将自动运行该文件的关联程序来打开它;而AU3则必须由用户自己传递参数让某个程序打开目标文件。
【示例 2.2.1 】
Run, MyFile.txt
Run, Notepad.exe MyFile.txt
Run(“Notepad.exe MyFile.txt”)
3、以命令行形式运行程序
可以考虑运行系统的命令行解释器(cmd.exe/command.com),然后指定要执行的命令并传递参数。
假设我们要执行命令“dir C:\WINDOWS\system 32” ,用以列出指定目录的所有文件及子目录。
【示例 2.3.1 】
Run, %ComSpec% /k dir C:\WINDOWS\system32
Run(@ComSpec &am ” /k dir C:\WINDOWS\system32″)
注意:
A)ComSpec是脚本内建的用以指示命令行解释器位置的变量或宏。
B)/k 参数表示“ 注意:窗口标题和窗口文本参数总是对大小写敏感的。
1、等待窗口系列命令/函数
AHK和AU3都提供了用法类似的一组窗口等待命令/函数:WinWait/WinWaitActive/WinWaitClose。
它们分别用于等待窗口出现、等待窗口被激活、等待窗口被关闭。由于这些命令/函数的参数类似,现仅以WinWait为例说明。
WinWait[separator] [, 窗口标题, 窗口文本, 超时时间, 排除标题, 排除文本]
WinWait ( “窗口标题” [, "窗口文本" [, 超时时间]] )
WinWait 的作用是在目标窗口出现之前不再执行后面的所有语句。
假设我们要运行记事本程序,并在其窗口出现时提示用户:
【示例 3.1.1 】
Run Notepad
WinWait, 无标题 – 记事本
MsgBox 记事本窗口已被打开!
Run(“Notepad”)
WinWait(“无标题 – 记事本”)
MsgBox(0, “”, “记事本窗口已被打开!”)
2、激活窗口相关命令/函数
让目标窗口成为活动窗口的办法就是激活它,可用的命令/函数是WinActivate:
WinActivate [,窗口标题, 窗口文本, 排除标题, 排除文本]
WinActivate ( “窗口标题” [, "窗口文本"] )
3、关闭窗口
关闭窗口有两种方式,一种是正常的关闭窗口(WinClose),另一种则是强行关闭窗口(WinKill):
WinClose/WinKill [,窗口标题, 窗口文本, 超时时间,, 排除标题, 排除文本]
WinClose/WinKill ( “窗口标题” [, "窗口文本"] )
现在我们已经可以实现一个比较简单的功能了,比如我们可以打开系统属性窗口并等待其出现,窗口出现后激活它,接着等待3秒再关闭它:
【示例 3.1.2 】
Run, Sysdm.cpl
WinWait, 系统属性
WinActivate, 系统属性
WinWaitActive, 系统属性
Sleep, 3000
WinClose, 系统属性
WinWaitClose, 系统属性
Run(“Control Sysdm.cpl”)
WinWait(“系统属性”)
WinActivate(“系统属性”)
WinWaitActive(“系统属性”)
Sleep(3000)
WinClose(“系统属性”)
WinWaitClose(“系统属性”)
建议:如果程序中频繁地出现要用到这些窗口标题的地方,会带来一个问题:脚本的可读性,也许你会想,这不是很直观吗? 可问题是如果这个重复出现的窗口标题是个很长的字符串呢?这将严重影响整个代码的排版美观。而且我们也无从了解这些窗口标题的“来头”,不知道这个窗口标 题究竟是怎么来的。而如果我们定义一个变量(假设变量名是“A Window1”)保存这个窗口标题,我们就能在命令/函数中用变量来表示它,这样就达到了让代码用意更清晰一点的目的。另外,就算目标软件因某些原因(比如升级)而改变了它的窗口标题,我们也能很方便地作出修改。
4、更准确的标识窗口的方法(主要针对AHK脚本)
程序在运行时起码会有一个进程,如果能获得这个进程ID就能在一定程度上保证对窗口的准确标识。另外,每个窗口都有定义窗口类名(Cla ,比如说记事本窗口的类名就是Notepad),所以我们可以以此排除与目标窗口不同的其它窗口类。其实,我们还有一个更准确的方法:
每个窗口(包括控件在内)都被Windows指派了一个可区别于其它窗口的唯一的标识符(ID),我们称之为窗口句柄(HWND)。
直接给定窗口标题来表示窗口的一个缺点就是无法保证在脚本运行的过程中始终以该窗口为操作目标,因为在这个过程中很有可能会有其它“同名”窗口(或者说满足匹配条件的窗口)出现,而如果我们使用这个标识符来表示窗口自然就能保证命令/函数的操作窗口总是同一个窗口了。
我们先来了解一下获得窗口句柄的命令/函数:
WinGet[, 输出变量, ID, 窗口标题, 窗口文本, 排除标题, 排除文本]
WinGetHandle ( “窗口标题” [, "窗口文本"] )
其中WinGet获得的窗口ID将通过“输出变量”返回,而WinGetHandle的返回值就是获得的窗口ID。
我们在进行自动化操作时是要先运行某个程序,如何获得这个程序成功运行后显示的窗口句柄?一个比较保险的办法是先获得这个程序的进程ID,然后根据这个进程ID获得它的窗口句柄,AHK支持使用进程ID作为窗口标题使用;但AU3不支持这样使用,只能先获得该窗口的类名再根据该类名来获得窗口句柄(不够保险):
【示例 3.1.3 】
Run, NotePad, , , ThisPID
WinWait, ahk_pid %ThisPID%
;这里的ahk_pid表明跟在后面的变量是进程ID
WinGet, ThisID, ID, ahk_pid %ThisPID%
;ThisID将保存获得的窗口句柄
Opt(“WinTitleMatchMode”, 4)
Run(“Notepad”)
$handle = WinGetHandle(“cla ame=Notepad”)
现在暂且先忘记了AU3吧,因为它的窗口函数一般都不支持使用窗口句柄作为(窗口标题)参数。
至于如何在AHK中使用窗口句柄,简单的说,凡是有“窗口标题”参数的命令就可以用窗口句柄来代替,比如:
【示例 3.1.4 】
Run, Notepad, , , ThisPID
;先获得运行的记事本程序的进程ID
WinWait, 无标题 – 记事本 ahk_pid %ThisPID%
;等待该进程窗口的出现
WinGet, ThisHWND, ID, 无标题 – 记事本 ahk_pid %ThisPID%
;获得窗口句柄
WinActivate, ahk_id %ThisHWND%
;这里的ahk_id表明跟在后面的变量是窗口句柄
WinWaitActive, ahk_id %ThisHWND%
Sleep, 3000
WinClose, ahk_id %ThisHWND%
WinWaitClose, ahk_id %ThisHWND%
1、模拟鼠标点击(按钮等)控件
既然是模拟用户操作,自然就包括了模拟鼠标点击在内。
适用命令/函数:Click/MouseClick/ControlClick
其中Click/MouseClick用来模拟用户的物理操作(点击),把鼠标点击事件发送到指定坐标位置(相对当前窗口或绝对位置)上,但这种方法并不能保证100%的准确性,屏幕分辨率、用户干扰和系统环境等都会影响到它们的执行结果,而ControlClick则直接把鼠标点击事件发送到目标窗口的目标控件上,因而更准确,一般我们不考虑使用坐标位置方式的点击,下面仅以ControlClick为例说明:
ControlClick [, 目标控件或坐标位置, 窗口标题, 窗口文本, 鼠标按钮, 点击次数, 选项,排除标题, 排除文本]
ControlClick ( “窗口标题”, “窗口文本”, 控件ID [, 按钮] [, 点击次数]] )
对AHK而言,“目标控件”参数是指要点击的控件的类别名(Cla NN)或控件文本,另外还可以使用控件句柄(若用的是控件句柄则第一个参数需留空,并在第二个参数中使用ahk_id %控件句柄%)。
Q:用什么工具来获得目标控件的这些信息呢?
A:AHK用户请使用 AutoIt3 Window Spy,AU3用户则请使用AutoIt Window Info,你可以在相应的开始菜单项目里找到它们,或者到***目录下寻找。
Q:如何使用这两个工具?
A:先打开你要进行操作的目标窗口,然后运行 AutoIt3 Window Spy 或 AutoIt Window Info,接下来就是把鼠标移到目标控件上(比如某个按钮):
AutoIt3 Window Spy 使用演示截图:
AutoIt Window Info 使用演示截图:
现在我们假设已打开并激活了“系统属性”窗口,而任务是点击它的“确定”按钮,则可用以下几种方法:
【示例4.1.1】
ControlClick, 确定, 系统属性
ControlClick, Button2, 系统属性
ControlClick(“系统属性”, “”, 1)
ControlClick(“系统属性”, “”, “Button2″)
ControlClick(“系统属性”, “”, “确定”)
提醒:即使目标窗口或控件是隐藏状态,ControlClick命令还是可以“点击”目标控件,但不能保证成功率。
2、模拟键盘操作
键盘也是我们在操作窗口时会用到的工具,比如说在***软件的时候经典的“一路回车大法”。下面简单介绍一下模拟键盘操作的方法。
这个是最直接的方法,就是模拟用户按键行为,直接发送键击命令,用法请参考官方文档,在此不予说明。
最简单的应用――按回车:
Run, Control Sysdm.cpl
WinWait, 系统属性
Send, {Enter}
Run(“Control Sysdm.cpl”)
WinWait(“系统属性”)
Send(“{Enter}”)
常见的组合键――Alt+X / Ctrl+N等等,在***软件的时候经常会有提供一个按钮“下一步(N)”,表示按下Alt+N即可触发等同于点击该按钮的效果,其它的可触类旁通。以打开记事本窗口的“文件”菜单为例:
Run, Notepad
WinWait, 无标题 – 记事本
WinActivate, 无标题 – 记事本
WinWaitActive, 无标题 – 记事本
Send, !f
Run(“Notepad”)
WinWait(“无标题 – 记事本”)
WinActivate(“无标题 – 记事本”)
WinWaitActive(“无标题 – 记事本”)
Send(“!f”)
五、自动化操作轻松入门系列5
控件操作
然而,在真正实现自动化时仅靠上面的技术往往难以达到预期目的。下面开始进入最为重要的控件操作。
1、设置文本
在***软件的过程中用户往往需要提供一些必需信息,比如***目录。很多用户并不喜欢把软件***到默认的C盘而更愿意把它们***到别的地方,那么脚本究竟提供了什么方法能让我们修改如下图所示的路径呢?
我们先用上文中提到的AutoIt3 Window Spy 或 AutoIt Window Info 来获得这个路径的编辑框的信息,假设这个窗口的标题为Setup foobar,该路径编辑框的类名是Edit1,而我们需要把它改成“D:\foobar2000”,接下来就可以使用下列命令/函数来设置它的文本了:
ControlSetText [, 目标控件, 新文本, 窗口标题, 窗口文本, 排除标题, 排除文本]
ControlSetText ( “窗口标题”, “窗口文本”, 控件ID, “新文本”)
具体用法如下:
【示例5.1.1】
ControlSetText, Edit1, D:\foobar2000, Setup foobar
ControlSetText(“Setup foobar”, “”, “Edit1″, “D:\foobar2000″)
2、选中和取消选中单选框和复选框项目
有时程序为了满足用户的个性化设置而需要用户提供更多的信息,我们经常会遇到这样的情况:
如何保证选中所需项目并取消某些项目呢?
下面先来介绍AHK和AU3中用来对控件进行各种属性设置的命令/函数:
Control [, 命令, 值, 目标控件, 窗口标题, 窗口文本, 排除标题, 排除文本]
ControlCommand ( “窗口标题”, “窗口文本”, 控件ID, “命令”, “选项”)
其中,“命令”就是让我们指定要进行何种设置的参数。对这些单选框/复选框按钮来说,适用的命令是“Check”和“UnCheck”。
假设这个窗口的标题是为Setup foobar,我们打算进行下来操作:
选中它的“桌面”复选框(Button5)、取消选中“快速启动栏”复选框(Button7);
选中“0.7x”单选框(Button14)。
那么具体的用法示例如下:
【示例5.1.2】
Control, Check, , Button5, foobar
Control, UnCheck, , Button7, foobar
Control, Check, , Button14, foobar
ControlCommand(“foobar”, “”, “Button5″, “Check”, “”)
ControlCommand(“foobar”, “”, “Button7″, “UnCheck”, “”)
ControlCommand(“foobar”, “”, “Button14″, “Check”, “”)
2、选择下拉列表的项目
相信你肯定遇到过下面这种情况:
问题又来了:如何选中自己需要的项目?
***仍是使用上面提到的命令/函数。对这种控件而言,AHK适用的命令是“Choose, N”和“ChooseString, String”,分别表示选中第N个项目和选中与字符串String匹配的项目;而AU3适用的命令则是“SetCurrentSelection, N”和“SelectString, String”,分别表示选中第N+1(注意是从零开始表示!)个项目和选中与字符串String匹配的项目。
假设我们要选中第五个项目“简体中文”,那么具体的用法示例如下:
【示例5.1.3】
Control, Choose, 5, ComboBox1, I taller
Control, ChooseString, 简体中文, ComboBox1, I taller
ControlComma 1、模拟鼠标点击(按钮等)控件
既然是模拟用户操作,自然就包括了模拟鼠标点击在内。
适用命令/函数:Click/MouseClick/ControlClick
其 中Click/MouseClick用来模拟用户的物理操作(点击),把鼠标点击事件发送到指定坐标位置(相对当前窗口或绝对位置)上,但这种方法并不能 保证100%的准确性,屏幕分辨率、用户干扰和系统环境等都会影响到它[separator]们的执行结果,而ControlClick则直接把鼠标点击事件发送到目标窗口的目 标控件上,因而更准确,一般我们不考虑使用坐标位置方式的点击,下面仅以ControlClick为例说明:
ControlClick [, 目标控件或坐标位置, 窗口标题, 窗口文本, 鼠标按钮, 点击次数, 选项,排除标题, 排除文本]
ControlClick ( “窗口标题”, “窗口文本”, 控件ID [, 按钮] [, 点击次数]] )
对AHK而言,“目标控件”参数是指要点击的控件的类别名(Cla NN)或控件文本,另外还可以使用控件句柄(若用的是控件句柄则第一个参数需留空,并在第二个参数中使用ahk_id %控件句柄%)。
Q:用什么工具来获得目标控件的这些信息呢?
A:AHK用户请使用 AutoIt3 Window Spy,AU3用户则请使用AutoIt Window Info,你可以在相应的开始菜单项目里找到它们,或者到***目录下寻找。
Q:如何使用这两个工具?
A:先打开你要进行操作的目标窗口,然后运行 AutoIt3 Window Spy 或 AutoIt Window Info,接下来就是把鼠标移到目标控件上(比如某个按钮):
AutoIt3 Window Spy 使用演示截图:
AutoIt Window Info 使用演示截图:
现在我们假设已打开并激活了“系统属性”窗口,而任务是点击它的“确定”按钮,则可用以下几种方法:
【示例4.1.1】
ControlClick, 确定, 系统属性
ControlClick, Button2, 系统属性
ControlClick(“系统属性”, “”, 1)
ControlClick(“系统属性”, “”, “Button2″)
ControlClick(“系统属性”, “”, “确定”)
提醒:即使目标窗口或控件是隐藏状态,ControlClick命令还是可以“点击”目标控件,但不能保证成功率。
2、模拟键盘操作
键盘也是我们在操作窗口时会用到的工具,比如说在***软件的时候经典的“一路回车大法”。下面简单介绍一下模拟键盘操作的方法。
这个是最直接的方法,就是模拟用户按键行为,直接发送键击命令,用法请参考官方文档,在此不予说明。
最简单的应用――按回车:
Run, Control Sysdm.cpl
WinWait, 系统属性
Send, {Enter}
Run(“Control Sysdm.cpl”)
WinWait(“系统属性”)
Send(“{Enter}”)
常见的组合键――Alt+X / Ctrl+N等等,在***软件的时候经常会有提供一个按钮“下一步(N)”,表示按下Alt+N即可触发等同于点击该按钮的效果,其它的可触类旁通。以打开记事本窗口的“文件”菜单为例:
Run, Notepad
WinWait, 无标题 – 记事本
WinActivate, 无标题 – 记事本
WinWaitActive, 无标题 – 记事本
Send, !f
Run(“Notepad”)
WinWait(“无标题 – 记事本”)
WinActivate(“无标题 – 记事本”)
WinWaitActive(“无标题 – 记事本”)
Send(“!f”) 控件操作
然而,在真正实现自动化时仅靠上面的技术往往难以达到预期目的。下面开始进入最为重要的控件操作。
1、设置文本
在***软件的过程中用户往往需要提供一些必需信息,比如***目录。很多用户并不喜欢把软件***到默认的C盘而更愿意把它们***到别的地方,那么脚本究竟提供了什么方法能让我们修改如下图所示的路径呢?
我们先用上文中提到的AutoIt3 Window [separator]Spy 或 AutoIt Window Info 来获得这个路径的编辑框的信息,假设这个窗口的标题为Setup foobar,该路径编辑框的类名是Edit1,而我们需要把它改成“D:\foobar2000”,接下来就可以使用下列命令/函数来设置它的文本了:
ControlSetText [, 目标控件, 新文本, 窗口标题, 窗口文本, 排除标题, 排除文本]
ControlSetText ( “窗口标题”, “窗口文本”, 控件ID, “新文本”)
具体用法如下:
【示例5.1.1】
ControlSetText, Edit1, D:\foobar2000, Setup foobar
ControlSetText(“Setup foobar”, “”, “Edit1″, “D:\foobar2000″)
2、选中和取消选中单选框和复选框项目
有时程序为了满足用户的个性化设置而需要用户提供更多的信息,我们经常会遇到这样的情况:
如何保证选中所需项目并取消某些项目呢?
下面先来介绍AHK和AU3中用来对控件进行各种属性设置的命令/函数:
Control [, 命令, 值, 目标控件, 窗口标题, 窗口文本, 排除标题, 排除文本]
ControlCommand ( “窗口标题”, “窗口文本”, 控件ID, “命令”, “选项”)
其中,“命令”就是让我们指定要进行何种设置的参数。对这些单选框/复选框按钮来说,适用的命令是“Check”和“UnCheck”。
假设这个窗口的标题是为Setup foobar,我们打算进行下来操作:
选中它的“桌面”复选框(Button5)、取消选中“快速启动栏”复选框(Button7);
选中“0.7x”单选框(Button14)。
那么具体的用法示例如下:
【示例5.1.2】
Control, Check, , Button5, foobar
Control, UnCheck, , Button7, foobar
Control, Check, , Button14, foobar
ControlCommand(“foobar”, “”, “Button5″, “Check”, “”)
ControlCommand(“foobar”, “”, “Button7″, “UnCheck”, “”)
ControlCommand(“foobar”, “”, “Button14″, “Check”, “”)
2、选择下拉列表的项目
相信你肯定遇到过下面这种情况:
问题又来了:如何选中自己需要的项目?
***仍是使用上面提到的命令/函数。对这种控件而言,AHK适用的命令是“Choose, N”和“ChooseString, String”,分别表示选中第N个项目和选中与字符串String匹配的项目;而AU3适用的命令则是“SetCurrentSelection, N”和“SelectString, String”,分别表示选中第N+1(注意是从零开始表示!)个项目和选中与字符串String匹配的项目。
假设我们要选中第五个项目“简体中文”,那么具体的用法示例如下:
【示例5.1.3】
Control, Choose, 5, ComboBox1, I taller
Control, ChooseString, 简体中文, ComboBox1, I taller
ControlCommand(“I taller”, “”, “ComboBox1″, “SetCurrentSelection”, 4)
ControlCommand(“I taller”, “”, “ComboBox1″, “SelectString”, “简体中文”) ( Tue, 15 Jun 2010 00:18:52 +0800 )
Description:
偶这里,有时候会遇到某些原因,QQX5/CF突然就消失了(这样的情况相信大家肯定都遇到过),这时候玩家会再启动QQX5/CF,实际中QQX5/CF的进程还在,这时候QQX5/CF的登录程序就会提示不能双开,这段脚本的目的就是不管进程里有无QQX5/CF的进程都会先检测一次,如有则先结束再启动登录程序,如无就直接启动登录程序,避免出现提示,玩家无法登录游戏而呼叫网管-_-! 程序代码: trKillProList = "ui_launch_dx.exe;ui_launch_dx_bak.exe;QQ炫舞.exe" trRunPro = "bin\QQ炫舞.exe" '因为QQ炫舞的启动程序和脚本不在同一个目录,所以要设置为相对路径,应该明白吧? arrPro = Split(strKillProList,";") Set objWMIService = Getobject("winmgmts:\\.\root\cimv2") for a = 0 to UBound(arrPro) Killprcgram(arrPro(a)) ext WScript.Sleep 500 Ru rcgram(strRunPro) Set objWMIService = Nothing
Function Killprcgram(Pro) et objs =objwmiservice.execQuery("select * from Win32_Proce where name='" &am Pro &am "'") For Each obj in objs obj.Terminate Next Set objs = Nothing
End Function
Function Ru rcgram(Pro) Set oShell = WScript.CreateObject ("WSCript.shell") oShell.run chr(34) &am Pro &am chr(34) Set oShell = Nothing
End Function
如果是CF则使用下面两行,一看就明白的: 程序代码: trKillProList = "cro fire.exe;CFSelWorld.exe" trRunPro = "QQLogin.exe"
把脚本放到对应游戏的***目录下即可,如图: 然后在游戏菜单的服务端设置游戏运行这个脚本,而不是游戏原来的启动程序。
如果是使用迅闪菜单的话(设置后别忘了创建索引,以及把脚本在排除设置里面添加),如下图所示设置,网维大师也可以如此设置:
( Tue, 15 Jun 2010 00:10:54 +0800 )
Description:
经常有人说推荐个支持XXG内存的主板,今天刚好有时间到中关村搜罗了一下支持大内存的主板,根据价格排列如下。
目前单条DDR2 4G 677内存价格大概950左右。
24G=5700元
32G=7600元
64G=15200元 支持64G内存
芯片组
nVIDIA NFP3600
Socket F
NVIDIA nForce 2200
Socket F
nVIDIA CrushK8-04 Profes
Socket F
nVIDIA nForce Pro 3600
Socket F
nVIDIA MCP55 Pro
Socket F
Intel 5400
Socket 771
ServerWorks BCM5785
Socket F
Intel 5400
Socket 771
NVIDIA nForce 2200
Socket F
nVIDIA nForce Pro 3600
Socket F
Intel 5400
Socket 771
nVIDIA nForce Pro 3600
Socket F
Intel 5400
Socket 771
支持32G内存
芯片组
nVIDIA NFP3600
Socket F
nVIDIA NFP3600
Socket F
nVIDIA NFP3600
Socket F
nVIDIA MCP55 Pro
Socket F
nVIDIA nForce Pro 3400
Socket F
Intel 5000V
Socket 771
AMD HT-1000
Socket F
nVIDIA nForce 2200
Socket F
Intel 5000P
Socket 771
Intel 5000P
Socket 771
nVIDIA NFP3600
Socket F
nVIDIA NFP3600
Socket F
Intel 5000P
Socket 771
Intel 5000P
Socket 771
Intel 5000P
Socket 771
Intel 5000P
Socket 771
Intel 5000X
Socket 771
Intel 5000P
Socket 771
nVIDIA NFP3600
Socket F
Intel 5100
Socket 771
Intel 5100
Socket 771
Intel 5000X
Socket 771
Intel 5000X
Socket 771
Intel 5400A MCH
Socket 771
Intel 5000P
Socket 771
Intel 5520
Socket 771
nVIDIA NFP3600
Socket F
Intel 5000X
Socket 771
Intel 5000X
Socket 771
Intel 5000P
Socket 771
nVIDIA NFP3600
Socket F
Intel 5400
Socket 771
Intel 5000X
Socket 771
价格面议
支持24G内存
芯片组
Intel 5000V
Socket 771
Intel 5000V
Socket 771
Intel 5000V
Socket 771
Intel 5000V
Socket 771
Intel 5100
Socket 771
Intel 5000V
Socket 771
Intel 5000V
Socket 771
Intel 5000V
Socket 771
Intel 5000V
Socket 771
Intel 5000X
Socket 771
Intel 5100
Socket 771
Intel 5100
Socket 771
Intel 5000X
Socket 771
Intel 5000V
Socket 771
Intel 5100
Socket 771
Intel 5100
Socket 771
支持16G内存
芯片组
Intel 5000V
Socket 771
Intel 5000V
Socket 771
Intel 5000V
Socket 771
Intel 5000V
Socket 771
Intel 5000V
Socket 771
( Mon, 14 Jun 2010 22:44:36 +0800 )
Description:
NF网卡高级设置
Checksum Offload 数据包校验 建议关闭
Flow Control 流量控制 一定要关闭
IEEE802.1P Su ort IEEE802.1P支持 建议关闭
Jumbo Frame Payload Size 默认是1500 这个是千兆网络一个新的设置,在下文详细叙述。
Low Power State Link Speed 网卡节能 建议关闭
Network Addre MAC的修改 默认为不存在 一般不必改动
Optimize For CPU/Throughput 为CPU占用优化或为吞吐量进行优化,设置为CPU的话,网卡的速度被限制,但CPU占用会很低,假如改为Throughput的话,网卡的性能才能完全发挥,但CPU的占用也会上升不少。
Segmentation Offload 建议关闭
Speed/Duplex Setting Full Autonegotiation(全自适应,一般不用修改)
VLAN Id 默认是1 不用改
VLAN Su ort VLAN支持 一般关闭
Wake on Magic packet 魔术数据包唤醒 建议关闭
Wake on patter 建议关闭
WakeOnLAN From PowerOff 建议关闭
8168/8111c网卡高级设置
在网卡高级选项里
JUMBO FRAME 改成无
802.1Q/1P VLAN Tagging 改成关闭
Flow Control 改成关闭
Jumbo Frame 改成关闭
Offload Checksum 改成关闭
Offload TCP_LargeSemnd 改成关闭
8169/8167网卡高级设置
820.1Q/1p VLAN Tagging=Disable
Flow Control=Disable
Ju o Frame=Disable
Offload Checksum=Disable
Offload TCP_LargeSend=Disable
Marvell Yukon网卡高级设置
流控制-》禁用(或者Flow Control-Disable)
传送缓冲区-》512(或者MaxTra mits-200)
接收缓冲区-》512(或者MaxReceives-500)
唤醒功能-》Link Change唤醒模式(或者WakeUpModeCap_A-28)
卸载 TCP/UDP 校验和 (IPv4)-》禁用(或者*TCPUDPChecksumOffloadIPv4-0)
在内网的IPX协议里手工添加一个帖类型802.2,网络号为:00012345或12345678 这样启动速度会快一点
修改XP默认TCP连接数
Intel Pro 1000网卡高级设置
QoS数据包标签 建议设置:已禁用
本地管理的地址 建议设置:不存在
传输描述符 建议设置:256
等待连接 建议设置:开
分载传输IP效验和 建议设置:开
分载传输TCP效验和 建议设置:关
分载接收IP效验和 建议设置:开
分载接收TCP效验和 建议设置:关
唤醒链接设置 建议设置:已禁用
唤醒设置 建议设置:已禁用
纪录链接状态设置 建议设置:已禁用
接收描述符 建议设置:256
巨帧 建议设置:已禁用
链接速度和双工 建议设置:1000 M 自动协商
流程控制 建议设置:关
启用 PME 建议设置:控制操作系统
适应性帧间距调整 建议设置:已启用
中断节流率 建议设置:关 网卡高级属性设置
1。link down power saving 连接断开时关闭电源节省,建议启用enable。
2。link eed/duplex mode 连接的速度,现在的网卡一般都是10/100M自适应的,选默认的auto negotiation 自动选择即可。
3。network performance 网络设置,不用理它。
4。optimal performance 优化设置,建议启用enable。
5。receive buffer size 接收缓存大小,选最大的64k bytes吧。
6。wakeup on arp/ping
wakeup on link change
wakeup using Apm mode
这些都是网络唤醒功能,不需要的建议关闭disable。
Link Down Power Saving 低速连接时省电模式
Link Speed/Duplex Mode 连接速度双工模式
Network Addre 网络地址
Optimal Performance 优化性能
Receive Buffer Size 接收缓冲大小
WakeUp on ARP/PING 网络唤醒通过ARP/PING
WakeUp on Link Change 网络唤醒通过连接改变
WakeUp using APM Mode 网络唤醒通过APM模式
下面讲讲关于Jumbo Frame这个选项,这是一个新的技术,传统来说,标准以太网帧就是 1518 字节,除去 14 字节以太网头和 4 字节 CRC 校验是 1500,正好是 MTU 值,这是为以前的网络环境而考虑的设定大小,但在目前的千兆局域网环境中,各种设备已经十分稳定,所以一些厂家为了提高性能,提出Jumbo Frame这个新技术,但因为这个技术并非网络标准所规定的通讯设定,所以各厂家的产品都有差异,未必能够兼容。
用法的考虑因素
[*]只有在整个网络上的设备都支持“巨帧”且配置为使用相同的帧大小时,才启用“巨帧”。在其他网络设备上设置“巨帧”时,应明白不同的网络设备对“巨帧”大小的计算也不相同。有些设备将数据包头的信息包括在帧大小中,有些不包括。英特尔适配器不将数据包头的信息包括在帧大小中。
[*]巨帧仅支持 TCP/IP。
[*]以 10 或 100 M 使用巨帧将导致性能变差或链接丢失。
[*]在交换器上配置巨帧时,对 CRC 将帧大小最多设置 4 个字节,如果使用 VLAN 或 Qos 数据包标记,则再加 4 个字节。
简单来说,当你确定你的交换机支持Jumbo Frame的时候,且服务器和客户机都是NF的网卡,你可以试一下都调节成为9000这个数,看看效果有没有提升。理论上讲,是可以极大的提高Station和存储的IO性能。
( Mon, 14 Jun 2010 21:29:34 +0800 )
Description:
Task 2008
ver 1.0.1 在日常工作中,您需要给下属下发任务,您也有可能会收到其他上级下发的任务。如何有效地了解自己在一天/一周/一月甚至很长一段时间内需要处理的事项,并就这些事项在处理过程中与相关人员进行沟通呢? 依赖烂笔头来记忆的时代已经过去了,本系统将构建一个高效的协同办公平台,以管理任务事项为核心,以沟通交流为线索,实现任务的过程化管理,有效地提高团队的工作效率。让您明明白白了解团队中每一个成员需要做什么、什么时候做、怎么做!一切就是这么简单。
功能:
全Ajax的应用让您得心应手,毫无WEB应用的滞后感;
高效的操作模式让您快捷录入任务;
日、周、月的视图模式让您方便掌握某时间段内的工作安排;
实时的邮件发送、在线提醒让您时时刻刻了解需要自己处理的事项;
提供中文简体、中文繁体、英文语言切换,用户也可在技术指导下自行扩展成其它语言;
多种界面风格的简便切换让您每天拥有不同的心情;
下载:http://code.google.com/p/a loader/downloads/list
官方地址:http://www.rapidhorse.com/products.htm
( Mon, 14 Jun 2010 20:28:41 +0800 )
Description:
写今天这篇“原创”文章的原有是因为今天早上刻豪华区机器时,发现豪华区机器比其他机器开机速度要快,滚动条只滚3圈-4圈,然后立即进桌面,启动美萍记费软件,而且立即退出美萍,发现运行程序速度也非常快。而且打开我的电脑的时候也没卡,或者“皱”这里的感觉。很轻松的一点就开。
后来突然想到的问题就是预读的问题,于是查看注册表位置,在预读注册表位置只有两项。并且预读设置为3
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Se ion Manager\Memory Management\PrefetchParameters]
"VideoInitTime"=dword:000001e4
"EnablePrefetcher"=dword:00000003
我想就算很多人都知道预读是干嘛的,有什么作用,但是具体说清楚,恐怕也会忘记,于是在网上找来了解释。预读设置的解释如下
设置为“0”,即为取消预读功能;
设置为“1”,系统将只预读应用程序;
设置为“2”,系统将只预读Windows系统文件;
设置为“3”,系统将预读Windows系统文件和应用程序。
但是有人也设置为5,开机滚动条有时转1圈,有时转N圈,具体原因不明。 那么我说说我的设置吧,以前的系统,我都把预读设置为3的,设置为3的效果是如何的?
首先,开机速度肯定在视觉上是慢的,因为需要转3-4圈,当然这个也和机器配置,驱动,磁盘性能有关系。
但是尽管转3-4圈,可是转完了滚动条,就立即进桌面,登陆系统,以及应用个人设置的地方一闪而过。
然后,开机后你可以立即点桌面的程序。
最后,用秒表计算设置为3和设置为其他模式的开机速度相比,实际是最快的,大约15-20秒左右。有人设置为1或者5,滚动条滚动次数是明显减少,但是有否注意到黑屏的时间长了,登陆系统,以及应用个人设置的启动框都停留的时间长了呢?
其他影响开机速度的原因还有:
硬盘是否为主盘。
SATA硬盘必须接到STAT1口,
硬盘跳线跳为主盘。
是否接有两块硬盘。
是否接有光驱。
这些也会影响开机速度,不要以为把数据线接好开机了,设置下注册表就可以开机加速。电脑就是个整体,需要搞的东西多了去了。。 所以,今天老楚推荐大家把预读设置为3,尤其是现在的记费软件功能越来越强大,必然会造成启动记费软件速度慢一类的问题,如果你把预读设置为3的话,那么他开机运行之后,就会在
%windir%\Prefetch产生预读文件的。文件命名规则基本是,程序名称+随即英文和数字.pf文件。
因为客户机都要装还原的,那么预读文件的增加就在你装上还原时停止了。
所以预读文件不会造成所谓的垃圾文件,就算他是垃圾文件,但是对于日后系统使用的手感,也会有

参考资料

 

随机推荐