易语言编译的程序 Not found the kernel library or the kernel library is invalid 报错解决办法

首先明确"Not found the kernel library or the kernel library is invalid"的意思是什么?

其内容是指 “找不到核心库或核心库无效!”

这是 用易语言编译出来的程序出现的一种错误现象.

那么,就有两种可能性,一种是 核心库缺失,另一种就是核心库无效

核心库是什么?
就是易语言的核心支持库(kernel.fne),主管易语言程序最基本的 操作,如API调用,WIN32组件等等

此类问题一般出现在 没有安装易语言的主机上。
也就是说,没有FNE文件可以调用。
就是说 没有把核心库给要运行程序的那台电脑,也就是自身没有支持库,必须得靠外界提供,通过这个支持库来完成一系列操作(就相当于DLL文件调用一样)。

解决办法:编译的时候选“静态编译”

通过静态编译后,支持库文件(xx.fne)就被塞进EXE文件中了(作为文件中的一个资源存在),当运行程序的时候,把这个xx.fne释放出来,释放到TEMP(临时)目录中,然后如同调用DLL文件一样使用里面的函数。

永久锁定IE主页的方法

IE默认主页位于注册表HKCU\Software\Microsoft\Internet Explorer\Main下面的“Start Page”字符串的值,为避免IE主页被修改,我们可以永久地锁定它,禁止其它程序修改。网上找到很多永久锁定IE的方法,那些方法其实并非真正的“永久”,都是可以被改掉的,所以,我们换一种思路,从文件入手,针对IE本身来解决。下面我们以XP+IE8为例,介绍一下如何实现彻底地锁定IE主页。
首先,我们要弄懂IE主页的工作原理,IE启动后既然要加载主页,肯定要读取注册表[StartPage]的键值,所以“Start Page”这个字符串肯定在一个与IE相关的系统文件中,不一定是iexplore.exe,也可能是系统的DLL,因为IE要加载若干DLL它才能正常工作。用工具查看IE加载的DLL模块,有上百个,要知道具体是哪一个我们需要用工具分析。
由于IE主窗口和页面是分开的两个进程,所以不好掌控它,因此我们从IE属性中下手。IE属性对话框是一个DLL,名字叫做inetcpl.cpl,位于系统目录下。首先打开OllyDBG,选择文件-打开,在文件名输入rundll32.exe,参数中输入命令“C:\WINDOWS\system32\shell32.dll,Control_RunDLL INETCPL.CPL”,就绪后,在左下角命令窗口输入bp RegQueryValueExW,在读注册表的函数上下断点,按F9运行它,当断下的时候,注意看堆栈窗口中的数据,第三行ValueName的值就是要读取的注册表的值,如果是Start Page就停止来,否则就一直F9下去。当出现StartPage后,看堆栈窗口中0007A204那一行:CALL 到 RegQueryValueExW 来自 iertutil.5DDBA9A3,说明调用RegQueryValueExW的是iertutil.dll这个文件,也就是说,加载IE主页的任务是由iertutil.dll负责执行的,再往下有个Unicode "Start Page"的字样,右击它选择“数据窗口中跟随”,数据窗口中5DDB8F14处正是Start Page这个unicode字符串,数据窗口中右击选择“查看可执行文件”,打开文件窗口,可以看到“Start Page”位于文件0x00118314处,把它给改了。随便改一个名字,长度要相等,比如改第1个字节,把S改成Z,“Start Page”就变成了“Ztart Page”。最后在数据窗口右击选择备份-保存数据到文件,另存一份iertutil.dll。
我们目前已经把“Start Page”换掉了,接下来要进行下一步,就是添加注册表项,打开注册表编辑器,定位到Main下面,在Main下面建一个REG_SZ的值,名字改成刚才的Ztart Page,修改它的值为要锁定的网址。最后一步是替换iertutil.dll,有两种方法,一种是在PE下替换,一种是直接用ARK工具删掉system32下的iertutil.dll,然后复制刚才改好的进去,重启电脑。替换前先备份。
下面测试一下,打开IE,发现它会自动打开我们设置的页面,现在用任何修改IE主页的软件也无法再改变这个页面,因为StartPage已经作废了。同样的,IE属性中也无法修改,但是却可以读取,这是因为读取主页是通过iertutil.dll实现的,而修改是它自己在弄。我们自己要改的话,到注册表中去改“Ztart Page”的值就行了,麻烦的话就把inetcpl.cpl这个文件也改了,仍然是通过上述方法,只不过下断是在RegSetValueExW上面,断下后会找到Start Page,改为Ztart Page即可,这样,在IE属性就可以改主页了,而且有且只有它才能改。如果要恢复IE的话恢复iertutil.dll即可,或者重装系统。

377adab44aed2e73606f97ed8601a18b86d6fa69

 

转载自:http://hi.baidu.com/zzmzzff/item/baf96f30319ef280b711dbd0

Rundll32.exe使用方法大全

winexec(Pchar('StrCommand'),sw_Show);

其中StrCommand代表以下命令之一(使用Windows中的运行不要加引号):

rundll32 shell32,Control_RunDLL - 运行控制面板

rundll32 shell32,OpenAs_RunDLL - 打开打开方式窗口

rundll32 shell32,ShellAboutA Info-Box - 打开关于窗口

rundll32 shell32,Control_RunDLL desk.cpl - 打开显示属性窗口

rundll32 user,cascadechildwindows - 层叠全部窗口

rundll32 user,tilechildwindows - 最小化所有的子窗口

rundll32 user,repaintscreen - 刷新桌面

rundll32 shell,shellexecute Explorer - 重新运行Windows Explorer

rundll32 keyboard,disable - 锁写键盘

