Llevo mucho tiempo queriendo ordenar mis propias cosas, pero no he tenido tiempo, mis habilidades son muy bajas y tengo miedo de hacer perder el tiempo a otras personas, así que no he escrito nada todavía. . Pero cada vez que veo los artículos de otras personas, siento picazón, así que busco una publicación que publiqué en www.delphibbs.com para retribuir a todos.
{************************************************ * ********************** }
{ }
{ }
{zhao zhenhua}
{}
{Copyright zhao zhenhua correo electrónico:[email protected]}
{ }
{************************************************ * ********************** }
unidad MainUnt;
interfaz
usos
Windows, Mensajes, SysUtils, Variantes, Clases, Gráficos, Controles, Formularios,
Diálogos, StdCtrls, FileCtrl, Botones, Activeds_TLB;
tipo
TIISConfigFrm = clase(TForm)
edtAlias: TEdit;
Etiqueta1: TLabel;
dlbIIS: TDirectoryListBox;
dcbIIS: TDriveComboBox;
Etiqueta2: TLabel;
edtPath: TEdit;
GroupBox1: TGroupBox;
cbRead: TCheckBox;
cbScript: TCheckBox;
cbExecute: TCheckBox;
cbWrite: TCheckBox;
cbBrowse: TCheckBox;
bbtOK: TBitBtn;
lblPath:TLabel;
Procedimiento dlbIISChange(Remitente: TObject);
procedimiento bbtOKClick(Remitente: TObject);
procedimiento FormCreate(Remitente: TObject);
privado
{Declaraciones privadas}
público
{Declaraciones públicas}
fin;
función ADsGetObject (const PathName: WideString; const GUID: TGUID; salida I: IUnknown): HRESULT;
var
IISConfigFrm: TIISConfigFrm;
implementación
{$R*.dfm}
función ADsGetObject; nombre externo 'ActiveDS.dll' 'ADsGetObject';
procedimiento TIISConfigFrm.dlbIISChange(Remitente: TObject);
comenzar
edtPath.Text:=dlbIIS.Directorio;
fin;
procedimiento TIISConfigFrm.bbtOKClick(Remitente: TObject);
var
I: Contenedor IADs;
AD: IAD;
comenzar
si Longitud (Trim (edtAlias.Text)) = 0, entonces comience
application.MessageBox('¡Alias no puede estar vacío!','Advertencia');
Salida;
fin;
si Longitud (Trim (edtPath.Text)) = 0, entonces comience
Application.MessageBox('¡Seleccione la ubicación del directorio virtual!','Advertencia');
Salida;
fin;
si ADsGetObject('IIS://localhost', IID_IADsContainer, IUnknown(I)) = S_Ok entonces comenzar //IIS ha sido instalado
si ADsGetObject('IIS://localhost/w3svc', IID_IADsContainer, IUnknown(I)) = S_Ok entonces comienza //El servidor web existe
ADs := IADs(I.GetObject('IIsWebServer', '1')); //Obtener servicios
si ADs.QueryInterface(IID_IADsContainer, I) = S_OK entonces comience //Soporte de servicio
ADs := IADs(I.GetObject('IIsWebVirtualDir', 'Root')); //Crea un directorio virtual en la raíz del servidor web.
si ADs.QueryInterface(IID_IADsContainer, I) = S_OK entonces comience //Soporte de servicio
intentar
ADs := IADs(I.Create('IIsWebVirtualDir', edtAlias.Text)); //Crea un directorio virtual con un alias de edtAlias.Text
excepto
Application.MessageBox('¡Este alias ya existe, elija otro alias!', 'Advertencia');
Salida;
fin; //intenta excepto
ADs.Put('accessRead', cbRead.Checked); //Establece cada parámetro
ADs.Put('AccessWrite', cbWrite.Checked);
ADs.put('AccessScript',cbScript.Checked);
ADs.Put('AccessExecute',cbExecute.Checked);
ADs.put('EnableDirBrowsing',cbBrowse.Checked);
ADs.Put('Ruta', 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);//Permitir que se abran archivos predeterminados
ADs.SetInfo; //Guardar parámetros
Application.MessageBox('Su configuración se ha guardado.','Felicitaciones');
fin;
fin;
fin;
fin de otra manera
Application.MessageBox('IIS no está instalado en su computadora o no tiene permiso para acceder a IIS.', 'Advertencia');
fin;
procedimiento TIISConfigFrm.FormCreate(Remitente: TObject);
comenzar
edtPath.Text:=dlbIIS.Directorio;
fin;
fin.