author:zfive5(zidong)
email :zfive5@yahoo.com.cn
需求
用vc修改iis的属性 如设为可以匿名访问 将默认网站下的主目录路径c:\inetpub\wwwroot 在vc程序里面可以更改成任意路径.
实现
看到masterz在纯vc编写控制iis属性代码的文章(url:http://topic.csdn.net/t/20030224/15/1460500.html),总感觉有些麻烦,可能是用vb两年来的缘故吧,想了一个懒人的方法:“编写vbscript脚本,vc调用scriptcontrol控件在解析脚本了。”
还记得两年前用msscriptcontrol 解决过一个网络问题!
代码如下:
void ctestdlgdlg::onbnclickedok()
{
// todo: 在此添加控件通知处理程序代码
//onok();
char szbuf[1024]=””
“function changewebpath(computer ,webname ,path ) \r\n”
” on error resume next \r\n”
” dim vroot,websvc, site \r\n”
” changewebpath=-1 \r\n”
” set websvc = getobject(\”iis://\”&computer&\”/w3svc\”) \r\n”
” if (err <> 0) then exit function \r\n”
” for each site in websvc \r\n”
” if site.class = \”iiswebserver\” then \r\n”
” if site.servercomment = webname then \r\n”
” set vroot = site.getobject(\”iiswebvirtualdir\”, \”root\”) \r\n”
” vroot.path = path \r\n”
” vroot.setinfo \r\n”
” changewebpath=0 \r\n”
” exit function \r\n”
” end if \r\n”
” end if \r\n”
” next \r\n”
” end function \r\n”;
cstring szscript1=””;
szscript1.format(“%s”,szbuf);
cstring szscript2=”z5=changewebpath(\”127.0.0.1\”,\”默认网站\”,\”c:\\\”) “;
szscript1+=szscript2;
m_iis.put_language(“vbscript”);
m_iis.addcode(szscript1);
variant result= m_iis.eval(“z5”);
if(result.ival==0)
{
afxmessagebox(“success”);
}
else
{
afxmessagebox(“fail”);
}
return;
}
脚本参照c:\inetpub\adminscripts\*.vbs编写。
总体要比纯vc编写简单的多,而且几乎同样的代码,完全可以编写出控制iis其他属性的程序!只需编写脚本!