Windows
文章平均质量分 55
wwwDotFa
这个作者很懒,什么都没留下…
展开
-
资源文件释放成文件
<br />BOOL SaveResAs(LPCWSTR lpName, LPCWSTR lpType, LPCWSTR lpSaveName)<br />{<br /> if (NULL == lpName || NULL == lpType || NULL == lpSaveName)<br /> {<br /> return FALSE;<br /> }<br /> HRSRC hRsrc = ::FindResource(NULL, lpName, lpType);<br /> if (NULL原创 2010-12-02 15:10:00 · 870 阅读 · 0 评论 -
非静态成员函数做窗口过程(非映射表实现),成员函数做消息映射
之前看mfc的原理是做类指针对窗口句柄的映射表;实现了几个版本,总觉得查找映射表是件很浪费不优雅的事情,尤其在窗口很多的时候,比如大量使用了子类化的win32控件这种常出现的情况; 于是,利用窗口的USERDATA,有如下版本的实现,大概如下:class XWindow{protected: static LRESULT CALLBACK WndProc(HWND hW原创 2012-09-05 13:59:19 · 1310 阅读 · 0 评论 -
匈牙利命名备忘
C++前缀含义a array 数组bbool(int) 布尔byUnsigned char原创 2012-06-07 13:12:12 · 568 阅读 · 0 评论 -
cab包的codebase与version
一、codebase="/SomeCab.cab" 本地有,就不下载二、codebase="/SomeCab.cab#version=2,0,0,1"大于本地版本才下载三、codebase="/SomeCab.cab#version=2,0,0,1"1、本地 1,0,0,1 .inf 1,0,0,1实际1,0,0,1 下载,但安装不会成功2、本地原创 2012-05-14 10:50:33 · 4181 阅读 · 0 评论 -
AX控件IE相关注册表修改封装
/******************************************************************** created: 2012:5:10 13:04:48 author: Insert purpose: IE各种注册表更改**********************************************************原创 2012-05-14 11:27:15 · 1551 阅读 · 0 评论 -
关于_ReturnAddress的error C2733
_ReturnAddress这样用: #include #pragma intrinsic(_ReturnAddress) HMODULE hm = NULL;void *callerAddress = _ReturnAddress(); ::GetModuleHandleEx(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS, (LPCWS原创 2012-05-14 11:22:01 · 3765 阅读 · 5 评论 -
关于窗口
关于win32窗口的一些细节,一段时间没用就忘了细节了,写下来备忘一下 每个窗口对象都有四个关联的数据,即child、sibling、parent、owner,子窗口,兄弟窗口,父窗口,拥有者窗口; owner-owned1被拥有的窗口永远显示在拥有它的那个窗口的前面;2当所有者窗口最小化的时候,它所拥有的窗口都会被隐藏;3当所有者窗口被销毁的时候,它所拥有的窗口都会被原创 2012-04-20 14:39:53 · 749 阅读 · 0 评论 -
dll导出函数调用封装
为了方便,备份 /******************************************************************** created: 2012:24:4 12:22:40 author: Insert purpose: dll export functions encapsulation*********************原创 2012-04-25 13:14:06 · 704 阅读 · 0 评论 -
COM注册什么时候需要注册APPID
<br />COM 7.0以后有这样一个宏DECLARE_REGISTRY_APPID_RESOURCEID<br /> <br />在VS03以后的版本中,ATL工程中会自动添加这样的代码<br />class CXXModule : public CAtlDllModuleT< CXXModule ><br />{<br />public :<br /> DECLARE_LIBID(LIBID_xinstallerLib)<br /> DECLARE_REGISTRY_APPID_RESOURCEID(原创 2010-11-18 11:32:00 · 4102 阅读 · 0 评论 -
VC6 支持的最高Microsoft Platform SDK 版本
<br />Microsoft Platform SDK Febrary 2003<br />http://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.1.cab<br />http://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FUL原创 2010-11-18 16:53:00 · 3156 阅读 · 2 评论 -
VC6 error LNK2001: unresolved external symbol _main
<br />vc6 ATL工程,debug下可以编译过,release下却有下面这个编译错误:<br />LIBCMT.lib(crt0.obj) : error LNK2001: unresolved external symbol _main <br />ReleaseMinSize/CHANEL.dll : fatal error LNK1120: 1 unresolved externals <br /> <br />原因:在release原创 2010-11-15 10:44:00 · 1205 阅读 · 0 评论 -
浏览器防护下的ActiveX问题
<br />浏览器防护多使用ring3 API HOOK。下面结合网页防护类的主流产品分析其潜在的兼容性问题。<br /><br /><br />使用ring3 api hook实现的浏览器保护,不可避免的要遇到和文件监控一样的问题。在实际对抗中,网马不断发展升级,已经开始将浏览器中的ring3 hook摘除,为了对抗此类威胁,主流软件多会采取不断检测自己的hook是否存在,发现不存在则重新将函数挂钩。造成多款软件争抢一个API的现象,导致浏览器无响应或者响应缓慢。特别是与CreateProcesss相关的原创 2010-11-11 14:45:00 · 1358 阅读 · 0 评论 -
SECURITY_ATTRIBUTES/SECURITY_DESCRIPTOR
<br />SECURITY_ATTRIBUTES sa;<br />SECURITY_DESCRIPTOR sd;<br />InitializeSecurityDescriptor( & sd,SECURITY_DESCRIPTOR_REVISION);<br />SetSecurityDescriptorDacl( & sd,TRUE,NULL,FALSE);<br />sa.nLength = sizeof (SECURITY_ATTRIBUTES);<br />sa.bInheritHand原创 2010-11-11 14:25:00 · 1664 阅读 · 0 评论 -
关于长文件名/短文件名
短文件名是dos+fat12/fat16时代的产物,命名规则为8.38是指文件名或目录名的主体部分小于等于8个字节3是指文件名或目录名的主体部分小于等于3个字节另外其中不能包括空格等非法字符win95+fat32已经支持长文件名,但是同时还是强制使用为长文件名提供8.3短文件名nt32+ntfs变为可选ntfs支持unicode文件名,最长255个utf16原创 2012-12-06 21:50:48 · 5964 阅读 · 0 评论