C++Builder使用ADSI创建web站点

用 C++Builder 建立自己的 Web 浏览器  ---- 用够了IE和NETCAPE的朋友,有没有想过也编制一个自己的浏览器呢?用C++BUILDE使得你能够方便高效的创建自己的INTERNET程序.由于C++BUILDER的基本语言是C++,所以它几乎可以做任何事情,通过C++BUILDER的组件设置,你可以象其他应用程序一样建立INTERNET应用,意味着你可以扩展这些组件来增强他们的功能,如果需要的话,它也可以处理低水平的API细节 阅读详情

C++Builder使用ADSI创建web站点

以下是我学习MSDN中的文章。总结出适合在C++Builder下创建WebServer的例子:
其中使用ADSI的一些接口,注意要将Activeds.Lib添加入工程,
还要包含以下几个头文件。
比较简单,希望能抛砖引玉。

file://---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"

file://---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
#include "iads.h"
#include "adssts.h"
#include "Adshlp.h"


TForm1 *Form1;

__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}


file://几个参数:ip:ip地址字符串,domain:域名(www.youname.com),DiskPath:虚拟目录路径(C:/wwwroot)
BOOL CreateWebServer(String ip,String domain,String DiskPath)
{
IADsContainer *pCont=NULL;
IADs* pAds=NULL;
IADs* pVrAds=NULL;
IADsServiceOperations *pSrvOp;
IDispatch *pDisp = NULL;
IDispatch *pVrDisp = NULL;
AnsiString WNumer=IntToStr(random(1000)); //取一个随机数建立站点
String newBindings=ip+":80:"+domain;
 
/* 获得WebServer */
if(ADsGetObject(L"IIS://localhost/w3svc",IID_IADsContainer,(void**)&pCont)==S_OK)
{   //创建站点
  if(pCont->Create(L"IIsWebServer",(wchar_t*)WideString(WNumer),&pDisp)==S_OK)
    {
       pDisp->QueryInterface(IID_IADs, (void**)&pAds);
       pDisp->QueryInterface(IID_IADsServiceOperations, (void**)&pSrvOp);
       pAds->Put(L"ServerSize",Variant(int(1)));
       pAds->Put(L"ServerComment",Variant(String("xiwei")));//服务器注释,没太多用处,xiwei我的名字
       pAds->Put(L"ServerBindings",Variant(String(newBindings)));
       pAds->SetInfo();

    file://创建主目录
   
   pCont->GetObject(L"IIsWebServer",(wchar_t*)WideString(WNumer),&pDisp);//得到刚才创建地网站
   if(pDisp->QueryInterface(IID_IADsContainer,(void**)&pCont)==S_OK)
   {
     if(pCont->Create(L"IIsWebVirtualDir",L"Root",&pVrDisp)==S_OK)
       {
         pVrDisp->QueryInterface(IID_IADs, (void**)&pVrAds);
         pVrAds->Put(L"AccessRead",Variant(BOOL("True")));
         pVrAds->Put(L"AccessWrite",Variant(BOOL("True")));
         pVrAds->Put(L"AccessScript",Variant(BOOL("True")));
         pVrAds->Put(L"EnableDirBrowsing",Variant(BOOL("True")));
         pVrAds->Put(L"Path",Variant(String(DiskPath)));
         pVrAds->Put(L"AppRoot",Variant(String(DiskPath)));
         pVrAds->SetInfo();
         pVrAds->Release();
         pAds->Release();
         pCont->Release();
       }
     file://启动新建的WebServer
    pSrvOp->Start();
    pSrvOp->Release();
    }
   }
}

}
void __fastcall TForm1::Button2Click(TObject *Sender)
{
CreateWebServer(Edit1->Text,"www.cccaaa.com",Edit2->Text);
}
file://---------------------------------------------------------------------------

以上内容缺少错误处理,诸如ip地址已被占用等,我认为技术这东西用不着保守,没等生利息呢,已经贬值了。
哈哈,希望各位给以指正!我的Email:proton@yeah.net

用C++BUILDER建立自己的WEB浏览器 用够了IE和NETCAPE的朋友,有没有想过也编制一个自己的浏览器呢?用C++BUILDE使得你能够方便高效的创建自己的INTERNET程序.由于C++BUILDER的基本语言是C++,所以它几乎可以做任何事情,通过C++BUILDER的组件设置,你可以象其他应用程序一样建立INTERNET应用,意味着你可以扩展这些组件来增强他们的功能,如果需要的话,它也可以处理低水平的API细节 阅读详情