rundll32 mouse,disable - 让鼠标失效

rundll32 user,swapmousebutton - 交换鼠标按钮

rundll32 user,setcursorpos - 设置鼠标位置为(0,0)

rundll32 user,wnetconnectdialog - 打开映射网络驱动器窗口

rundll32 user,wnetdisconnectdialog - 打开断开网络驱动器窗口

rundll32 user,disableoemlayer - 显示BSOD窗口, (BSOD) = Blue Screen Of Death, 即蓝屏

rundll32 diskcopy,DiskCopyRunDll - 打开磁盘复制窗口

rundll32 rnaui.dll,RnaWizard - 运行Internet连接向导, 如果加上参数1则为silent模式

rundll32 shell32,SHFormatDrive - 打开格式化磁盘(A)窗口

rundll32 shell32,SHExitWindowsEx -1 - 冷启动Windows Explorer

rundll32 shell32,SHExitWindowsEx 1 - 关机

rundll32 shell32,SHExitWindowsEx 0 - 退当前用户

rundll32 shell32,SHExitWindowsEx 2 Windows9x 快速重启

rundll32 krnl386.exe,exitkernel - 强行退出Windows 9x(无确认)

rundll rnaui.dll,RnaDial MyConnect - 运行网络连接对话框

rundll32 msprint2.dll,RUNDLL_PrintTestPage - 选择打印机和打印测试页

rundll32 user,setcaretblinktime - 设置光标闪烁速度

rundll32 user, setdoubleclicktime - 测试鼠标双击速度

rundll32 sysdm.cpl,InstallDevice_Rundll - 搜索非PnP设备

控制面板中的各项功能

 

winexec('rundll32.exe shell32.dll, Control_RunDLL', 9);

{辅助选项 属性-键盘}

winexec('rundll32.exe shell32.dll, Control_RunDLL access.cpl, 1', 9);

{辅助选项 属性-声音}

winexec('rundll32.exe shell32.dll, Control_RunDLL access.cpl, 2', 9);

{辅助选项 属性-显示}

winexec('rundll32.exe shell32.dll, Control_RunDLL access.cpl, 3', 9);

{辅助选项 属性-鼠标}

winexec('rundll32.exe shell32.dll, Control_RunDLL access.cpl, 4', 9);

{辅助选项 属性-常规}

winexec('rundll32.exe shell32.dll, Control_RunDLL access.cpl, 5', 9);

{添加删除程序 属性-安装卸载}

winexec('rundll32.exe shell32.dll, Control_RunDLL Appwiz.cpl, 1', 9);

{添加删除程序 属性-Windows安装程序}

winexec('rundll32.exe shell32.dll, Control_RunDLL Appwiz.cpl, 2', 9);

{添加删除程序 属性-启动盘}

winexec('rundll32.exe shell32.dll, Control_RunDLL Appwiz.cpl, 3', 9);

{显示 属性-背景}

winexec('rundll32.exe shell32.dll, Control_RunDLL desk.cpl, 0', 9);

{显示 属性-屏幕保护程序}

winexec('rundll32.exe shell32.dll, Control_RunDLL desk.cpl, 1', 9);

{显示 属性-外观}

winexec('rundll32.exe shell32.dll, Control_RunDLL desk.cpl, 2', 9);

{显示 属性-设置}

winexec('rundll32.exe shell32.dll, Control_RunDLL desk.cpl, 3', 9);

{Internet 属性-常规}

winexec('rundll32.exe shell32.dll, Control_RunDLL Inetcpl.cpl, 0', 9);

{Internet 属性-安全}

winexec('rundll32.exe shell32.dll, Control_RunDLL Inetcpl.cpl, 1', 9);

{Internet 属性-内容}

winexec('rundll32.exe shell32.dll, Control_RunDLL Inetcpl.cpl, 2', 9);

{Internet 属性-连接}

winexec('rundll32.exe shell32.dll, Control_RunDLL Inetcpl.cpl, 3', 9);

{Internet 属性-程序}

winexec('rundll32.exe shell32.dll, Control_RunDLL Inetcpl.cpl, 4', 9);

{Internet 属性-高级}

winexec('rundll32.exe shell32.dll, Control_RunDLL Inetcpl.cpl, 5', 9);

{区域设置 属性-区域设置}

winexec('rundll32.exe shell32.dll, Control_RunDLL Intl.cpl, 0', 9);

{区域设置 属性-数字}

winexec('rundll32.exe shell32.dll, Control_RunDLL Intl.cpl, 1', 9);

{区域设置 属性-货币}

winexec('rundll32.exe shell32.dll, Control_RunDLL Intl.cpl, 2', 9);

{区域设置 属性-时间}

winexec('rundll32.exe shell32.dll, Control_RunDLL Intl.cpl, 3', 9);

{区域设置 属性-日期}

winexec('rundll32.exe shell32.dll, Control_RunDLL Intl.cpl, 4', 9);

winexec('rundll32.exe shell32.dll, Control_RunDLL Joy.cpl, 0', 9);

winexec('rundll32.exe shell32.dll, Control_RunDLL Joy.cpl, 1', 9);

{鼠标 属性}

winexec('rundll32.exe shell32.dll, Control_RunDLL Main.cpl', 9);

{多媒体 属性-音频}

winexec('rundll32.exe shell32.dll, Control_RunDLL Mmsys.cpl, 0', 9);

{多媒体 属性-视频}

winexec('rundll32.exe shell32.dll, Control_RunDLL Mmsys.cpl, 1', 9);

{多媒体 属性-MIDI}

winexec('rundll32.exe shell32.dll, Control_RunDLL Mmsys.cpl, 2', 9);

{多媒体 属性-CD音乐}

