[转]有关IIS的虚拟目录的控制总结
原文地址:http://siyebocai.blog.163.com/blog/static/103316426200810297424779/
程序中需USE ? COMOBJ單元 ?
? 1.Q:如何得到機(jī)器上IIS中所有的WEB虛擬站點(diǎn). ?
? ?
? A: ?
? ?
? var ?
? ? ? InstallPath: ? String; ?
? ? ? WebSite, ? WebServer, ? WebRoot: ? Variant; ?
? ? ? count: ? Integer; ?
? ? ? Flag: ? Boolean; ?
? begin ?
? ? ? ? Flag ? :=True; ?
? ? ? ? count ? :=1; ?
? ?
? ? ? ? while ? ? Flag ? do ?
? ? ? ? begin ?
? ? ? ? ? ? ? try ?
? ?
? ? ? ? ? ? ? ? ? WebSite ? :=CreateOLEObject('IISNamespace'); ?
? ? ? ? ? ? ? ? ? WebSite ? := ? WebSite.GetObject('IIsWebService', ? 'localhost/w3svc'); ?
? ? ? ? ? ? ? ? ? WebServer ? := ? WebSite.GetObject('IIsWebServer', ? inttostr(count)); ?
? ? ? ? ? ? ? ? ? Memo1.Lines.Add(WebServer.ServerComment); ?
? ? ? ? ? ? ? ? ? inc(count); ?
? ? ? ? ? ? ? ? ? except ?
? ? ? ? ? ? ? ? ? ? ? flag ? :=False; ?
? ? ? ? ? ? ? ? ? end; ?
? ? ? ? ? end; ?
? ?
? 2. ? Q:通過(guò)程序控制默認(rèn)WEB站點(diǎn)的啟動(dòng),停止,暫停 ?
? A: ?
? //停止WEB站點(diǎn) ?
? ?
? procedure ? TForm1.btn_stopClick(Sender: ? TObject); ?
? var ?
? ? ? InstallPath: ? String; ?
? ? ? WebSite, ? WebServer, ? WebRoot: ? Variant; ?
? begin ?
? ? ? ? try ?
? ? ? ? ? ? ? WebSite ? :=CreateOLEObject('IISNamespace'); ?
? ? ? ? ? ? ? WebSite ? := ? WebSite.GetObject('IIsWebService', ? 'localhost/w3svc'); ?
? ? ? ? ? ? ? WebServer ? := ? WebSite.GetObject('IIsWebServer', ? '1'); ?
? ? ? ? ? ? ? if ? string(webserver.ServerState) ? ='2' ? then ?
? ? ? ? ? ? ? begin ?
? ? ? ? ? ? ? ? ? webserver.stop; ?
? ? ? ? ? ? ? ? ? showmessage('停止服務(wù)成功'); ?
? ? ? ? ? ? ? end; ?
? ? ? ? except ?
? ? ? ? ? ? ? showmessage('停止服務(wù)失敗'); ?
? ? ? ? end; ?
? ?
? end; ?
? ?
? //啟動(dòng)WEB站點(diǎn) ?
? ?
? procedure ? TForm1.btn_startClick(Sender: ? TObject); ?
? var ?
? ? ? InstallPath: ? String; ?
? ? ? WebSite, ? WebServer, ? WebRoot: ? Variant; ?
? begin ?
? ? ? ? ? try ?
? ? ? ? ? ? ? WebSite ? :=CreateOLEObject('IISNamespace'); ?
? ? ? ? ? ? ? WebSite ? := ? WebSite.GetObject('IIsWebService', ? 'localhost/w3svc'); ?
? ? ? ? ? ? ? WebServer ? := ? WebSite.GetObject('IIsWebServer', ? '1'); ?
? ? ? ? ? ? ? if ? string(webserver.ServerState) ? ='4' ? then ?
? ? ? ? ? ? ? begin ?
? ? ? ? ? ? ? ? ? webserver.start; ?
? ? ? ? ? ? ? ? ? showmessage('啟動(dòng)服務(wù)成功'); ?
? ? ? ? ? ? ? end; ?
? ? ? ? ? except ?
? ? ? ? ? ? ? showmessage('啟動(dòng)服務(wù)失敗'); ?
? ? ? ? ? end; ?
? ?
? ?
? end; ?
? ?
? //暫停WEB站點(diǎn) ?
? ?
? procedure ? TForm1.btn_pauseClick(Sender: ? TObject); ?
? var ?
? ? ? InstallPath: ? String; ?
? ? ? WebSite, ? WebServer, ? WebRoot: ? Variant; ?
? begin ?
? ? ? try ?
? ? ? ? ? WebSite ? :=CreateOLEObject('IISNamespace'); ?
? ? ? ? ? WebSite ? := ? WebSite.GetObject('IIsWebService', ? 'localhost/w3svc'); ?
? ? ? ? ? WebServer ? := ? WebSite.GetObject('IIsWebServer', ? '1'); ?
? ? ? ? ? if ? string(webserver.ServerState) ? ='2' ? then ?
? ? ? ? ? begin ?
? ? ? ? ? ? ? webserver.pause; ?
? ? ? ? ? ? ? showmessage('暫停服務(wù)成功'); ?
? ? ? ? ? end; ?
? ? ? except ?
? ? ? ? ? showmessage('暫停服務(wù)失敗'); ?
? ? ? end; ?
? ?
? end; ?
? ?
? ?
? ?
? 3.虛擬目錄的創(chuàng)建 ?
? a:以程序在網(wǎng)上或超級(jí)猛料中也有,但都沒(méi)有指定應(yīng)用程序名,以下程序已完成此功能 ?
? var ?
? ? ? InstallPath: ? String; ?
? ? ? WebSite, ? WebServer, ? WebRoot, ? VDir: ? Variant; ?
? begin ?
? ? ? WebSite ? := ? CreateOleObject('IISNamespace'); ?
? ? ? WebSite ? := ? WebSite.GetObject('IIsWebService', ? 'localhost/w3svc'); ?
? ? ? WebServer ? := ? WebSite.GetObject('IIsWebServer', ? '1'); ?
? ? ? webserver.setinfo; ?
? ? ? WebRoot ? := ? WebServer.GetObject('IIsWebVirtualDir', ? 'Root'); ?
? ? ? VDir ? := ? WebRoot.Create('IIsWebVirtualDir', ? 'VariantTest'); ?
? ? ? VDir.AccessRead ? := ? True; ?
? ? ? VDir.Path ? := ? 'C:\test'; ?
? ? ? VDir.AppCreate(True); ? ? //如果沒(méi)有這句的話,虛擬目錄就要人為的手工創(chuàng)建應(yīng)用程序名 ?
? ?
? ? ? VDir.SetInfo; ?
? Q:如何得到WEB站點(diǎn)的IP和端口 ?
? ?
? A:此次以WEB站點(diǎn)為例 ?
? ?
? var ?
? ? ? InstallPath: ? String; ?
? ? ? WebSite, ? WebServer, ? WebRoot: ? Variant; ?
? ? ? ar: ? array ? of ? variant; ?
? begin ?
? ? ? try ?
? ? ? ? ? WebSite ? :=CreateOLEObject('IISNamespace'); ?
? ? ? ? ? WebSite ? := ? WebSite.GetObject('IIsWebService', ? 'localhost/w3svc'); ?
? ? ? ? ? WebServer ? := ? WebSite.GetObject('IIsWebServer', ? '3'); ?
? ? ? ? ? ar ? := ? ? ? ? webserver.ServerBindings; ? ? ? //把IIS虛擬站點(diǎn)綁定的IP、端口、域名的值放入數(shù)組 ?
? ? ? ? ? showmessage(ar[0]); ?
? ?
? ? ? ? except ?
? ? ? ? end; ?
? ?
? 更多的請(qǐng)大家查看MSDN中有關(guān)ADSI的頁(yè)面
轉(zhuǎn)載于:https://www.cnblogs.com/cisky/archive/2011/01/05/1926252.html
總結(jié)
以上是生活随笔為你收集整理的[转]有关IIS的虚拟目录的控制总结的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 清明时节的随想
- 下一篇: Zepto源码分析-zepto模块