相关推荐

教你用HBuilderX免费搭建一个网站

如果你有vue的基础,那么HBuilderx工具将会是你更好的选择,他可以快速帮助你搭建网站,即使你只是一个人,利用DCloud你可以使用阿里云免费但受限的服务器资源,后续也可以花费资金升级服务器。而且不需要你学会复杂的数据库操作语句,是用官方提供的api就可以方便的对数据库进行操作,前后端对接也有提供的api方便传输数据,同时还可以帮你托管前端网页,即使你没有域名也可以进行发布。如果你对html/js/vue都不怎么了解,可以先去学习html、js、css等网页所需的基础语言。

MoZhaoyun的博客 6956

在一个c++应用程序中使用ADSI配置IIS

窗户ADSI类IADsIADsContainerIADsIADsContainer和IADsContainerIADsIADsContainer可以用来获取,集合,枚举,刷新,移动,复制IIS性质和节点,无需包括IIS ADSI提供者接口。 IADsIADsContainer用来描述层次结构的任意对象,如IIS元素中的一个节点。IADsContainer是用来描述对象的容器,如IIS元素中结点的子

踏雪无痕 2903

C++ Builder电子商务网站开发实战

Embarcadero C++ Builder是Embarcadero Technologies开发的一个集成开发环境(IDE),用于创建C++应用程序。自1997年首次发布以来,C++ Builder已经成为专业开发者的首选工具之一。经历了多次更新和升级,C++ Builder引入了跨平台开发能力,支持Linux,提供了更多的组件库和可视化工具,极大地简化了复杂应用程序的开发流程。

weixin_42593701的博客 508

c++ builder 编写web services容易遇到的小问题

由于项目需要,要编写webservices应用,网上这方面的资料不是太多。现把我写程序时候遇到的问题粗略记录如下:  第一步,在已有项目中引入webservices:       在C++ builder 菜单中选择 File-》New-》Other-》打开New Items选中WebServices页中的 WSDL Importer,打开WSDL Import Wizar

zzbinfo的专栏 2398

C++Builder开发Web应用程序

C++Builder开发Web应用程序!!!

基于C++ Builder的建立WEB浏览器的方法.rar_C++ Builder_c++builder web_web bui

基于C++ Builder的 建立WEB浏览器的方法

C++Builder使用ADSI创建web站点 (转)

C++Builder使用ADSI创建web站点 (转)C++Builder使用ADSI创建web站点 以下是我学习MSDN中的文章。总结出适合在C++Builder下创建WebServer的例子:其中使用ADSI的一些接口,注...

cizn2013的博客 168

CH376S模块实战:如何通过串口轻松实现单片机与U盘的数据交互

本文详细介绍了如何利用CH376S模块,通过串口通信实现单片机与U盘的数据交互。文章从模块原理、硬件连接到核心指令集进行了全面解析,并提供了基于STM32的实战代码示例。CH376S模块极大地简化了USB协议和文件系统的复杂性,使开发者能快速为嵌入式设备添加便捷的数据存储与导出功能,适用于数据记录、配置导入等多种应用场景。

weixin_29165725的博客 458

C++初级项目webserver项目流程介绍(2)

C++的webserver项目是自己在学完网络编程后根据网课的内容做的一个初级的网络编程项目。这个项目的效果是可以在浏览器通过输入网络IP地址和端口,然后打开对应的文件目录效果如下:也可以打开文件夹后点击目录,打开到对应的文件夹中去。这个就是简单的webserver功能,后期自己也可以修改代码实现更多可能性的玩法,比如做一个简单的前端交互式的界面。

莫浅子的博客 4005

Silly Tavern(酒馆)AI 角色扮演下载与安装教程(Windows本地部署)

SillyTavern是一款开源AI角色扮演前端工具,支持沉浸式对话和长期角色互动。本文详细介绍了在Windows系统F盘部署SillyTavern的完整流程,包括下载项目、安装Node.js和Git环境、配置路径、启动服务等关键步骤,并特别说明非系统盘路径可能遇到的npm安装问题及解决方法。成功启动后,用户可通过浏览器访问本地地址使用该工具进行AI角色扮演互动。

Tan3851的博客 1万+

SAP-PP MD04详解一

