标题：MSNBot
程序运行
msnbot是一个控制台应用程序，它可以作为系统服务运行。支持的命令行参数如下: 
命令行参数 
-i [displayName] [服务描述] --- 安装服务 
-u [serverName] --- 卸载服务 
-s [serverName] --- 启动服务 
-e [serverName] --- 停止服务 
-n serverName --- 指定安装服务的名字 
-d --- 控制台方式 
-d0 ~ -d4指定不同的debug调试信息级别，-d4级别最低(DEBUG)将输出任何日志信息。 
关闭控制台窗口将结束程序运行。 
-a account:password --- 指定登录的msn帐号,仅仅和-d参数配合使用有效 
-c saveas_name --- 生成msnbot的副本,将当前登录帐号写入副本exe中,仅仅和-d参数配合使用有效 
-f 20061251120431.htm --- 读取指定的配置文件,仅指定了-d运行参数时才有效 
配置文件msnbot支持参数配置文件，用户可以以-f参数指定配置文件名称，如果不指定程序默认读取和程序同名但扩展名为ini的参数配置文件. 
比如程序名为msnbot.exe,则默认读取的配置文件为msnbot.ini.配置文件不是必须的。 
参数配置文件有msn扩展命令组成，每一行为一个扩展命令，命令各个参数项之间以一个空格分割. 
如果行开头为!,说明此行为注释，不作解释。关于支持的扩展命令见下面的说明。 
程序读取配置参数的顺序为先从exe自身读取配置，然后从ini中读取配置，最后从命令行读取配置。 
因此假如用户既在exe中配置了登录帐号也从ini中配置了登录帐号，在命令行运行时也输入了登录帐号则以命令行的为准。 
使用msnbot运行后，会自动的以指定的帐号登录msn服务器。此时用户可以在远程打开一个msnMessager，添加msnbot的登录帐号 
到自己的联系人列表，此时会看见msnbot机器人在线，此时双击msnbot联系人进入聊天状态： 
进入后会要求用户输入密码，此时输入msnbot机器人登录帐号的密码即可进入到一个cmd shell中，这时用户可进行任意的dos命令操作，关闭聊天窗口自动关闭cmd shell。
扩展命令
msnbot还支持一些扩展命令，用户可以在cmd shell状态下输入扩展命令，执行指定的操作 
注意在cmd shell中输入下面的扩展命令时前面要加上#号。譬如用户想杀掉一个aa.exe进程，应在 
cmd shell中输入如下#kill aa.exe 
注意：下面的命令解释中 <>代表用户输入内容，[]代表此项可输可不输 |代表可输入其中一项 
每一条命令的各个参数项之间以1个空格分割!
sets- 设置msnbot服务信息. 
用法: sets [account=<msn帐号>:<密码>] [opentype=APPEND] [log=<20061251120431.htm>] [loglevel=<LEVEL>] 
log=<20061251120431.htm> - 指定输出日志文件，如果用户设定了此项则将日志信息输出到用户指定的文件中。 
如果不设置，且程序以-d0~d4参数启动，则将日志输出到控制台窗口，否则不输出任何日志。 
loglevel=<LEVEL> - 指定输出那些日志信息,<LEVEL>应为下列值之一 DEBUG WARN INFO ERROR 
如果用户没有指定则默认输出INFO及ERROR信息。如果用户指定为WARN，则输出WARN INFO以及ERROR的日志信息 
opentype=APPEND - 如果设定了此项则程序启动时文件日志打开方式为追加写方式(此时此项要放到log=项之前) 
，否则是覆盖写方式 
account=<msn帐号>:<密码> - 指定msn的登录帐号和密码。如果在cmd shell中输入此命令则会注销当前的登录以新的帐号重新登录msn服务器
proxy - 代理服务器的设置 
用法: proxy type=<PROXY_HTTP|PROXY_SOCKS4|PROXY_SOCKS5> host=<代理服务器的地址> port=<代理服务器的端口> user=<访问代理服务的帐号> pwd=<访问代理服务的密码> 
type=<PROXY_HTTP|PROXY_SOCKS4|PROXY_SOCKS5> - 设置代理类型 
host=<代理服务器的地址> - 设置代理服务的ip地址或域名 
port=<代理服务器的端口> - 设置代理服务的端口 
user=<> pwd=<> - 如果访问代理服务需要帐号，则设置访问的帐号和密码 
kill - 杀死指定的进程 
用法: kill <programname>,<programname>... 
<programname> - 要杀死的进程名称,支持*?通配符.*匹配多个字符，?匹配一个字符。 
exec - 运行指定的程序 
用法: exec [-hide] [-check <programname>] [-user <[Domain\]account:password>] [-wait <dwMilliseconds>] <full path program> 
-hide - 是否后台运行指定的程序 
-check <programname> - 执行指定的程序前是否先检测<programname>是否已经运行，如果已运行则不执行指定的程序 
-user <[Domain\]account:password> - 以指定得帐号启动程序，仅仅在msnbot以服务方式运行时有效。
Domain域可以不指定，如果不指定则默认为本地帐号 
-wait <dwMilliseconds> - 成功启动进程后是否等待进程结束==0 不等待,<0 等待进程结束,>0 等待指定得毫秒 
<full path program> - 指定要执行的程序 
plst - 列出本机当前进程 
用法: plst [<过滤条件>,<过滤条件>,<过滤条件>...] 
<过滤条件> - 指定仅仅列出那些进程，支持*?通配符。*匹配多个字符，?匹配一个字符。 
如果不输入过滤条件则列出所有的进程 
path - 设置上载文件的默认的存储路径。 
用法: path [<默认存储路径>] 
<默认存储路径> - 如果不设置此项，则返回当前设置的存储路径。如果设置为.则存储路径为当前msnbot程序的路径，否则为用户设置路径 
程序启动后默认的存储路径为msnbot程序所在目录 
down - 从指定的url下载文件到msnbot运行的机器或从msnbot所在机器下载文件到本机 
用法: down <http://url>|<msnbot本地文件> 
http：//url- 下载指定的网络url到msnbot所在机器，默认存储路径为path指定的路径 
<msnbot本地文件> - 下载指定的msnbot本地文件到本机，即控制端。 
head - 指定msnbot机器人的头像 
用法: head [<msnbot本地图像文件>] 
<msnbot本地图像文件> - msnbot机器本地的png/jpg图像文件，如果不输入则取消机器人头像。 
nick - 指定msnbot机器人的昵称 
用法: nick <用户输入昵称> 
snap - 捕获当前屏幕 
用法: snap [<jpeg图片质量>] 
<jpeg图片质量> - 指定捕获的jpeg图片的质量1~100,如果不输默认是60 
指定的值越大图片质量越高，但图片文件大小越大 
stat - 显示系统信息 
显示机器名，操作系统信息，cpu信息以及当前工作站的状态 
keys - 模拟发送指定的按键/字符串 
用法: keys <要发送的字符串> 
fpas - 查找登录帐号密码 
用法: fpas [<Domain>\<要查找的帐号>] 
<Domain> - 指定要查找帐号的域，如果不输入则为本机当前域 
<要查找的帐号> - 指定要查找帐号的密码，如果不输入则为当前登录帐号 
示例 #fpas 
#fpas find_account 
#fpas mydomain\find_account 
shutdown - 关机 
restart - 重起机器 
logoff - 注销当前用户 
lock - 锁定当前机器(only for NT/2K/xp) 
3key - 模拟发送Ctrl+Alt+del按键