winexec('rundll32.exe shell32.dll, Control_RunDLL Mmsys.cpl, 3', 9);

{多媒体 属性-设备}

winexec('rundll32.exe shell32.dll, Control_RunDLL Mmsys.cpl, 4', 9);

{调制解调器 属性}

winexec('rundll32.exe shell32.dll, Control_RunDLL Modem.cpl', 9);

winexec('rundll32.exe shell32.dll, Control_RunDLL Netcpl.cpl', 9);

{密码 属性}

winexec('rundll32.exe shell32.dll, Control_RunDLL Password.cpl', 9);

{扫描仪与数字相机 属性}

winexec('rundll32.exe shell32.dll, Control_RunDLL Sticpl.cpl', 9);

{系统 属性-常规}

winexec('rundll32.exe shell32.dll, Control_RunDLL Sysdm.cpl, 0', 9);

{系统 属性-设备管理器}

winexec('rundll32.exe shell32.dll, Control_RunDLL Sysdm.cpl, 1', 9);

{系统 属性-硬件配置文件}

winexec('rundll32.exe shell32.dll, Control_RunDLL Sysdm.cpl, 2', 9);

{系统 属性-性能}

winexec('rundll32.exe shell32.dll, Control_RunDLL Sysdm.cpl, 3', 9);

{日期时间 属性}

winexec('rundll32.exe shell32.dll, Control_RunDLL timedate.cpl', 9);

{电源管理 属性}

winexec('rundll32.exe shell32.dll, Control_RunDLL Powercfg.cpl', 9);

winexec('rundll32.exe shell32.dll, Control_RunDLL Telephon.cpl', 9);

关于调用后的判断处理建议:

先声明一个cardinal类型的变量RtnCardinal获取返回值进行判断如:

RtnCardinal = winexec('rundll32.exe shell32.dll, Control_RunDLL Telephon.cpl', 9);

返回值 可能原因

0 程序超出内存

ERROR_BAD_FORMAT 程序为一个非法的Win32.EXE程序

ERROR_FILE_NOT_FOUND 指定文件没找到

ERROR_PATH_NOT_FOUND 指定路径没找到

 

使用方法:

点击“开始-程式-Ms-Dos方式”,进入Dos视窗,然後键入rundll32.exe user.exe,restartwindows,再按下回车键,这时你将看到,机器被重启了!怎么样,是不是很有趣?

当然,Rundll的功能绝不仅仅是重启你的机器。其实,Rundll者,顾名思义,执行Dll也,它的功能就是以命令列的方式呼叫Windows的动态链结库,Rundll32.exe与Rundll.exe的区别就在於前者是呼叫32位的链结库,而後者是运用於16位的链结库,它们的命令格式是:

RUNDLL.EXE ,,

这里要注意三点:1.Dll档案名中不能含有空格,比如该档案位於cProgram Files目录,你要把这个路径改成cProgra~1;2.Dll档案名与Dll入口点间的逗号不能少,否则程式将出错并且不会给出任何资讯!3.这是最重要的一点:Rundll不能用来呼叫含返回值参数的Dll,例如Win32API中的GetUserName(),GetTextFace()等。在Visual Basic中,提供了一条执行外部程式的指令Shell,格式为:

Shell “命令列”

如果能配合Rundll32.exe用好Shell指令,会使您的VB程式拥有用其他方法难以甚至无法实现的效果:仍以重启为例,传统的方法需要你在VB工程中先建立一个模组,然後写入WinAPI的声明,最後才能在程式中呼叫。而现在只需一句

Shell “rundll32.exe user.exe,restartwindows”就搞定了!是不是方便多了?

实际上,Rundll32.exe在呼叫各种Windows控制面板和系统选项方面有著独特的优势。下面,我就将本人在因特网上收集的有关Rundll的指令列举如下(很有用的,能省去你很多呼叫Windows API的时间!!),供大家在程式设计中引用:

命令列 rundll32.exe shell32.dll,Control_RunDLL

功能 显示控制面板

命令列 rundll32.exe shell32.dll,Control_RunDLL access.cpl,,1

功能 显示“控制面板-辅助选项-键盘”选项视窗

命令列 rundll32.exe shell32.dll,Control_RunDLL access.cpl,,2

功能 显示“控制面板-辅助选项-声音”选项视窗

命令列 rundll32.exe shell32.dll,Control_RunDLL access.cpl,,3

功能 显示“控制面板-辅助选项-显示”选项视窗

命令列 rundll32.exe shell32.dll,Control_RunDLL access.cpl,,4

功能 显示“控制面板-辅助选项-滑鼠”选项视窗

命令列 rundll32.exe shell32.dll,Control_RunDLL access.cpl,,5

功能 显示“控制面板-辅助选项-传统”选项视窗

命令列 rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl @1

功能 执行“控制面板-添加新硬体”向导。

命令列 rundll32.exe shell32.dll,SHHelpShortcuts_RunDLL AddPrinter

功能 执行“控制面板-添加新印表机”向导。

命令列 rundll32.exe shell32.dll,Control_RunDLL appwiz.cpl,,1

功能 显示 “控制面板-添加删除程式-安装卸载” 面板。

命令列 rundll32.exe shell32.dll,Control_RunDLL appwiz.cpl,,2

功能 显示 “控制面板-添加删除程式-安装Windows” 面板。

命令列 rundll32.exe shell32.dll,Control_RunDLL appwiz.cpl,,3

功能 显示 “控制面板-添加删除程式-启动盘” 面板。

命令列 rundll32.exe syncui.dll,Briefcase_Create

功能 在桌面上建立一个新的“我的公文包”。

命令列 rundll32.exe diskcopy.dll,DiskCopyRunDll

