Author:zfive
(zidong)
Email :
需求
用VC修改IIS的属性如设为可以匿名访问将默认网站下的主目录路径C:\Inetpub\wwwroot 在VC程序里面可以更改成任意路径.
实现
看到masterz在纯vc编写控制IIS属性代码的文章(url)总感觉有些麻烦可能是用vb两年来的缘故吧想了一个懒人的方法编写vbscript脚本vc调用scriptcontrol控件在解析脚本了
还记得两年前用msscriptcontrol 解决过一个网络问题!
代码如下:
void CTestDlgDlg::OnBnClickedOk()
{
// TODO: 在此添加控件通知处理程序代码
//OnOK();
char szBUF[]=
Function ChangeWebPath(computer webname path ) \r\n
On Error Resume Next \r\n
Dim vRootwebsvc site \r\n
ChangeWebPath= \r\n
Set websvc = GetObject(\IIS://\&computer&\/Wsvc\) \r\n
if (Err <> ) Thenexit function \r\n
for each site in websvc \r\n
if siteclass = \IIsWebServer\ then \r\n
if siteServerComment = webname Then \r\n
Set vRoot = siteGetObject(\IIsWebVirtualDir\ \Root\) \r\n
vRootPath = path \r\n
vRootSetInfo \r\n
ChangeWebPath= \r\n
exit function \r\n
end If \r\n
end if \r\n
next \r\n
End function \r\n;
CString szScript=;
szScriptFormat(%sszBUF);
CString szScript=z=ChangeWebPath(\\\默认网站\\c:\\\) ;
szScript+=szScript;
m_iisput_Language(VBScript);
m_iisAddCode(szScript);
VARIANT result= m_iisEval(z);
if(resultiVal==)
{
AfxMessageBox(Success);
}
else
{
AfxMessageBox(Fail);
}
return;
}
脚本参照C:\Inetpub\AdminScripts\*vbs编写
总体要比纯vc编写简单的多而且几乎同样的代码完全可以编写出控制iis其他属性的程序!只需编写脚本!