總體要比純vc編寫簡單的多,而且幾乎同樣的代碼,完全可以編寫出控制IIS其他屬性的程序!只需編寫腳本!
Author:zfive5(zidong)
Email :[email protected]
需求
用VC修改IIS的屬性 如設為可以匿名訪問 將默認網站下的主目錄路徑C:Inetpubwwwroot 在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 ) "
" On Error Resume Next "
" Dim vRoot,websvc, site "
" ChangeWebPath=-1 "
" Set websvc = GetObject("IIS://"&computer&"/W3svc") "
" if (Err <> 0) Then exit function "
" for each site in websvc "
" if site.class = "IISWebServer" then "
" if site.ServerComment = webname Then "
" Set vRoot = site.GetObject("IISWebVirtualDir", "Root") "
" vRoot.Path = path "
" vRoot.SetInfo "
" ChangeWebPath=0 "
" exit function "
" end If "
" end if "
" next "
" End function ";
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:InetpubAdminScripts*.vbs編寫。
總體要比純vc編寫簡單的多,而且幾乎同樣的代碼,完全可以編寫出控制IIS其他屬性的程序!只需編寫腳本!