功能 显示复制软碟视窗

命令列 rundll32.exe apwiz.cpl,NewLinkHere %1

功能 显示“建立快捷方式”的对话框,所建立的快捷方式的位置由%1参数决定。

命令列 rundll32.exe shell32.dll,Control_RunDLL timedate.cpl,,0

功能 显示“日期与时间”选项视窗。

命令列 rundll32.exe shell32.dll,Control_RunDLL timedate.cpl,,1

功能 显示“时区”选项视窗。

命令列 rundll32.exe rnaui.dll,RnaDial [某个拨号连接的名称]

功能 显示某个拨号连接的拨号视窗。如果已经拨号连接,则显示目前的连接状态的视窗。

命令列 rundll32.exe rnaui.dll,RnaWizard

功能 显示“新建拨号连接”向导的视窗。

命令列 rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,0

功能 显示“显示属性-背景”选项视窗。

命令列 rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,1

功能 显示“显示属性-萤屏保护”选项视窗。

命令列 rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,2

功能 显示“显示属性-外观”选项视窗。

命令列 rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,3

功能 显示显示“显示属性-属性”选项视窗。

命令列 rundll32.exe shell32.dll,SHHelpShortcuts_RunDLL FontsFolder

功能 显示Windows的“字体”档案夹。

命令列 rundll32.exe shell32.dll,Control_RunDLL main.cpl @3

功能 同样是显示Windows的“字体”档案夹。

命令列 rundll32.exe shell32.dll,SHformatDrive

功能 显示格式化软碟对话框。

命令列 rundll32.exe shell32.dll,Control_RunDLL joy.cpl,,0

功能 显示“控制面板-游戏控制器-一般”选项视窗。

命令列 rundll32.exe shell32.dll,Control_RunDLL joy.cpl,,1

功能 显示“控制面板-游戏控制器-进阶”选项视窗。

命令列 rundll32.exe mshtml.dll,PrintHTML (HTML文档)

功能 列印HTML文档。

命令列 rundll32.exe shell32.dll,Control_RunDLL mlcfg32.cpl

功能 显示Microsoft Exchange一般选项视窗。

命令列 rundll32.exe shell32.dll,Control_RunDLL main.cpl @0

功能 显示“控制面板-滑鼠” 选项 。

命令列 rundll32.exe shell32.dll,Control_RunDLL main.cpl @1

功能 显示 “控制面板-键盘属性-速度”选项视窗。

命令列 rundll32.exe shell32.dll,Control_RunDLL main.cpl @1,,1

功能 显示 “控制面板-键盘属性-语言”选项视窗。

命令列 rundll32.exe shell32.dll,Control_RunDLL main.cpl @2

功能 显示Windows“印表机”档案夹。

命令列 rundll32.exe shell32.dll,Control_RunDLL main.cpl @3

功能 显示Windows“字体”档案夹。

命令列 rundll32.exe shell32.dll,Control_RunDLL main.cpl @4

功能 显示“控制面板-输入法属性-输入法”选项视窗。

命令列 rundll32.exe shell32.dll,Control_RunDLL modem.cpl,,add

功能 执行“添加新调制解调器”向导。

命令列 rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl,,0

功能 显示“控制面板-多媒体属性-音频”属性页。

命令列 rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl,,1

功能 显示“控制面板-多媒体属性-视频”属性页。

命令列 rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl,,2

功能 显示“控制面板-多媒体属性-MIDI”属性页。

命令列 rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl,,3

功能 显示“控制面板-多媒体属性-CD音乐”属性页。

命令列 rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl,,4

功能 显示“控制面板-多媒体属性-设备”属性页。

命令列 rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl @1

功能 显示“控制面板-声音”选项视窗。

命令列 rundll32.exe shell32.dll,Control_RunDLL netcpl.cpl

功能 显示“控制面板-网路”选项视窗。

命令列 rundll32.exe shell32.dll,Control_RunDLL odbccp32.cpl

功能 显示ODBC32资料管理选项视窗。

命令列 rundll32.exe shell32.dll,OpenAs_RunDLL

功能 显示指定档案(drivepathfilename)的“打开方式”对话框。

命令列 rundll32.exe shell32.dll,Control_RunDLL password.cpl

功能 显示“控制面板-密码”选项视窗。

命令列 rundll32.exe shell32.dll,Control_RunDLL powercfg.cpl

功能 显示“控制面板-电源管理属性”选项视窗。

命令列 rundll32.exe shell32.dll,SHHelpShortcuts_RunDLL PrintersFolder

功能 显示Windows“印表机”档案夹。(同rundll32.exe shell32.dll,Control_RunDLL main.cpl @2)

命令列 rundll32.exe shell32.dll,Control_RunDLL intl.cpl,,0

功能 显示“控制面板-区域设置属性-区域设置”选项视窗。

命令列 rundll32.exe shell32.dll,Control_RunDLL intl.cpl,,1

功能 显示“控制面板-区域设置属性-数字”选项视窗。

命令列 rundll32.exe shell32.dll,Control_RunDLL intl.cpl,,2

功能 显示“控制面板-区域设置属性-货币”选项视窗。

命令列 rundll32.exe shell32.dll,Control_RunDLL intl.cpl,,3

功能 显示“控制面板-区域设置属性-时间”选项视窗。

命令列 rundll32.exe shell32.dll,Control_RunDLL intl.cpl,,4

功能 显示“控制面板-区域设置属性-日期”选项视窗。

命令列 rundll32.exe desk.cpl,InstallScreenSaver [萤屏保护档案名]

功能 将指定的萤屏保护档案设置为Windows的屏保,并显示萤屏保护属性视窗。

命令列 rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl,,0

