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 vRoot
websvc
site \r\n
ChangeWebPath=
\r\n
Set websvc = GetObject(\
IIS://\
&computer&\
/W
svc\
) \r\n
if (Err <>
) 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=
\r\n
exit function \r\n
end If \r\n
end if \r\n
next \r\n
End function \r\n
;
CString szScript
=
;
szScript
Format(
%s
szBUF);
CString szScript
=
z
=ChangeWebPath(\
\
\
默認網站\
\
c:\\\
)
;
szScript
+=szScript
;
m_iis
put_Language(
VBScript
);
m_iis
AddCode(szScript
);
VARIANT result= m_iis
Eval(
z
);
if(result
iVal==
)
{
AfxMessageBox(
Success
);
}
else
{
AfxMessageBox(
Fail
);
}
return;
}
腳本參照C:\Inetpub\AdminScripts\*
vbs編寫
總體要比純vc編寫簡單的多
而且幾乎同樣的代碼
完全可以編寫出控制iis其他屬性的程序!只需編寫腳本!
From:http://tw.wingwit.com/Article/program/net/201311/12436.html