MD04是SAP运行MRP后的结果查询事务码,其他功能强大,标准功能比如:查询/更改物料主数据、转换计划订单到生产订单/采购申请、查询/更改各个MRP元素对应的单据等等。而且还可以附加标准的菜单或者自定义添加事务码上去。老铁将做一个MD04详细说明系列,本篇为第一篇之MRP元素说明。 我们来看看MD04基本界面 可以看到主要的数据显示界面,有日期、MRP元素、MRP元素数据、再计划日期、收货/需求、可用数量、工厂、库存地点等栏位。光标定位到MRP元素列,按F1即可看到各类MRP元素的说...

weixin_52158549的博客 1万+

ADSI接口获取AD域服务器账户列表[VC++]

之前用ldap_open API系列,在bind的时候老是提示无效认证,最后msdn还找到了一种COM接口获取AD域控服务器用户列表的方法,代码我在例子的基础上修改了下,测试通过,能获取到: // ldapsearch.cpp : Defines the entry point for the console application. // #include "stdafx.h" #incl

hurryboylqs的专栏 5885

HITS算法详解及代码实现

占坑

蓁蓁尔的博客 7461

AD域对接C++

ADSI接口获取AD域内的信息 通过COM接口递归获取所有指定OU下面的所有信息:name,mail等, The core code is as follows . HRESULT hr; IADsContainer *pContainer = NULL; IEnumVARIANTPtr pEnum = NULL; int pos = -1; COleVariant varChild; IADs *pADs1 = NULL; CString strName, strDisplayName, s

lx0307的博客 1003

【通俗易懂】Windows系统安装TensorRT

NVIDIA TensorRT是一个由NVIDIA公司开发的用于深度学习推理的高性能SDK。它专门设计用于在NVIDIA GPU上进行高效的神经网络推理,能够大幅度提升深度学习模型的推理速度和效率。TensorRT的主要特点包括:模型优化:TensorRT通过层融合、精度校准、动态形状等技术优化模型,减少推理时的计算量和内存占用。多精度推理:支持多种精度推理,包括FP32、FP16、INT8等,以平衡性能和精度。

王尼莫的博客 1587

泛微Ecology9单点登录实战指南:从Token获取到页面跳转

本文提供了一份详尽的泛微Ecology9单点登录实战指南,重点解析了Token跳转式SSO的核心流程。内容涵盖从理解关键参数(如appid、loginid)与一次性Token机制,到通过代码示例演示如何正确调用接口获取Token,并详细说明了拼接不同场景跳转地址的完整规则与安全实践,旨在帮助开发者高效、稳定地实现业务系统与OA门户的无缝集成。

ol789012345的博客 1064

AD 和 ADSI 入门知识

转自http://www.why100000.com/_articles/show_a_article.asp?autoid=76&tab=tabWindows    AD简介    Active Directory(以下简称AD)可以认为是一个大的层次结构数据库,集中存储的内容必须遵循AD当前所定义的Schema。我觉得AD中最重要的内容就是Schema,然后是ADSI。    Sc

cnhome的专栏 2468

ArcGIS 10.8软件安装包免费下载及安装教程

ArcGIS 10.8安装教程

qq_44894692的博客 2万+

查询活动目录计算机网络地址,域内活动目录信息的获取

本文将要以获取活动目录中所有用户、所有计算机和所有组为例,介绍常用的信息获取方法这次环境中我们得到了czf@zhong.czf pass:pass!@#4zhong.czf域内的普通用户 和密码也获取到了pp.zhong.czf/ppo p:pass!@#4子域的一个用户和密码0x01简介本文将要介绍以下内容:域外获取活动目录信息的方法域内获取活动目录信息的方法使用C++调用ADSI接口获取信息的...

weixin_35098081的博客 660

12、知识图谱数据处理与推理全解析

本文深入解析了知识图谱中的数据处理与推理技术,涵盖SHACL的多种约束类型(如值约束、范围约束、字符串约束、逻辑约束等)及其在数据质量控制中的应用,并介绍了常用的SHACL工具与实际案例。文章对比了SPARQL与SHACL的特点,探讨了RDF(S)的局限性,引出表达能力更强的OWL和OWL2语言及其在语义网和生物医学等领域的应用。此外,还阐述了规则在知识表示中的作用,包括产生式规则和Datalog规则,并总结了知识图谱中推理的重要性与典型流程,为构建高质量、可推理的知识图谱提供了全面的技术指导。

zz67890的博客 135

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

上一篇: 用C++Builder修改系统菜单
下一篇: "Weblogic 连接池 + Oracle + Servlet" 的无状态SessionBean 全攻略
Pasp
博客等级 码龄26年 2粉丝 5原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值