功能 显示“控制面板-系统属性-传统”属性视窗。

命令列 rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl,,1

功能 显示“控制面板-系统属性-设备管理器”属性视窗。

命令列 rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl,,2

功能 显示“控制面板-系统属性-硬体配置档案”属性视窗。

命令列 rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl,,3

功能 显示“控制面板-系统属性-性能”属性视窗。

命令列 rundll32.exe user.exe,restartwindows

功能 强行关闭所有程式并重启机器。

命令列 rundll32.exe user.exe,exitwindows

功能 强行关闭所有程式并关机。

命令列 rundll32.exe shell32.dll,Control_RunDLL telephon.cpl

功能 显示“拨号属性”选项视窗

命令列 rundll32.exe shell32.dll,Control_RunDLL themes.cpl

功能 显示“桌面主旨”选项面板

当然,不止是VisualBasic,象Delphi.VisualC++等其他程式设计语言也可以通过呼叫外部命令的方法来使用Rundll的这些功能,具体方法这里就不再详细叙述了。灵活的使用Rundll,一定会使你的程式设计轻轻松松,达到事半功倍的效果!

VBS模拟键盘输入示例

Set objShell = CreateObject("Wscript.Shell")

strCommandLine = "ttpsetup.exe" '启动安装程序

objShell.Run(strCommandLine)

set WshShell = CreateObject("WScript.Shell")

WScript.Sleep 3000 '延时3秒

WshShell.SendKeys "s" '模拟按下 S 键开始安装

WScript.Sleep 300 '延时0.3秒

WshShell.SendKeys "a" '模拟按下 A 键同意协议

WScript.Sleep 300

WshShell.SendKeys "{ENTER}" '模拟按下回车键执行下一步

WScript.Sleep 300

WshShell.SendKeys "{ENTER}" '模拟按下回车键执行下一步

WScript.Sleep 300

WshShell.SendKeys "{ENTER}" '模拟按下回车键执行下一步

WScript.Sleep 2000

WshShell.SendKeys "{TAB}" '模拟按下 Tab 键选择安装项目

WScript.Sleep 300

WshShell.SendKeys "{TAB}"

WScript.Sleep 300

WshShell.SendKeys " " '模拟按下空格键去除安装百度超级搜霸一行前的√号

WScript.Sleep 300

WshShell.SendKeys "{ENTER}" '模拟按下回车键完成最后一步

 

把以上代码复制到记事本中(右边的文字是说明,一起复制也不影响),再另存为 AutoSetup.vbs ,把此文件存放在千千静听安装执行程序(ttpsetup.exe)同一目录下,双击 AutoSetup.vbs 即可自动完成千千静听的安装。成功的关键是,你必须先安装一次千千静听,然后记住每一步的按键是什么,这个文件就可以拿去别的机上执行了。

 

SendKeys 的参数说明:

 

使用 SendKeys 方法可以将键击发送到无自动化界面的应用程序中。多数键盘字符都可用一个键击表示。某些键盘字符由多个键击组合而成(例如,CTRL+SHIFT+HOME)。要发送单个键盘字符,请将字符本身作为 string 参数发送。例如,要发送字母 x,则请发送 string 参数 "x"。

 

可使用 SendKeys 同时发送多个键击。为此,可将每个键击按顺序排列在一起,以此来创建表示一系列键击的复合字符串参数。例如,要发送键击 a、b 和 c,则需要发送字符串参数 "abc" 。SendKeys 方法将某些字符用作字符的修饰符(而不使用其本身的含义)。这组特殊的字符可包括圆括号、中括号、大括号,以及:

 

加号 "+"

插入记号 "^"

百分号 "%"

和“非”符号 "~"

 

用大括号 "{}" 括起这些字符可以发送它们。例如,要发送加号,请使用字符串参数 "{+}"。SendKeys中使用的中括号 "[ ]" 无任何特殊含义,但是必须把它们括在大括号中,以便容纳确实要赋予其特殊含义的应用程序(例如,对于动态数据交换 (DDE) 就是这样)。

 

要发送左中括号字符,请发送字符串参数 "{[}";要发送右中括号字符,请发送字符串参数 "{]}"。

要发送左大括号字符,请发送字符串参数 "{{}";要发送右大括号字符,请发送字符串参数 "{}}"。

 

某些键击不生成字符(如 ENTER 和 TAB)。某些键击表示操作(如 BACKSPACE 和 BREAK)。要发送这些类型的键击,请发送下表中列出的参数:

 

空格键 " "

退格键 {BACKSPACE} 或 {BS} 或 {BKSP}

BREAK {BREAK}

DELETE {DELETE} 或 {DEL}

向下键 {DOWN}

向上键 {UP}

向左键 {LEFT}

向右键 {RIGHT}

END {END}

ENTER {ENTER} 或 ~

ESC {ESC}

TAB {TAB}

CAPS LOCK {CAPSLOCK}

HELP {HELP}

HOME {HOME}

INSERT {INSERT} 或 {INS}

NUM LOCK {NUMLOCK}

PAGE DOWN {PGDN}

PAGE UP {PGUP}

PRINT SCREEN {PRTSC}

SCROLL LOCK {SCROLLLOCK}

 

F1 {F1}

F2 {F2}

F3 {F3}

F4 {F4}

F5 {F5}

F6 {F6}

F7 {F7}

F8 {F8}

F9 {F9}

F10 {F10}

F11 {F11}

F12 {F12}

 

要发送由常规键击和 SHIFT、CTRL 或 ALT 组合而成的键盘字符,请创建表示该键击组合的复合字符串参数。可通过在常规键击之前添加一个或多个以下特殊字符来完成上述操作:

 

SHIFT +

CTRL ^

