用VC控制iis的属性

来源:互联网 发布:js 动态 style属性 编辑:程序博客网 时间:2024/04/30 07:18
Author:zfive5(zidong)
Email :zfive5@yahoo.com.cn
 
需求
 
VC修改IIS的属性 如设为可以匿名访问  将默认网站下的主目录路径C:/Inetpub/wwwroot在VC程序里面可以更改成任意路径.
 
实现
 
看到masterz在纯vc编写控制IIS属性代码的文章(urlhttp://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其他属性的程序!只需编写脚本!
 
原创粉丝点击