Azure/C++/C#/Java/Asp.net/JavaScript/Html - MFC/COM/ActiveX/eclipse/Web

dlbrant

working soft

博客园 首页 新随笔 管理

随笔分类 -  Windows C++

1 2 下一页

MFC/COM/ActiveX/Windows
摘要:【转载】http://www.cnblogs.com/itech/archive/2011/07/21/2110924.htmlAuthenticode : 这里翻译为数字认证代码。 code sign : 字面的翻译为代码签名,但是通常的我们称为数字签名,以下的文中均称为数字签名。 一 数字认证码如果你是软件开发人员,你可能已经知道windows系统和一些浏览器(例如IE,Firefox)使用一种称为数字认证代码的技术来标识软件的发行商,来检查软件没有被病毒影响。如果你的软件没有用数字认证代码签名,用户将会收到一个警告“此软件发行商不能被成功的验证,你是否要继续运行此软件“,很多的用户为.. 阅读全文
posted @ 2014-02-21 23:01 dlbrant 阅读(1362) 评论(0) 推荐(0)

摘要:原帖 http://blog.sina.com.cn/s/blog_6b7c56870100l8rf.html__cdecl __fastcall与 __stdcall 调用约定: __cdecl __fastcall与 __stdcall,三者都是调用约定(Calling convention),它决定以下内容:1)函数参数的压栈顺序,2)由调用者还是被调用者把参数弹出栈,3)以及产生函数修饰名的方法。 1、__stdcall调用约定:函数的参数自右向左通过栈传递,被调用的函数在返回前清理传送参数的内存栈, 2、_cdecl是C和C++程序的缺省调用方式。每一个调用它的函数都包含清空堆栈的代 阅读全文
posted @ 2014-01-24 15:02 dlbrant 阅读(224) 评论(0) 推荐(0)

摘要:// This goes past the ATL includes#import "C:/WINDOWS/system32/Macromed/Flash/Flash9e.ocx" named_guids, rename_namespace("Flash")Flash::IShockwaveFlash * flash = NULL; hr = spDispatch->QueryInterface(__uuidof(Flash::IShockwaveFlash), (void **) &flash);flash->GetVariable 阅读全文
posted @ 2013-08-15 12:01 dlbrant 阅读(313) 评论(0) 推荐(0)

摘要:不错的总结:http://hi.baidu.com/wangxvfeng101/item/518f6efdab4e5616ff35820ehttp://www.vckbase.com/index.php/wv/1562 阅读全文
posted @ 2013-07-10 10:16 dlbrant 阅读(162) 评论(0) 推荐(0)

