上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 13 下一页

Win32 API 三两事 (二)

摘要: 这几天无意间在网上看到了VC++游戏外挂制作教程,可惜太少了,不过也从中学到了不少win32 api的知识,相见MSDN,下面就把我理解的api用法贴上来,备忘.....1、spy++ 可进行一些辅助功能,确实很有用,比如可以获取消息、类名、窗口标题等等,VC++ 自带的小工具。2、获取窗口句柄。HWND FindWindow(LPCTSTR IpClassName,LPCTSTR IpWindowName);用spy++获取了窗体的类名或者窗口标题后,就可以调用该函数了[代码](注意,windows api函数有两套,一套ANSI接口(函数后面有A标志),一套UNICODE接口(函数后面有W 阅读全文
posted @ 2011-02-17 13:12 hicjiajia 阅读(1348) 评论(0) 推荐(0) 编辑

Win32 API 三两事 (一)

摘要: 平日编程都是调用封装好的API,很多时候无法满足需要,今天学习下一些底层的API调用,在此做下笔记,所有内容来自网络,自己整理了下,持续更新...1、APIENTRY,WINAPI,CALLBACK等是什么东西?2、HINSTANCE 、HANDLE 、 HWND 、LPCTSTR是什么?3、CWnd 、 CDC 与 HDC?4、COLORREF 与 RGB 、LPVOID 与 LPCVOID?5、char、wchar_t、TCHAR、WCHAR、std::string、std::wstring、CString、LPCTSTR、DWORD6、SelectObject()和SelectStock 阅读全文
posted @ 2011-02-15 11:02 hicjiajia 阅读(5297) 评论(0) 推荐(4) 编辑

回调函数

摘要: 对指针的应用是C语言编程的精髓所在,而回调函数就是C语言里面对函数指针的高级应用。简而言之,回调函数是一个通过函数指针调用的函数。如果你把函数指针(函数的入口地址)传递给另一个函数,当这个函数指针被用来调用它所指向的函数时,我们就说这个函数是回调函数。为什么要使用回调函数呢?我们先看一个小例子:[代码]这个函数用于在一个单向链表中查找一个指定的值,返回保存这个值的节点。它的参数是指向这个链表第一个节点的指针以及要查找的值。这个函数看上去很简单,但是我们考虑一个问题:它只能适用于值为整数的链表,如果查找一个字符串链表,我们不得不再写一个函数,其实大部分代码和现在这个函数相同,只是第二个参数的类型 阅读全文
posted @ 2011-02-15 10:34 hicjiajia 阅读(1075) 评论(0) 推荐(1) 编辑

将窗体嵌入桌面

摘要: 在试用某些App时,发现有些Ap的窗口可以嵌入桌面,这样Win+D键的时候就可以看到,很方便。在网上搜索了一下,原理就是将窗口的父窗口设置成桌面。这个父窗口在Xp下通过FindWindow("Program manager","progman")找到,但是在win7下这个方法找到的父窗口就不好用了。用spy++看了之后,写了下面一段代码findDesktopIconWnd(),在xp和win7下都可以找到这个父窗口。子窗口再调用SetParent(child,parent)就可以在桌面上看到了。在Qt中实践下:理论:0、#include < 阅读全文
posted @ 2011-02-13 21:22 hicjiajia 阅读(2480) 评论(2) 推荐(0) 编辑

大蜕变 Symbian1-4全新系统演变解析

摘要: 随着“诺基亚Symbian^4界面的曝光”,新的Symbian操作系统计划逐渐进入我们的视野。从Symbian Fundation发布的计划来看,未来的操作系统命名将按照“Symbian^1”、“Symbian^2”、……“Symbian^n”这样的规则进行演进,目前在Roadmap上能看到的计划是排到“Symbian^6”了。而目前有完整材料的版本应该是截至到“Symbian^4”,但这个版本目前还处在开发状态。下面我们和大家一起看看S60 3rd 如何演进到Symbian^4。图一:Symbian平台Roadmap  从S60 3rd到Symbian^4,中间要需要经历Symbian^1、 阅读全文
posted @ 2011-02-07 13:50 hicjiajia 阅读(863) 评论(0) 推荐(0) 编辑

Qt 多线程

摘要: Qt线程类Qt 包含下面一些线程相关的类:QThread提供了开始一个新线程的方法QThreadStorage提供逐线程数据存储QMutex 提供相互排斥的锁,或互斥量QMutexLocker是一个便利类,它可以自动对QMutex加锁与解锁QReadWriterLock提供了一个可以同时读操作的锁QReadLocker与QWriteLocker是便利类,它自动对QReadWriteLock加锁与解锁QSemaphore提供了一个整型信号量,是互斥量的泛化QWaitCondition提供了一种方法,使得线程可以在被另外线程唤醒之前一直休眠。Qt线程的创建 Qt线程中有一个公共的抽象类,所有的线程 阅读全文
posted @ 2011-02-03 15:16 hicjiajia 阅读(12168) 评论(0) 推荐(3) 编辑

QT 多线程程序设计

摘要: QT通过三种形式提供了对线程的支持。它们分别是,一、平台无关的线程类,二、线程安全的事件投递,三、跨线程的信号-槽连接。这使得开发轻巧的多线程Qt程序更为容易,并能充分利用多处理器机器的优势。多线程编程也是一个有用的模式,它用于解决执行较长时间的操作而不至于用户界面失去响应。在Qt的早期版本中,在构建库时有不选择线程支持的选项,从4.0开始,线程总是有效的。线程类Qt包含下面一些线程相关的类:QThread提供了开始一个新线程的方法QThreadStorage提供逐线程数据存储QMutex提供相互排斥的锁,或互斥量QMutexLocker是一个便利类,它可以自动对QMutex加锁与解锁QRea 阅读全文
posted @ 2011-02-03 13:17 hicjiajia 阅读(71982) 评论(3) 推荐(10) 编辑

跨平台TTS eSpeak Windows开发

摘要: 原文链接:http://cool.worm.blog.163.com/blog/static/6433900620097535713944/ 估计我又要长篇大论一番了,这个问题折磨了十多天,最后终于有了起色,算是安慰了。 eSpeak是最为流行的开源跨平台的文本转语音程序,我早在星际译王StarDict中就已经接触到,但并没有详细介绍应用它,这些天一直用Qt编写程序,当然在功能需求上eSpeak当然成了最好的选择!Pass掉了Microsoft Speech SDK,我怎么有些感觉郁闷……不过我比较喜欢研究一些未接触过的东东,结果碰了一脸灰!等我慢慢喷来呀~ 从哪开始说那……先去网站看看吧! 阅读全文
posted @ 2011-02-02 17:50 hicjiajia 阅读(6331) 评论(1) 推荐(0) 编辑

QAxBase Class Reference

摘要: QAxBase Class Reference[QAxContainermodule]QAxBase是一个抽象类,提供了初始化及访问COM对象的API.More...被QAxObject和QAxWidget继承.List of all members, including inherited membersPublic TypestypedefPropertyBagPropertiescontrol: QStringPublic FunctionsQAxBase( IUnknown *iface= 0 )virtual~QAxBase()QVariantasVariant() constvir 阅读全文
posted @ 2011-01-31 13:26 hicjiajia 阅读(3729) 评论(0) 推荐(0) 编辑

Microsoft Speech SDK —— XML TTS Tutorial

摘要: 最近无意间接触了一篇关于语音识别的文章,突然就产生了兴趣,于是就研究了一翻,我的环境是Window XP + Qt4.7 + Microsoft Speech SDK 5.1,一个小Demo已经完成,最关键的地方就是中、英文的自动语音切换,我用了 xml TTS Tutorial 介绍的XML标记,有了它确实很方便,下面是原文,搞上来以便以后查询...Microsoft Speech SDKSAPI 5.1 XML TTS TutorialSAPI XML TTS for Application DevelopersSAPI text-to-speech (TTS) extensible ma 阅读全文
posted @ 2011-01-29 15:36 hicjiajia 阅读(1663) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 13 下一页