ALT %

 

注意:这样使用时,不用大括号括起这些特殊字符。

要指定在按下多个其他键时,按下 SHIFT、CTRL 和 ALT 的组合,请创建复合字符串参数,用括号括起其中的组合键。例如,要发送的组合键指定:

 

如果在按 e 和 c 的同时按 SHIFT 键,则发送字符串参数 "+(ec)"。

如果在按 e 时只按 c(而不按 SHIFT),则发送字符串参数 "+ec"。

可使用 SendKeys 方法发送一种在一行内重复按键的键击。为此,要创建复合字符串参数,以指定要重复的键击,并在其后指定重复次数。可使用 {键击 数字} 形式的复合字符串参数来完成上述操作。例如,如果要发送 10 次 "x",则需要发送字符串参数 "{x 10}"。请确保在键击和数字之间有一个空格。

 

注意:只可以发送重复按一个键的键击。例如,可以发送 10 次 "x",但不可发送 10 次 "Ctrl+x"。

注意:不能向应用程序发送 PRINT SCREEN 键 {PRTSC}。

 

 

例子1:关机脚本 (模拟按键为:Ctrl + Esc、u、u )

 

把以下代码复制至记事本,另存为 off.vbs

 

set WshShell = CreateObject("WScript.Shell")

WshShell.SendKeys "^{ESC}uu"

 

 

例子2:重启脚本 (模拟按键为:Ctrl + Esc、u、r )

 

把以下代码复制至记事本,另存为 reboot.vbs

 

set WshShell = CreateObject("WScript.Shell")

WshShell.SendKeys "^{ESC}ur"

 

 

例子3:切换输入法 (模拟同时按下:Shift Ctrl )

 

set WshShell = CreateObject("WScript.Shell")

WshShell.SendKeys "+(^)"

 

 

例子4:输入 cn-dos.net! 至记事本并保存为 CnDos.txt

 

Dim WshShell

Set WshShell=WScript.CreateObject("WScript.Shell")

WshShell.Run "notepad"

WScript.Sleep 1500

WshShell.AppActivate "无标题 - 记事本"

WshShell.SendKeys "c"

WScript.Sleep 200

WshShell.SendKeys "n"

WScript.Sleep 200

WshShell.SendKeys "-"

WScript.Sleep 200

WshShell.SendKeys "d"

WScript.Sleep 200

WshShell.SendKeys "o"

WScript.Sleep 200

WshShell.SendKeys "s"

WScript.Sleep 200

WshShell.SendKeys "."

WScript.Sleep 200

WshShell.SendKeys "n"

WScript.Sleep 200

WshShell.SendKeys "e"

WScript.Sleep 200

WshShell.SendKeys "t"

WScript.Sleep 200

WshShell.SendKeys "!"

WScript.Sleep 200

WshShell.SendKeys "%FS"

WScript.Sleep 500

WshShell.SendKeys "C"

WScript.Sleep 200

WshShell.SendKeys "n"

WScript.Sleep 200

WshShell.SendKeys "D"

WScript.Sleep 200

WshShell.SendKeys "o"

WScript.Sleep 200

WshShell.SendKeys "s"

WScript.Sleep 200

WshShell.SendKeys "%S"

WScript.Sleep 500

WshShell.SendKeys "%FX"

 

 

例子5:自动定时存盘的记事本(此脚本来自网上)

 

'第一部分:定义变量和对象

Dim WshShell, AutoSaveTime, TXTFileName

AutoSaveTime=(1000*60*1) '自动存盘时间为1分钟

Set WshShell=WScript.CreateObject("WScript.Shell")

TXTFileName=InputBox("给文本起名(不能用中文和纯数字):")

 

'第二部分:打开并激活记事本

WshShell.Run "notepad"

WScript.Sleep 200

WshShell.AppActivate "无标题 - 记事本"

 

'第三部分:用输入的文件名存盘

WshShell.SendKeys "^s"

WScript.Sleep 300

WshShell.SendKeys TXTFileName

WScript.Sleep 300

WshShell.SendKeys "%s"

WScript.Sleep AutoSaveTime

 

'第四部分:自动定时存盘

While WshShell.AppActivate (TXTFileName)=True

WshShell.SendKeys "^s"

WScript.Sleep AutoSaveTime

Wend

WScript.Quit

 

 

例子:

 

set objShell = CreateObject("Wscript.Shell")

strCommandLine = "psetup755281.exe" '启动安装程序

objShell.Run(strCommandLine)

set WshShell = CreateObject("WScript.Shell")

WScript.Sleep 2000 '延时3秒

WshShell.SendKeys "{ENTER}" '模拟按下回车键执行下一步

WScript.Sleep 300 '延时3秒

WshShell.SendKeys "{ENTER}" '模拟按下回车键执行下一步

WScript.Sleep 300 '延时3秒

WshShell.SendKeys "{ENTER}" '模拟按下回车键执行下一步

WScript.Sleep 5200 '延时3秒

WshShell.SendKeys "{ENTER}" '模拟按下回车键执行下一步

WScript.Sleep 300 '延时3秒

WshShell.SendKeys "{ENTER}" '模拟按下回车键执行下一步

WScript.Sleep 300 '延时3秒

WshShell.SendKeys "{ENTER}" '模拟按下回车键执行下一步

WScript.Sleep 200

WshShell.SendKeys " " '模拟按下空格键去除安装百度超级搜霸一行前的√号

WScript.Sleep 100

WshShell.SendKeys "{TAB}" '模拟按下 Tab 键选择安装项目

WScript.Sleep 200

WshShell.SendKeys " " '模拟按下空格键去除安装百度超级搜霸一行前的√号

WScript.Sleep 200 '延时0.3秒

