Visual C++ 2011-07-18
一.Keyboard Accelerators控件快捷键
参考:http://blog.csdn.net/Welson80/article/details/5808277
http://www.cnblogs.com/zengcan/archive/2010/01/25/1655908.html
相关函数:
LoadAccelerators
TranslateAccelerator
二.WSARecvDisconnect && WSASendDisconnect
http://baike.baidu.com/view/567695.htm
http://baike.baidu.com/view/569168.html
三.判断Window
- IsWindow The IsWindow function determines whether the specified window handle identifies an existing window.
- IsWindowEnabled The IsWindowEnabled function determines whether the specified window is enabled for mouse and keyboard input.
- IsWindowVisible The IsWindowVisible function retrieves the visibility state of the specified window.
四.ATL宏
1.OBJECT_ENTRY_AUTO
指定一个COM可创建类,通常表示类从CComCoClass继承
2.DECLARE_OBJECT_DESCRIPTION
自定COM类描述
3.UpdateRegistry方法
用于注册类信息到注册表中,用4个宏表示
3.1 DECLARE_NO_REGISTRY空实现.表示COM类不注册
3.2 DECLARE_REGISTRY 旧版本使用
3.3 DECLARE_REGISTRY_RESOURCE && DECLARE_REGISTRY_RESOURCEID 使用脚本资源
五.RGS脚本
[NoRemove | ForceRemove | val] Name [ = s | d | m | b 'Value'] { ... optional script entries for subkeys }
ForceRemove表示当发生变更时则强制删除,NoRemove则刚相反
val表示键名,s | d | m | b表示键值类型.下面是一个例子
HKCR表示注册表根路径(HKEY_CLASSES_ROOT)
HKCR {ForceRemove DuckDoer.DuckDoer.1 = s 'DuckDoer Class'{CLSID = s '{120B72A0-65BF-11D0-9DDC-00A0C9034892}'}ForceRemove DuckDoer.DuckDoer = s 'DuckDoer Class'{CurVer = s 'DuckDoer.DuckDoer.1'}NoRemove CLSID{ForceRemove {120B72A0-65BF-11D0-9DDC-00A0C9034892} = s 'DuckDoer Class'{ProgID = s 'DuckDoer.DuckDoer.1'VersionIndependentProgID = s 'DuckDoer.DuckDoer'LocalServer32 = s '%MODULE%'}} }
六.脚本变量
%MODULE%在被调用时会被GetModuleFileName方法替换
自注册变量,重写AddCommonRGSReplacements方法
HRESULT AddCommonRGSReplacements(IRegistrarBase *pRegistrar) {BaseModule::AddCommonRGSReplacements( pRegistrar );OLECHAR wszDate [16]; SYSTEMTIME st;GetLocalTime(&st);wsprintfW(wszDate, L"%.4d/%.2d/%.2d", st.wYear,st.wMonth, st.wDay);pRegistrar->AddReplacement( OLESTR("INSTALLDATE"), wszDate ); }
替换部分变量,可以在UpdateRegistry方法中手动调用UpdateRegistryFromResource(本来由DECLARE_REGISTRY_RESOURCEID宏自动完成)方法
static HRESULT WINAPI UpdateRegistry(BOOL b) {OLECHAR wszDate [16]; SYSTEMTIME st;GetLocalTime(&st);wsprintfW(wszDate, L"%.4d/%.2d/%.2d", st.wYear,st.wMonth, st.wDay);_ATL_REGMAP_ENTRY rm[] = {{ OLESTR("INSTALLDATE"), wszDate},{ 0, 0 } };return _pAtlModule->UpdateRegistryFromResource(IDR_DEMAGOGUE, b, rm); }
七.组件类别
// {0D22FF22-28CC-11d2-ABDD-00A0C9C8E50D} static const GUID CATID_ATLINTERNALS_SAMPLES = {0xd22ff22, 0x28cc, 0x11d2, {0xab, 0xdd, 0x0, 0xa0, 0xc9, 0xc8,0xe5, 0xd}};BEGIN_CATEGORY_MAP(CDemagogue) IMPLEMENTED_CATEGORY(CATID_ATLINTERNALS_SAMPLES) END_CATEGORY_MAP()
八.ATL调试宏
- ATLASSERT下断点
- AtlTrace输出Debug视窗 即内部调用了OutputDebugString
- AtlTrace2参数更多,可以分类别输出
转载于:https://www.cnblogs.com/Clingingboy/archive/2011/07/19/2110963.html
Visual C++ 2011-07-18相关推荐
- 一个简单的媒体文件播放器 2011.07.18
这两天看 Directshow开发指南 ,一直在为filter的事情学习. 看到第五章的时候,有个播放器例子,研究了一下还不算难, 就跟着人家写了一遍. 相对来说,比直接用那个用 ActiveMovi ...
- 少儿python编程和少儿c++编程学哪个比较好(2022.07.18)
关于少儿编程编程语言的选择,python还是c++ 关于少儿编程编程语言的选择,python还是c++_dllglvzhenfeng的博客-CSDN博客 14岁孩子学python还是c++好_有编程基 ...
- Visual Studio 2011开发者预览版发布
关键词:Visual,Studio | 作者:虫虫 | 收藏这篇资讯 Visual Studio 2011,也叫"vNext"是微软的下一代IDE.它覆盖了软件开发的整个生命周期, ...
- http://down.qiannao.com/space/file/qiannao/share/2011/1/18/yy.rar/.page
http://down.qiannao.com/space/file/qiannao/share/2011/1/18/yy.rar/.page
- 【Doris Weekly FAQ】2021.07.05~2021.07.18
观众朋友们: 晚上好! 欢迎收看[ Doris 近日要闻]~本次为您带来的是 2021年07月15日 - 2021年07月18日 的双周总结. Doris 社区周报每期会包含 FAQ 环节.我们会在社 ...
- 收藏的JAVA面试题大全(http://www.blogjava.net/bibi/archive/2006/07/18/58701.html)
以前的收藏,估计很少有这么全的面试题集了 ^_^ 基础知识: 1.C++或Java中的异常处理机制的简单原理和应用. 当JAVA程序违反了JAVA的语义规则时,JAVA虚拟机就会将发生的错误表示为一个 ...
- 2011/5/18工作笔记
追求极致的系统效能 一.IDC(互联网数据中心)计算效率,采用PUE(电源使用效率)= 数据中心总设备能耗/IT设备能耗,PUE是一个比率,基准是2,越接近1表明能效水平越好. 二.应用系统的性能优化 ...
- SQL高级查询 原文转载自:http://www.cnblogs.com/hoojo/archive/2011/07/16/2108129.html
--select select * from student; --all 查询所有 select all sex from student; --distinct 过滤重复 select disti ...
- 【每日早报】2019/07/18
今日看点 ✦ 斗鱼成功登陆纳斯达克:开盘价11.02美元,较发行价下跌逾4% ✦ 华为.OPPO.vivo5G手机"三证齐全",小米回应称5G手机将在下周申请测试 ✦ 小红书整治刷 ...
- 看linux书籍做的一些重要笔记(2011.07.03更新)
(1)制作启动盘 •用户可以用dd,cat,cp等命令自行将这些image文件制作成启动盘. •例如: •dd if=/mnt/cdrom/RedHat/images/bootdisk.img of= ...
最新文章
- * Linux相关命令
- python从入门到精通学习笔记_Python从入门到精通之基础概念
- 今天,神策数据官网银行 Demo 正式上线!
- java教程百度文库,成功拿到offer
- 在2008 server安装vm server时发生的错误error1718、error1335……
- 权限验证框架Shiro
- python在无人驾驶上的应用_无人驾驶(ADAS)方向的python软件工程师应具备哪些python模块的知识?...
- MySQL表/视图/存储过程and函数/触发器/事件与数据库之间的关系
- PMBOK(第六版) PMP笔记——第十章(项目沟通管理)
- Android开发之动态加载,运行未安装apk
- MYSQL 引擎的情况
- 音量放大器--软件实现
- Excel去除重复项的几种方法
- python excel怎么将字母后的数字取出来_Excel提取数字、字母、汉字,靠Python一个公式搞定...
- 现货白银入门技巧之白银K线卖出信号
- Source Insight——C/C++代码阅读器
- CMS-在线教育系统项目架构
- Qt在mac上的字体
- 如何在前台输出代码<xmp>,标签,并且是内容自动换行
- Spark学习-DAY2
热门文章
- pc个人微型计算机ppt,《IBMPC微型计算机》PPT课件.ppt
- linux+虚拟机上的wdcp,linux虚拟主机服务器wdcp系统教程
- 织梦重置mysql数据库密码忘记_织梦cms管理员密码忘记了怎么重置找回?
- python dict hash_【python-dict】dict的使用及实现原理
- eclipse run on server 点不了finish_分享点经验 | springboot入门及编码
- 对于计算机网络技术的课程,计算机网络技术课程剖析.doc
- linux删除权限命令,管理使用者和设立权限的命令
- solr 时间转成java_solr时区设置解决时间多8小时问题
- scala mysql连接池_Java与Scala的两种简易版连接池
- Mysql 零距离-入门(二)