请问怎样用vc写一个自动配置用户IIS本地站点? 做的项目中要求让客户安装IIS后,运行软件时就自动为他配置IIS本地站点请问有没有这方面的源代码啊??多谢了!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 #include "stdafx.h"#include <comutil.h>#pragma comment(lib,"comsupp.lib")#include <Iads.h>#include <Adshlp.h>#pragma comment(lib,"ActiveDS.lib")#pragma comment(lib,"Adsiid.lib")//refer to http://seesi.top263.net/article/adsiiis.htmBOOL CreateVirtualDirectry(LPCTSTR lpszVirtualDirName,LPCTSTR lpszDiskPath){ IADsContainer* iContainer; IADs* iAds; if(ADsGetObject(L"IIS://localhost/w3svc",IID_IADsContainer,(void**)&iContainer)==S_OK) { iContainer->GetObject(_bstr_t("IIsWebServer"), _bstr_t("1"),(IDispatch**)&iAds); if(iAds->QueryInterface(IID_IADsContainer,(void**)&iContainer)==S_OK) { iContainer->GetObject(_bstr_t("IIsWebVirtualDir"),_bstr_t("Root"),(IDispatch**)&iAds); if(iAds->QueryInterface(IID_IADsContainer,(void**)&iContainer)==S_OK) { iContainer->Delete(_bstr_t("IIsWebVirtualDir"), _bstr_t(lpszVirtualDirName)); if(iContainer->Create(_bstr_t("IIsWebVirtualDir"), _bstr_t(lpszVirtualDirName),(IDispatch**)&iAds)==S_OK) { iAds->Put(_bstr_t("AccessRead"),_variant_t("True")); iAds->Put(_bstr_t("AccessWrite"),_variant_t("True")); iAds->Put(_bstr_t("Path"),_variant_t(lpszDiskPath)); iAds->Put(_bstr_t("AccessExecute"),_variant_t("False")); iAds->SetInfo(); iAds->Release(); iContainer->Release(); return TRUE; } else { iAds->Release(); iContainer->Release(); return FALSE; } } else { iAds->Release(); iContainer->Release(); } } else { iAds->Release(); } iContainer->Release(); } return FALSE;}int _tmain(int argc, _TCHAR* argv[]){ CoInitialize(NULL); CreateVirtualDirectry("testdir","c:\\tmp"); CoUninitialize(); return 0;} 关于指向常量的指针的一个问题 看不懂的代码 双缓冲和透明拷贝问题 Access数据的导入导出问题 请大家帮忙分析下(关于winsock) R6031- Attempt to initialize the CRT more than once.This indicates a bug in your application. 请教如何在CSpinButtonCtrl中实现0。001的增加啊?急急急 关于WpCap的问题 跨类调用 北京聘优秀C程序员 明日超酷晶体管进度条(VC源代码发布) 多文档中,如何创建不同的视?
#include <comutil.h>
#pragma comment(lib,"comsupp.lib")
#include <Iads.h>
#include <Adshlp.h>
#pragma comment(lib,"ActiveDS.lib")
#pragma comment(lib,"Adsiid.lib")
//refer to http://seesi.top263.net/article/adsiiis.htmBOOL CreateVirtualDirectry(LPCTSTR lpszVirtualDirName,LPCTSTR lpszDiskPath)
{
IADsContainer* iContainer;
IADs* iAds;
if(ADsGetObject(L"IIS://localhost/w3svc",IID_IADsContainer,(void**)&iContainer)==S_OK)
{
iContainer->GetObject(_bstr_t("IIsWebServer"), _bstr_t("1"),(IDispatch**)&iAds);
if(iAds->QueryInterface(IID_IADsContainer,(void**)&iContainer)==S_OK)
{
iContainer->GetObject(_bstr_t("IIsWebVirtualDir"),_bstr_t("Root"),(IDispatch**)&iAds);
if(iAds->QueryInterface(IID_IADsContainer,(void**)&iContainer)==S_OK)
{
iContainer->Delete(_bstr_t("IIsWebVirtualDir"), _bstr_t(lpszVirtualDirName));
if(iContainer->Create(_bstr_t("IIsWebVirtualDir"), _bstr_t(lpszVirtualDirName),(IDispatch**)&iAds)==S_OK)
{
iAds->Put(_bstr_t("AccessRead"),_variant_t("True"));
iAds->Put(_bstr_t("AccessWrite"),_variant_t("True"));
iAds->Put(_bstr_t("Path"),_variant_t(lpszDiskPath));
iAds->Put(_bstr_t("AccessExecute"),_variant_t("False"));
iAds->SetInfo();
iAds->Release();
iContainer->Release();
return TRUE;
}
else
{
iAds->Release();
iContainer->Release();
return FALSE;
}
}
else
{
iAds->Release();
iContainer->Release();
}
}
else
{
iAds->Release();
}
iContainer->Release();
}
return FALSE;
}
int _tmain(int argc, _TCHAR* argv[])
{
CoInitialize(NULL);
CreateVirtualDirectry("testdir","c:\\tmp");
CoUninitialize();
return 0;
}