WshShell.SendKeys "f" '模拟按下 F键同意协议

 

 

 

 

PS:

 

Set WShell=WScript.CreateObject("WScript.Shell")

 

'等候2分钟,1000=1秒,自己改

WScript.Sleep 120000

 

'组合键:Ctrl+Alt+S

WShell.SendKeys "^%S"

 

'等候10秒钟,等密码锁完全启动,密码

WScript.Sleep 10000

WShell.SendKeys "0000"

 

'回车

WScript.Sleep 200

WShell.SendKeys "{ENTER}"

 

'密码

WScript.Sleep 200

WShell.SendKeys "0000"

 

'回车

WScript.Sleep 200

WShell.SendKeys "{ENTER}"

 

'回车

WScript.Sleep 200

WShell.SendKeys "{ENTER}"

 

 

PS2:在批处理中使用vbs

 

@echo offecho wscript.sleep 1000>%temp%.vbsecho set wshell=WScript.CreateObject("WScript.Shell")>>%temp%.vbsecho wshell.SendKeys "%%1">>%temp%.vbsstart %temp%.vbsexit

 

 

 

按下F5刷新桌面

 

Dim WshShell,Path,i

Set WshShell = WScript.CreateObject("WScript.Shell")

WshShell.SendKeys "{F5}"

----------------------------------------------------

电脑的自动重启

 

set WshShell = CreateObject("WScript.Shell")

WshShell.SendKeys "^{ESC}u"

WshShell.SendKeys "R"

----------------------------------------------------

启动任务管理器

 

set WshShell = CreateObject("WScript.Shell")

WshShell.SendKeys "^+{ESC}"

----------------------------------------------------

QQ消息群发

 

Dim WshShell

Set WshShell= WScript.createObject("WScript.Shell")

WshShell.AppActivate "bomb"

for i=1 to 60

WScript.Sleep 800

WshShell.SendKeys "Number0"

WshShell.SendKeys i

WshShell.SendKeys "%s"

next

----------------------------------------------------

自动到百度搜索歌曲:white flag

 

Dim WshShell,Path,i

Set WshShell = WScript.CreateObject("WScript.Shell")

WshShell.Run("IEXPLORE.EXE")

WScript.Sleep 2000

WshShell.AppActivate "about:blank-Microsoft Internet Explorer"

WshShell.SendKeys "+{TAB}"

WshShell.SendKeys "http://mp3.baidu.com"

WScript.Sleep 800

WshShell.SendKeys "{ENTER}"

WScript.Sleep 3000

WshShell.SendKeys "white flag"

WScript.Sleep 800

WshShell.SendKeys "{ENTER}"

----------------------------------------------------

在记事本中输入Happy Birthday!并保存为birth.txt

 

Dim WshShell

Set WshShell=WScript.CreateObject("WScript.Shell")

WshShell.Run "notepad"

WScript.Sleep 1500

WshShell.AppActivate "无标题 - 记事本"

WshShell.SendKeys "H"

WScript.Sleep 500

WshShell.SendKeys "a"

WScript.Sleep 500

WshShell.SendKeys "p"

WScript.Sleep 500

WshShell.SendKeys "p"

WScript.Sleep 500

WshShell.SendKeys "y"

WScript.Sleep 500

WshShell.SendKeys " "

WScript.Sleep 500

WshShell.SendKeys "B"

WScript.Sleep 500

WshShell.SendKeys "i"

WScript.Sleep 500

WshShell.SendKeys "r"

WScript.Sleep 500

WshShell.SendKeys "t"

WScript.Sleep 500

WshShell.SendKeys "h"

WScript.Sleep 500

WshShell.SendKeys "d"

WScript.Sleep 500

WshShell.SendKeys "a"

WScript.Sleep 500

WshShell.SendKeys "y"

WScript.Sleep 500

WshShell.SendKeys "!"

WScript.Sleep 500

WshShell.SendKeys "%FS"

WScript.Sleep 500

WshShell.SendKeys "b"

WScript.Sleep 500

WshShell.SendKeys "i"

WScript.Sleep 500

WshShell.SendKeys "r"

WScript.Sleep 500

WshShell.SendKeys "t"

WScript.Sleep 500

WshShell.SendKeys "h"

WScript.Sleep 500

WshShell.SendKeys "%S"

WScript.Sleep 500

WshShell.SendKeys "%FX"

 

VBS在隐藏窗口中创建进程

描述

在本地计算机中(但是在隐藏窗口中)启动 Notepad.exe。

