Ich wollte schon lange meine eigenen Sachen ordnen, aber ich hatte keine Zeit, meine Fähigkeiten sind zu gering und ich habe Angst, die Zeit anderer Leute zu verschwenden, also habe ich noch nichts geschrieben . Aber jedes Mal, wenn ich die Artikel anderer Leute sehe, juckt es mich, also finde ich einen Beitrag, den ich auf www.delphibbs.com veröffentlicht habe, um allen etwas zurückzugeben.
{************************************************ * ********************* }
{ }
{ }
{ zhao zhenhua }
{}
{ Copyright zhao zhenhua email:[email protected] }
{ }
{************************************************ * ********************* }
Einheit MainUnt;
Schnittstelle
verwendet
Windows, Nachrichten, SysUtils, Varianten, Klassen, Grafiken, Steuerelemente, Formulare,
Dialoge, StdCtrls, FileCtrl, Buttons,Activeds_TLB;
Typ
TIISConfigFrm = class(TForm)
edtAlias: TEdit;
Label1: TLabel;
dlbIIS: TDirectoryListBox;
dcbIIS: TDriveComboBox;
Label2: TLabel;
edtPath: TEdit;
GroupBox1: TGroupBox;
cbRead: TCheckBox;
cbScript: TCheckBox;
cbExecute: TCheckBox;
cbWrite: TCheckBox;
cbBrowse: TCheckBox;
bbtOK: TBitBtn;
lblPath:TLabel;
PROzedur dlbIISChange(Sender: TObject);
procedure bbtOKClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
Privat
{Private Erklärungen}
öffentlich
{Öffentliche Erklärungen}
Ende;
function ADsGetObject(const PathName: WideString; const GUID:TGUID; out I: IUnknown): HRESULT;
var
IISConfigFrm: TIISConfigFrm;
Durchführung
{$R *.dfm}
Funktion ADsGetObject;external 'ActiveDS.dll' Name 'ADsGetObject';
procedure TIISConfigFrm.dlbIISChange(Sender: TObject);
beginnen
edtPath.Text:=dlbIIS.Directory;
Ende;
procedure TIISConfigFrm.bbtOKClick(Sender: TObject);
var
I: IADsContainer;
ADs: IADs;
beginnen
Wenn Length(Trim(edtAlias.Text))=0, dann beginnen
application.MessageBox('Alias darf nicht leer sein!','Warning');
Ausfahrt;
Ende;
Wenn Length(Trim(edtPath.Text))=0, dann beginnen
Application.MessageBox('Bitte wählen Sie den Speicherort des virtuellen Verzeichnisses aus!','Warnung');
Ausfahrt;
Ende;
if ADsGetObject('IIS://localhost', IID_IADsContainer, IUnknown(I)) = S_Ok then begin //IIS wurde installiert
if ADsGetObject('IIS://localhost/w3svc', IID_IADsContainer, IUnknown(I)) = S_Ok then begin //Webserver existiert
ADs := IADs(I.GetObject('IIsWebServer', '1')); //Dienste abrufen
if ADs.QueryInterface(IID_IADsContainer, I) = S_OK then begin //Service support
ADs := IADs(I.GetObject('IIsWebVirtualDir', 'Root')); //Erstellen Sie ein virtuelles Verzeichnis im Stammverzeichnis des Webservers
if ADs.QueryInterface(IID_IADsContainer, I) = S_OK then begin //Service support
versuchen
ADs := IADs(I.Create('IIsWebVirtualDir', edtAlias.Text)); //Erstellen Sie ein virtuelles Verzeichnis mit dem Alias edtAlias.Text
außer
Application.MessageBox('Dieser Alias existiert bereits, bitte wählen Sie einen anderen Alias!', 'Warnung');
Ausfahrt;
end; //versuchen, außer
ADs.Put('accessRead', cbRead.Checked); //Jeden Parameter festlegen
ADs.Put('AccessWrite', cbWrite.Checked);
ADs.put('AccessScript',cbScript.Checked);
ADs.Put('AccessExecute',cbExecute.Checked);
ADs.put('EnableDirBrowsing',cbBrowse.Checked);
ADs.Put('Path', edtPath.text);
ADs.Put('DefaultDoc','Default.asp, Default.html, Default.htm, index.asp, Index.html, Index.htm, Home.asp, Home.Html, Home.htm');
ADs.Put('EnableDefaultDoc',True);//Erlauben Sie das Öffnen von Standarddateien
ADs.SetInfo; //Parameter speichern
Application.MessageBox('Ihre Einstellungen wurden gespeichert.','Herzlichen Glückwunsch');
Ende;
Ende;
Ende;
Ende sonst
Application.MessageBox('IIS ist nicht auf Ihrem Computer installiert oder Sie haben keine Berechtigung, auf IIS zuzugreifen.', 'Warnung');
Ende;
procedure TIISConfigFrm.FormCreate(Sender: TObject);
beginnen
edtPath.Text:=dlbIIS.Directory;
Ende;
Ende.