| jiajian's profile欧阳家健的空间BlogListsGuestbook | Help |
欧阳家健的空间做好自己就得啦!! 呵呵方便搜索的哦
VOA Special English 来学习提高英语水平OA Special English 节目内容题材广泛,如果能坚持长期学习,你不仅能扩充知识面,增加词汇量,提高阅读能力,还能在潜移默化中提高写作水平。那么你是怎么样使用 VOA Special English 来学习提高英语水平的呢? 2、认真阅读report文本一至两遍,遇到不懂的单词请立即查词典。 3、循环播放自己的录音,并对照节目的正式mp3录音,认真找出自己的在单词发音和句子升降调、轻重发音方面的问题; 打算开始一个新的规范流程新的规范操作应该可以减少很多问题的。 上周回顾上周是我2个月来第一次回家,原本打算在7月20日回家,但是因为要开发FBDirect图形系统,甘就一个人留在宿舍开始作战!但在星期六准备出发回家的时候,我听到一个坏消息:顺德均安镇南滘幼儿园无保安无门卫只有铁门,20日下午4时30分,一名男子趁幼儿园放学开门迎接家长之际,闯进幼儿园,操铁扳手向小朋友们的头上挥去,两名遇袭儿童仍在重症监护室治疗,事件导致18名孩子当场受伤,一名幼儿老师挺身救护孩子与歹徒搏斗时受伤。事发后半小时,行凶者在家中自杀未遂落网。经过初步调查,行凶者有精神病史。 星期六中午回到家后,就听到爷爷因高血压去医院,所以我就刚下车不久就去医院看爷爷,而且陪他照完CT过程中,顺便体埋受伤交轻的十几个小朋友,还有3个小朋友已经可以周围跑来跑去,^_^,希望他们都能把这些心理的惊恐和生理的疤痕都尽快抹去吧。暑假和爸爸妈妈看下《变形金刚》或者《哈里波特》都是几好啦。下午回到家去,啊妈话老爸去山东旅游下个星期又要去海南公干,而四叔全家都是去中山和珠海玩水去,家里就是剩下麻麻和老妈,而妈妈过几天后也要去医院种牙去。哈哈,她经常说麻麻那些种得不错啊,哈哈,还经常提点我们这些年轻的注意牙齿健康,她现在下颚只剩下一颗,所以这个星期她只能吃慢很多,多饮果汁和酸奶,以前她用假牙的,哈哈,我经常笑她八两金,不过她见到麻麻的种那些陶瓷牙几好看,甘就有点心动啦,^_^,女人都是要靓不要命的,而且她说年纪越大做这些手术就越贵,所以现在她就^_^,不过啦,总觉得自己实在太少回家啦。啊妈话小时候,我在那个幼稚园,只呆过3天,原因是我太调皮,被啊妈带回家自己带大的。^_^。。没有想到自己是甘。。汗。。。 星期六,中午吃完妈妈煮的饭后,我和大伯去原来顺德的市一,现在的顺德区人民医院。不过没有直接去找大家姐,因为她要准备考主治医师,现在要经过一个考主治医师的必经阶段,3个月,24小时留院,现在她自己的个人空闲时间基本上很少,而且经常要给病人做手术,有时候又要做老总负责埋安排事项,实在忙忙,升主治意味着责任更大,当然工资都会升。然后经过一条很恐怖走廊去到流行病毒资料库办公室稳大哥出来聊聊,关于顺特等等问题啦,我觉得他应该可以的,我是怕他拖得太长时间吧。。。。。。。。。,然后全部去避风塘吃宵夜,吃完我就赶回家,看火影。哈哈,鸣人很厉害啊! 虽然医生话爷爷星期一就可以出院,但是大家姐认为应该吊多几天溶解血脂的药才好,从她专业知识认为吊一两天效果是明显,但是不稳阵!所以爷爷就推迟几天才回家啦。 星期天上午就冲忙地甘赶回佛山,买了个USB无线 网卡和珊珊去体《变形金刚》,然后大家乐。回到宿舍后,已经很累。。。很快就睡着。。。。汗。。。 顺德 均安天连 幼儿 http://news.baidu.com/ns?word=%CB%B3%B5%C2+%BE%F9%B0%B2%CC%EC%C1%AC+%D3%D7%B6%F9&tn=news&from=news&ie=gb2312&bs=%BE%F9%B0%B2%CC%EC%C1%AC&sr=0&cl=2&rn=20&ct=0 后记。。。刚上线不久的监控系统,就发生这些事。上边的人实在。。。。 http://www.gdga.gov.cn/xwtd/fs/t20070705_144096.htm 佛山:均安天连视频监控系统正式投入使用 2007-07-05 14:10:35 近日,顺德区均安镇天连村的视频监控系统正式投入使用,11支高速摄像球和监控后台形成一张无形的治安防控网,为该村精确打击犯罪、高效治安防控注入了新动力。 天连村是均安镇视频监控系统建设的示范点,均安派出所视频办在统筹开展全镇视频监控系统建设的基础上,重点加大了天连村的建设力度,抽调精干力量协助天连村铺开视频监控系统的建设。派出所领导亲自带领视频办民警多次挑选监控点,并多次到中山小榄、勒流稔海社区、容桂振华社区等兄弟单位借鉴经验,积极争取镇政府、各居(村)委和上级业务部门的支持,为视频监控系统的建成使用做了大量的前期准备工作。 天连村视频监控系统的成功投入使用有利于将以往的被动、固化的防控手段变得更具针对性和机动性,大大提高防范效能,也为其他居(村)视频监控系统的建设起到了示范作用。(顺德公宣) ISAPI 外包项目总结这次是第一做外包项目,其中要求为用VC实现一个ISAPI的根据访问服务器的 IP 地址通过搜索官方IP数据库而知道来路IP的国家和其他相关信息,然后再根据一个配置文件实现指定的虚拟主机所绑定的Domain , url , MimeType 来做 url rewrite + url redirector动作,最后添加 X_HTTP_xxxxx全域变量给 ASP , PHP ,JSP ,ASP.net等等使到他们可以知道来路IP的国籍和地区;添加日志功能,最后提供一个方便的GUI程序来安装这个isapi dll和配置一个INI文件!
对于这个程序来说,可以话给了一次机会给我玩VC 和 MFC编程 ,更多挑战是IIS的管理API,其中最多部分可以话是ADSI部分控制,其中这个程序的GUI部分简直是体力活,我一直都很讨厌用VC写些一次性的GUI程序。。因为这次东东用VB或者Delphi做更Easy !我的同学迷上VC编写很多数据库的。。。汗。。。我觉得有更适合做数据库的工具点解不用,个人觉得VC在.net出现的优点是很多没有封装的东西,在MSDN里只有VC对应的例子。。还有一样就是用C++ 是会很容易上瘾的!哈哈,真的!不过越向底层看,例子越来越少啦!其实Delphi都可以做到很多底层的东西,只不过是不能用再依赖borland提供的VCL运行库吧。的确,delphi可以直接写 api类的编程。很多时候我们就是为了可以更快重用的组件或者的控件吧。
好啦,闲话不说:
VBS 实现的 stop IISADMIN这个服务
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") Set colServiceList = objWMIService.ExecQuery("Associators of " _ & "{Win32_Service.Name='IISADMIN'} Where " _ & "AssocClass=Win32_DependentService " & "Role=Antecedent" ) For each objService in colServiceList objService.StopService() Next Wscript.Sleep 20000 Set colServiceList = objWMIService.ExecQuery _ ("Select * from Win32_Service where Name='IISADMIN'") For each objService in colServiceList errReturn = objService.StopService() Next 由于觉得用wmi接口还不如这样实现方式简单,这样完全不用担心服务的依赖关系:
int iResults;
iResults=MessageBox("If you want restart the IIS and want see the procedure Please choice Yes,if you don't want see the procedue choice No;if you don't want restart IIS choice the Cancel" , "Get Ready Restart IIS", MB_YESNOCANCEL | MB_ICONINFORMATION); if (iResults==IDYES) WinExec("cmd /C net stop iisadmin /y & net start w3svc", SW_SHOW); if(iResults==IDNO) WinExec("cmd /C net stop iisadmin /y & net start w3svc", SW_HIDE); //下边开始就是我如何用VC实现安装 ISAPI Dll的步骤
void CBaseConfigPage::OnBnClickedInstall()
{ // TODO: install and reg the isapi filter IADsContainer* iContainer=NULL; IADs* iAds=NULL; VARIANT varValue; IADs* pFilters=NULL; char MyConfigPlace[1024]; DWORD dwLength = sizeof(MyConfigPlace); memset(MyConfigPlace,0,dwLength);
GetCurrentDirectory(dwLength,MyConfigPlace); strcat(MyConfigPlace,"\\redirector.dll"); CString fullPathDll(MyConfigPlace); wchar_t* filterdllname=L"redirector.dll";
if(ADsGetObject(L"IIS://localhost/w3svc/Filters",IID_IADsContainer,(void**)&iContainer)==S_OK) { iContainer->QueryInterface(IID_IADs,(void**)&pFilters); VariantInit(&varValue); pFilters->Get(_bstr_t("FilterLoadOrder"),&varValue); //这个就是isapi filter的优先级数,这个顺序如果和IIS里面已经安装的ISapi dll不匹配就会令到在优先级数列表看不到那些dll,所以现在要修改这串字符串,添加我们的dll进去。 if(varValue.vt==VT_BSTR && wcsstr(varValue.bstrVal,filterdllname)==NULL)
{ _bstr_t bstmp(varValue.bstrVal ); CString Temp(varValue.bstrVal); //comparing the dll order , if the last one char is "," then needn't add
if( (Temp.Right(1)) == ",") bstmp +="redirector.dll"; else bstmp +=",redirector.dll"; varValue.bstrVal = bstmp.Detach();
pFilters->Put(_bstr_t("FilterLoadOrder"),varValue); pFilters->SetInfo();//+ varValue {"DA ISAPI Filter,sspifilt,Compression,pwsdata,md5filt,fpexedll.dll,ASP.NET_1.1.4322.573,NMISAPI" VT_BSTR} tagVARIANT } VariantClear(&varValue);
//修改完哪串值后,就要真正添加哪个filter到容器去啦 iContainer->GetObject(_bstr_t("IIsFilter"),_bstr_t("redirector.dll"),(IDispatch**)&iAds); if(NULL==iAds) iContainer->Create(_bstr_t("IIsFilter"),_bstr_t("redirector.dll"),(IDispatch**)&iAds); if(iAds) { iAds->Put(_bstr_t("FilterPath"),_variant_t(fullPathDll.GetBuffer())); fullPathDll.ReleaseBuffer(); iAds->Put(_bstr_t("FilterDescription"),_variant_t("redirector.dll")); long MD_NOTIFY_ORDER_LOW= 0x00020000 ; iAds->Put(_bstr_t("FilterFlags"),_variant_t(MD_NOTIFY_ORDER_LOW)); iAds->SetInfo(); iAds->Release(); AfxMessageBox("Installed the redirector.dll !"); //重起iisadmin服务
restartIIS(); }
pFilters->Release(); iContainer->Release(); } else { AfxMessageBox("failed to connect IIS, forget to call AfxOleInit()?"); } }
void CBaseConfigPage::OnBnClickedUninstall()
{ // TODO: uninstall ISAPI filter IADsContainer* iContainer=NULL; IADs* iAds=NULL; VARIANT varValue; IADs* pFilters=NULL; wchar_t* filterdllname=L"redirector.dll"; if(ADsGetObject(L"IIS://localhost/w3svc/Filters",IID_IADsContainer,(void**)&iContainer)==S_OK)
{ iContainer->QueryInterface(IID_IADs,(void**)&pFilters); VariantInit(&varValue);
pFilters->Get(_bstr_t("FilterLoadOrder"),&varValue); if(varValue.vt==VT_BSTR && wcsstr(varValue.bstrVal,filterdllname)!=NULL)
{ //remove redirector.dll //删除操作就是这么短短一句。。。寒。。。
HRESULT hr = iContainer->Delete(L"IIsFilter",L"redirector.dll"); if(SUCCEEDED(hr))
{ AfxMessageBox("Uninstalled the redirector.dll !"); if(varValue.vt==VT_BSTR && wcsstr(varValue.bstrVal,filterdllname)!=NULL) { //关键把那个dll名字从优先串里移出
//_bstr_t bstmp(varValue.bstrVal ); CString Temp(varValue.bstrVal); int intStartFilt = Temp.Find("redirector.dll"); CString Temp1 = Temp.Mid(0,intStartFilt -1); int filterdllnamelen = (int)wcslen(filterdllname); CString Temp2 = Temp.Mid(intStartFilt+filterdllnamelen+1 , Temp.GetLength()); Temp = Temp1 + Temp2 ; //
varValue.bstrVal = Temp.AllocSysString();
pFilters->Put(_bstr_t("FilterLoadOrder"),varValue); pFilters->SetInfo();//+ varValue {"DA ISAPI Filter,sspifilt,Compression,pwsdata,md5filt,fpexedll.dll,ASP.NET_1.1.4322.573,NMISAPI" VT_BSTR} tagVARIANT Temp.ReleaseBuffer(); } restartIIS(); } } pFilters->Release();
iContainer->Release(); }
else { AfxMessageBox("failed to connect IIS, forget to call AfxOleInit()?"); } } 在isapi dll 返回一个全域变量
//返回一个内部全局变量!! //HTTP_X_COUNTRY_CODE //asp 测试时候变量名是自动加上 HTTP_这个前缀的 //<html> //<%=request.servervariables("HTTP_X_COUNTRY_CODE")%> //<%=request.servervariables("REMOTE_ADDR")%> //</html> // if(sizeof(buffer) >= location.GetLength()) { sprintf(buffer_cc , "%.*s", location.GetLength(), location.GetBuffer(location.GetLength())); pHeaderInfo->SetHeader(pCtxt->m_pFC, "X-Country-Code:", buffer_cc); } 不知道如何过周年纪念日啊!大家下帮手啦没有蜡烛没有礼物,就不要勉强庆祝;
没有祝福没有蜜语,就不要勉强回忆; 既然没有记忆,就当什么都没有发生吧?! 可是,如果不曾发生,怎会有今天的我们...... 呵呵 |
||||||||||||||||
|
|