脚本代码复制内容到剪贴板代码: Const HIDDEN_WINDOW = 12 strComputer = "." Set objWMIService = GetObject("winmgmts:" _     & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") Set objStartup = objWMIService.Get("Win32_ProcessStartup") Set objConfig = objStartup.SpawnInstance_ objConfig.ShowWindow = HIDDEN_WINDOW Set objProcess = GetObject("winmgmts:root\cimv2:Win32_Process") errReturn = objProcess.Create("Notepad.exe", null, objConfig, intProcessID)

获取WIN7 Windows Update 代理7.6.7600.256 更新系统补丁

如果你刚装完WIN7,用Windows Update更新系统补丁,网络不给力,一直停在“正在检查更新...”
可以到别人能正常更新补丁的系统里,复制 C:\Windows\Wuaueng.dll 这个文件过来覆盖掉源文件。
这个文件是Windows Update的新版本。

——————————————————————————————————————
引用自:
http://support.microsoft.com/kb/949104/zh-cn

如何检查安装的 Windows 更新代理版本

打开 %systemroot%\system32 文件夹。%systemroot% 是安装 Windows 的文件夹。例如,%systemroot% 文件夹是 C:\Windows。
右键单击 Wuaueng.dll,然后单击“属性”。
单击“详细信息”选项卡,然后查找文件版本号。

适用于 Windows 8.1 的最新版 Windows Update 代理是 7.9.9600.16422。适用于 Windows 8 的最新版 Windows Update 代理是 7.8.9200.16693。适用于 Windows 7、Windows Vista 和 Windows XP 的最新版 Windows Update 代理是 7.6.7600.256。

x86/x64/ia-64 的介绍及区别

说到IA-64与x86-64可能很多人会比较陌生。不知道你在下载系统的时候有没有注意过,有的地方标注了x86/64/ia-64全版本等字样。那x86/x64/ia-64都是什么东西的版本呢?答案就是CPU。

系统有x64,x86与ia-64三种版本之分,分别用于不同的CPU。较老的CPU只能安装x86版的系统,也就是我们常见的32位系统。因为微软的缘故,32位系统在过去的很长一段时间内,占据着桌面计算机的主流地位。64位系统能够在较新的x86-64架构的CPU上运行。而ia-64则只能运行于INTEL的安腾系列处理器。

x86:从1978年来的8086处理器开始,就已经出现了x86架构CPU,即32位处理器。

x86-64:又简称为x64,最初开发为1999年AMD,为了扩充IA64。当时的x86-64架构诞生颇有时代意义,处理器的发展遇到了瓶颈,内存寻址空间由于受到32位CPU的限制而只能最大到约4G。于是就有了x86-64。后被INTEL所采用。

ia-64:其实ia64的历史早于x86-64x,最初由INTEL和惠普联合推出。由于ia-64不与32位兼容,所以没有受到重视。直到INTEL采用了AMD的x86-64架构,才正式的批量生产。而后为了日益扩张的计算需求,INTEL重新将IA-64拿出来,发布了安腾系列服务器CPU。

虽然x86-64和IA-64处理器都能够运行64位操作系统和应用程序,但是区别在于:

x86-64架构基于x86,是为了让x86架构CPU兼容64位计算而产生的技术。X86-64架构的设计是采用直接简单的方法将目前的x86指令集扩展。这个方法与当初的由16位扩展至32位的情形很相似。优点在于用户可以自行选择x86平台或x64平台,兼容性高。

IA-64则是原生的纯64位计算处理器,并且与x86指令不兼容。如果想要执行x86指令需要硬件虚拟化支持,而且效率不高。优点在于IA-64架构体系将拥有64位内存寻址能力,能够支持更大的内存寻址空间。并且由于架构的改变,性能比起x86-64的64位兼容模式更高更强。

所以,IA-64操作系统也是比较少见的,由于只能在INTEL安腾系列处理器及AMD部分服务器处理器运行,所以主流市场并不常见。而且,这些IA-64架构处理器也不能够使用x64操作系统。而x86-64处理器则可以自由选择x86或是x64操作系统。

WIN7系统新版本MT4指标和EA脚本等消失找不到的解决方法

大家都知道,XP系统添加MT4指标,只要把指标文件放到 C:\Program Files\MT4\MQL4\Indicators 目录里就可以。

但是WIN7系统,比如我的64位WIN7,复制指标到 C:\Program Files (x86)\MT4\MQL4\Indicators 后,打开MT4软件却找不到刚才添加的指标。
原因是MT4自动升级新版本后出现的问题(MT4软件右上角多出了个搜索栏,便已经是升级为新版本了)
此时需要把指标文件等放到应用程序数据目录里,已经不是以前那样读取的安装目录文件了,目录路径为:
C:\Users\Administrator\AppData\Roaming\MetaQuotes\Terminal\D213485C8817AEEEEDFE6E4B7FAAE7AF\MQL4\Indicators
其中 Administrator 需要换成你的WIN7系统用户名,D213485C8817AEEEEDFE6E4B7FAAE7AF 这个目录也是随机的,每个人都不一样

有个简单的办法,运行MT4软件,菜单栏里:文件-打开数据文件夹(File-Open Data Folder),然后把指标、历史数据文件、模板、EA脚本复制到这个文件夹下就可以了。

 

------------------------------------------------------------------------------------------------------------------

外汇MetaTrader 4行情软件于2014-02-03推出新版本的MT4,版本号为V4.00 build 600
这个版本做了比较大的改变,把指标和EA脚本等存放目录,由MT4根目录下的experts改成了MQL4目录.所以大家在平时使用指标的时候,目录要记得存放到\mt4\MQL4\Indicators\.不然会发现找不到指标EA的情况.
600这个版本是官方自动更新的,所以大家可以去官方了解下有什么变化.在这里介绍一个最新版本中引入的Portable mode模式.看以下对比

0

通过以上对比,如果不启用Portable模式,大家会发现很多模板文件指标等不起作用,原因就在路径已经转移了.不再是以前的在MT4安装目录下了.
在这里分享一个工具terminal-Portable.exe,通过这个文件来启动程序,就可以以Portable模式启动MT4的terminal.exe文件.
下载地址 http://pan.baidu.com/s/1qW8qtA0

使用方法:直接把文件放到MT4根目录下运行就可以.

 

3dmax2009渲染时突然跳出错误自动关闭的解决办法

弹出错误并自动关闭的原因:
32位系统的XP在内存使用总量超过1.83G时,MAX就会溢出跳掉出错,
解决方法是到"右击我的电脑>属性>高级>启动和故障恢复'设置'>编辑",在打开的文件里,在结尾里加入/PAE /3GB参数(/前面有空格)然后保存重起即可。

例如:
[boot loader]
timeout=3
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect /PAE /3GB

再有就是模型较大的场景文件,VR设置的“动态内存极限”建议修改为3000试试。