一.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

  1. IsWindow The IsWindow function determines whether the specified window handle identifies an existing window.
  2. IsWindowEnabled The IsWindowEnabled function determines whether the specified window is enabled for mouse and keyboard input.
  3. 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调试宏

  1. ATLASSERT下断点
  2. AtlTrace输出Debug视窗 即内部调用了OutputDebugString
  3. AtlTrace2参数更多,可以分类别输出

转载于:https://www.cnblogs.com/Clingingboy/archive/2011/07/19/2110963.html

Visual C++ 2011-07-18相关推荐

  1. 一个简单的媒体文件播放器 2011.07.18

    这两天看 Directshow开发指南 ,一直在为filter的事情学习. 看到第五章的时候,有个播放器例子,研究了一下还不算难, 就跟着人家写了一遍. 相对来说,比直接用那个用 ActiveMovi ...

  2. 少儿python编程和少儿c++编程学哪个比较好(2022.07.18)

    关于少儿编程编程语言的选择,python还是c++ 关于少儿编程编程语言的选择,python还是c++_dllglvzhenfeng的博客-CSDN博客 14岁孩子学python还是c++好_有编程基 ...

  3. Visual Studio 2011开发者预览版发布

    关键词:Visual,Studio | 作者:虫虫 | 收藏这篇资讯 Visual Studio 2011,也叫"vNext"是微软的下一代IDE.它覆盖了软件开发的整个生命周期, ...

  4. 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

  5. 【Doris Weekly FAQ】2021.07.05~2021.07.18

    观众朋友们: 晚上好! 欢迎收看[ Doris 近日要闻]~本次为您带来的是 2021年07月15日 - 2021年07月18日 的双周总结. Doris 社区周报每期会包含 FAQ 环节.我们会在社 ...

  6. 收藏的JAVA面试题大全(http://www.blogjava.net/bibi/archive/2006/07/18/58701.html)

    以前的收藏,估计很少有这么全的面试题集了 ^_^ 基础知识: 1.C++或Java中的异常处理机制的简单原理和应用. 当JAVA程序违反了JAVA的语义规则时,JAVA虚拟机就会将发生的错误表示为一个 ...

  7. 2011/5/18工作笔记

    追求极致的系统效能 一.IDC(互联网数据中心)计算效率,采用PUE(电源使用效率)= 数据中心总设备能耗/IT设备能耗,PUE是一个比率,基准是2,越接近1表明能效水平越好. 二.应用系统的性能优化 ...

  8. 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 ...

  9. 【每日早报】2019/07/18

    今日看点 ✦ 斗鱼成功登陆纳斯达克:开盘价11.02美元,较发行价下跌逾4% ✦ 华为.OPPO.vivo5G手机"三证齐全",小米回应称5G手机将在下周申请测试 ✦ 小红书整治刷 ...

  10. 看linux书籍做的一些重要笔记(2011.07.03更新)

    (1)制作启动盘 •用户可以用dd,cat,cp等命令自行将这些image文件制作成启动盘. •例如: •dd if=/mnt/cdrom/RedHat/images/bootdisk.img of= ...

最新文章

  1. * Linux相关命令
  2. python从入门到精通学习笔记_Python从入门到精通之基础概念
  3. 今天,神策数据官网银行 Demo 正式上线!
  4. java教程百度文库,成功拿到offer
  5. 在2008 server安装vm server时发生的错误error1718、error1335……
  6. 权限验证框架Shiro
  7. python在无人驾驶上的应用_无人驾驶(ADAS)方向的python软件工程师应具备哪些python模块的知识?...
  8. MySQL表/视图/存储过程and函数/触发器/事件与数据库之间的关系
  9. PMBOK(第六版) PMP笔记——第十章(项目沟通管理)
  10. Android开发之动态加载,运行未安装apk
  11. MYSQL 引擎的情况
  12. 音量放大器--软件实现
  13. Excel去除重复项的几种方法
  14. python excel怎么将字母后的数字取出来_Excel提取数字、字母、汉字,靠Python一个公式搞定...
  15. 现货白银入门技巧之白银K线卖出信号
  16. Source Insight——C/C++代码阅读器
  17. CMS-在线教育系统项目架构
  18. Qt在mac上的字体
  19. 如何在前台输出代码<xmp>,标签,并且是内容自动换行
  20. Spark学习-DAY2

热门文章

  1. pc个人微型计算机ppt,《IBMPC微型计算机》PPT课件.ppt
  2. linux+虚拟机上的wdcp,linux虚拟主机服务器wdcp系统教程
  3. 织梦重置mysql数据库密码忘记_织梦cms管理员密码忘记了怎么重置找回?
  4. python dict hash_【python-dict】dict的使用及实现原理
  5. eclipse run on server 点不了finish_分享点经验 | springboot入门及编码
  6. 对于计算机网络技术的课程,计算机网络技术课程剖析.doc
  7. linux删除权限命令,管理使用者和设立权限的命令
  8. solr 时间转成java_solr时区设置解决时间多8小时问题
  9. scala mysql连接池_Java与Scala的两种简易版连接池
  10. Mysql 零距离-入门(二)