摘要:CString CXXUtil::FormatMessageFor(HRESULT hr){ CString strMsg; LPVOID pvMsgBuf = NULL; LPCTSTR pszMsg = NULL; if(FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, (DWORD)hr, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (... 阅读全文
posted @ 2013-07-09 14:46 dlbrant 阅读(759) 评论(0) 推荐(0)

摘要:作业(Job)有时候需要把一些进程集中管理,如终止一个进程以及它产生的子进程,但由于Windows并没有维护进程间父子关系,所以除非进程本身以某种方式记录这些信息,否则很难做到管理这种父子进程树。而作业(job)恰好能解决这一问题。Job就像是一个"沙箱"或者进程容器,不仅能将多个进程放在一起管理,还能对其包含的进程施加额外的限制,例如:作业中的进程能使用的CPU时间,是否能注销,是否能方位用户对... 阅读全文
posted @ 2013-06-30 00:52 dlbrant 阅读(551) 评论(0) 推荐(0)

摘要:结构化异常不能用于需要调用对象析构函数的函数中__try{}__except(){}__try{}__finally{} 阅读全文
posted @ 2013-06-25 11:29 dlbrant 阅读(234) 评论(0) 推荐(0)

摘要:枚举所有iframe的IWebBrowser2// Get the IDispatch of the document.//LPDISPATCH lpDisp = NULL;lpDisp = m_webBrowser.GetDocument();if (lpDisp){ IOleContainer* pContainer; // Get the container. // HRESULT hr = lpDisp->QueryInterface(IID_IOleContainer, (void**)&pC... 阅读全文
posted @ 2013-06-24 19:35 dlbrant 阅读(2916) 评论(0) 推荐(0)

摘要:// BHO 中添加下面的函数,设置UIHandler// BHO 包含如下成员变量:// CDocDispatch m_docDispatch;// CComPtr<IDocHostUIHandler> m_spDefaultDocHostUIHandler;// CComPtr<IOleCommandTarget> m_spDefaultOleCommandTarget;HRESULT CBHO::SetDocHostUIHandler(IDispatch *pWebBrowser){ HRESULT hr = S_OK; if(NULL == pWebBrowse 阅读全文
posted @ 2013-06-18 19:08 dlbrant 阅读(3346) 评论(1) 推荐(0)

摘要:往一个空的iframe中写入内容,再其document ready之前有可能遇到拿回 的body指针为空,因此以下面的函数往其document中写入htmlHRESULT WriteToHtmlDocument(CComPtr<IHTMLDocument2> spDoc2, CComBSTR &bstrHtml){ HRESULT hr = S_OK; //BSTR bstr = SysAllocString(OLESTR("Written by IHTMLDocument2::write().")); BSTR bstr = bstrHtml.Copy 阅读全文
posted @ 2013-06-18 10:05 dlbrant 阅读(1477) 评论(0) 推荐(0)

摘要:获得iframe标签的元素指针CComPtr spAdIframe = ...CComQIPtr spFrameBase2 = spAdIframe;CComPtr spIframeWindow2 = NULL; hr = spFrameBase2->get_contentWindow(&spIframeWindow2);由此可得到iframe元素对应的IHTMLWindow2指针,然而如果直接使用IHTMLWindow2::get_document来获取IHTMLDocument2指针的话,经常得到的是E_ACCESSDENIED错误,因为iframe元素经常用于跨域的访问,即 阅读全文
posted @ 2013-06-18 09:57 dlbrant 阅读(2443) 评论(0) 推荐(0)

摘要:主要就是修改注册表键值使IE不创建多个进程:HKLM\Software\Microsoft\Internet Explorer\Main - TabProcGrowth但需要注意的是这种情况下,vs2008下debug会变卡,不知道神马原因。1. 调整IE tab process growth:修改注册表键值:HKLM\Software\Microsoft\Internet Explorer\Main - TabProcGrowth (string or dword)Tab Process Growth : Sets the rate at which IE creates New Tab p 阅读全文
posted @ 2013-06-17 12:05 dlbrant 阅读(502) 评论(0) 推荐(0)

摘要:js脚本是按其出现在文档中的顺序执行的。<script> tag的内容总是在被解析到的时候被js引擎解释,所以最后一个script tag总是当前正在解析的script tag, sample如下:<div><script> var scriptTag = document.getElementsByTagName('script'); scriptTag = scriptTag[scriptTag.length -1]; var parent = scriptTag.parentNode;</script></div> 阅读全文
posted @ 2013-06-13 17:23 dlbrant 阅读(156) 评论(0) 推荐(0)

摘要:(4)进程进程是程序运行的一个实例,由以下两部分组成:进程内核对象:操作系统用它来管理和统计进程信息;进程地址空间:所有进程执行所需要的代码和数据存在这个地址空间中。进程是惰性的,进程要做任何事都需要通过线程在其上下文环境中执行来实现。当一个进程创建后,操作系统也同时为其创建一个主线程(primary thread),主线程又会创建其他线程。当进程中所有的线程都停止时,操作系统也同时销毁该进程。W... 阅读全文
posted @ 2013-06-11 21:09 dlbrant 阅读(569) 评论(0) 推荐(0)

摘要:调用IHTMLElement::insertAdjacentHTML插入HTMLvirtual /* [id] */ HRESULT STDMETHODCALLTYPE insertAdjacentHTML( /* [in] */ __RPC__in BSTR where, /* [in] */ __RPC__in BSTR html) = 0;可用的where:beforeBeginafterBeginbeforeEndafterEnd特别要注意,当插入的html包含script标签的时候,需要在script标签之前添加其他的text或者tag,... 阅读全文
posted @ 2013-06-09 20:49 dlbrant 阅读(581) 评论(0) 推荐(0)

摘要:(3)内核对象何为内核对象内核对象是Windows操作系统内核分配和访问的对象,每个内核对象对应于一个内存块,该内存块只能由内核分配,访问和释放。该内存块是一个数据结构,维护着与对象相关的信息。少数成员是所有内核对象所共有的,如:安全描述符和使用计数,其他多数成员则是每种内核对象所特有的。 内核对象有很多种,如:访问令牌,事件,文件,文件映射,作业,互斥体,管道,进程,线程,信号量,可等待计时... 阅读全文
posted @ 2013-05-27 23:38 dlbrant 阅读(800) 评论(0) 推荐(1)

摘要:(2)字符和字符串处理字符编码ANSI为单字节编码,所以最多表示256个符号,这远远不够,因此双字节字符集(double-byte character set, DBCS)应运而生,其原理是当第一个字节在某一范围内时,需要继续检测第二个字节才能确定这两个字节代表什么符号,以日本字为例,首字节在0x81~0x9F或0xE0~0xFC,那么就需要检测下一个字节。这样的话,有的符号一个字节表示,有的是两... 阅读全文
posted @ 2013-05-26 22:33 dlbrant 阅读(416) 评论(0) 推荐(0)

摘要:(1)错误处理Windows函数通常以以下几种方式表示函数调用出错: 一旦函数调用出错,应立即调用GetLastError来取回错误代码。DWORD GetLastError()GetLastError返回存储于线程局部存储(TLS)的错误代码,因此多线程情况下各个线程的错误代码不会互相干扰。所有的错误代码可以在WinError.h中找到,每个错误都有三个相关信息:错误消息ID(一个宏);错误消... 阅读全文
posted @ 2013-05-26 12:21 dlbrant 阅读(195) 评论(0) 推荐(0)

摘要:// javascript缩放图片,双击小图看大图[代码]// 原始CStdioFile对中文不支持,CStdioFileEx能支持中文// CStdioFileEx.h[代码]// CStdioFileEx.cpp[代码]参考文献:【1】 http://www.codeproject.com/KB/files/stdiofileex.aspx 阅读全文
posted @ 2009-02-17 18:34 dlbrant 阅读(946) 评论(0) 推荐(0)

摘要:MFC toolbar上添加控件 阅读全文
posted @ 2009-02-17 18:03 dlbrant 阅读(1248) 评论(0) 推荐(0)

1 2 下一页

Software