摘要: 基址有3个,任选1. CurRoleBase=00775AD4 =00775ad0 =00775AEC角色名 db [[[[CurRoleBase]+0c]+1b4]+4]+0x30角色等级 dd[[[[[CurRoleBase]+0c]+1b4]+4]+0x60 角色当前血值 dd[[[[CurRoleBase]+0c]+1b4]+4]+0x1e18角色最大血值 dd[[[[CurRoleBase]+0c]+1b4]+4]+0x1e8c 角色当前蓝值 dd[[[[CurRoleBase]+0c]+1b4]+4]+0x1e1c 角色最大蓝值 dd[[[[CurRoleBase]+0c]+1b4 阅读全文
posted @ 2011-02-15 16:29 °ι 、曲 终 阅读(695) 评论(0) 推荐(0)
摘要: 在VC中读写INI文件相对比较简单,读INI文件我们只需用到GetPrivateProfileString系统API,而写INI文件也只需用到WritePrivateProfileString系统API,他们的使用例子如下:读:写: 阅读全文
posted @ 2011-02-15 11:25 °ι 、曲 终 阅读(325) 评论(0) 推荐(0)
摘要: VC++ 6.0支持Unicode编程,但默认的是ANSI,所以开发人员只需要稍微改变一下编写代码的习惯便可以轻松编写支持UNICODE的应用程序。 使用VC++ 6.0进行Unicode编程主要做以下几项工作: 1、为工程添加UNICODE和_UNICODE预处理选项: 具体步骤:打开[工程]->[设置…]对话框,在C/C++标签对话框的“预处理程序定义”中去除_MBCS,... 阅读全文
posted @ 2011-02-15 11:25 °ι 、曲 终 阅读(251) 评论(0) 推荐(0)
摘要: 为程序设置热键就是用到一个RegisterHotKey系统API。当然些API的使用相对简单,但也需要注意一些地方,所以在使用API前请参考MSDN相关文档。本文只给出一个设置程序热键的例子代码如下:1.在OnInitDialog中调用RegisterHotKey设置热键RegisterHotKey(m_hWnd,1001,MOD_CONTROL|MOD_SHIFT,'S');2.在对话框的头文件中声明热键处理函数afx_msg LRESULT OnHotKey(WPARAM wParam,LPARAM lParam);3.在对话框的实现文件中实现热键处理函数LRESULT CTestDlg: 阅读全文
posted @ 2011-02-15 11:24 °ι 、曲 终 阅读(1169) 评论(0) 推荐(0)
摘要: //查找目标资源 HRSRC hResource = FindResource(GetModuleHandle(NULL), MAKEINTRESOURCE(IDR_MAINPROG), TEXT("exe")); if(hResource) { //加载资源 HGLOBAL hg = LoadResource(GetModuleHandle(NULL), hResource... 阅读全文
posted @ 2011-02-15 11:24 °ι 、曲 终 阅读(1530) 评论(0) 推荐(0)
摘要: 实现为对话框程序添加状态栏主要步骤如下:1.在资源的String table添加两个字符串资源资源ID资源值IDS_PANEL1第一个PanelIDS_PANEL2第二个Panel2.在对话框类中加入CStatusBar成员变量CStatusBarm_wndStatusBar;3.在StdAfx.h文件里定义如下分割数组static UINT indicators[] ={IDS_PANEL1,IDS_PANEL2,};4.OnInitDialog里创建并显示状态栏 阅读全文
posted @ 2011-02-15 11:23 °ι 、曲 终 阅读(403) 评论(0) 推荐(0)
摘要: 在VC下创建不规则窗口非常简单,无非就是创建一个HRGN,然后再调用SetWindowRgn就行了,如我们要创建一个原形的窗口只需要如下代码:本文中的例子为一个透明位图不规则窗口,其主要函数如下: 阅读全文
posted @ 2011-02-15 11:22 °ι 、曲 终 阅读(444) 评论(0) 推荐(0)
摘要: //加入WS_EX_LAYERED扩展属性 SetWindowLong(this->GetSafeHwnd(), GWL_EXSTYLE, GetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE)^0x80000); HINSTANCE hInst = LoadLibrary("User32... 阅读全文
posted @ 2011-02-15 11:21 °ι 、曲 终 阅读(434) 评论(0) 推荐(0)
摘要: 动态的更改窗口的图标非常的简单,其原来就是给目标窗口发送一个WM_SETICON消息既可。我们可以调用SendMessage系统API来给窗口发送消息,当然在MFC程序里我们使用如下更为简单的方法: 阅读全文
posted @ 2011-02-15 11:21 °ι 、曲 终 阅读(951) 评论(0) 推荐(0)
摘要: 使用过Access的人都知道,在表数据输入时Access自动切换输入法,如某字段需要输入英文时自动切换到En输入状态,如另一字段需要输入中文自动切换到某中文输入状态;这给我们的数据输入提供了极大的方便。如果在应用程序中也如Access那样为用户提供输入法智能自动切换,那么这样的应用程序不仅给用户带来了方便同时也显得我们更加专业化;这样我们的应用程序也就更加具有竞争力。如大多数的系统配置一样,输入法的控制也是通过对相应的注册表项的修改来实现的;在本文里我们就不对相关注册表项的具体位置及相关项的说明进行解说;为了实用起见,我们就以代码来说话吧;具体代码如下: 阅读全文
posted @ 2011-02-15 11:20 °ι 、曲 终 阅读(1852) 评论(0) 推荐(0)
摘要: 在本文中我们以实例的形式来介绍一下VC中的多线程编程,本文中没有涉及线程的相关同步问题我们更多的是讲述VC下的线程相关操作与编写方法等,至于线程的同步问题请参见《WinCE线程同步》;也许你会问为什么是参见WinCE的东西而不是参见Wincows的东西呢?因为我们知道WinCE、WinMoblie、Windows等的相关API与内核对象其本相同。一、多线程概述  进程和线程都是操作系统的概念。进程是应用程序的执行实例,每个进程是由私有的虚拟地址空间、代码、数据和其它各种系统资源组成,进程在运行过程中创建的资源随着进程的终止而被销毁,所使用的系统资源在进程终止时被释放或关闭。  线程是进程内部的 阅读全文
posted @ 2011-02-15 11:20 °ι 、曲 终 阅读(712) 评论(0) 推荐(1)
摘要: VC自带的SDK中为我们提供了一个Sleep函数,此函数的最小单位为毫秒(既千分之一秒);但在实际的应该中(特别是网络数据传输)我们需要更小的休眠单位(微秒),而系统又没有提供相关API,那么我们如何实现微秒(既十万分之一秒)的休眠呢? 我们知道系统中为我们提供了QueryPerformanceFrequency与QueryPerformanceCounter等相关API,而这些API的时间单位都是微秒及的;这为我们实现微秒休眠提供了思路;为了实用起见我们就直接给出函数代码,代码如下: 阅读全文
posted @ 2011-02-15 11:19 °ι 、曲 终 阅读(1934) 评论(1) 推荐(0)
摘要: void CTest::OnPaint() { CPaintDC dc(this); // device context for painting // TODO: Add your message handler code here // Do not call CWnd::OnPaint() for painting messages CPo... 阅读全文
posted @ 2011-02-15 11:16 °ι 、曲 终 阅读(501) 评论(0) 推荐(0)
摘要: 为了说明这些问题我们先定义一些常见类型变量借以说明int i = 100;long l = 2001;float f=300.2;double d=12345.119;char username[]="女侠薛凤君";char temp[200];char *buf;CString str;_variant_t v1;_bstr_t v2;一、其它数据类型转换为字符串短整型(int)itoa(i,temp,10);///将i转换为字符串放入temp中,最后一个数字表示十进制itoa(i,temp,2); ///按二进制方式转换长整型(long)ltoa(l,temp,10);二、从其它包含字符串 阅读全文
posted @ 2011-02-15 11:15 °ι 、曲 终 阅读(186) 评论(0) 推荐(0)
摘要: POINT pt; GetCursorPos(&pt); // 得到鼠标下面的窗口句柄 HWND hWnd=WindowFromPoint(pt); // 得到鼠标所在的子窗口句柄 HWND hChild=ChildWindowFromPoint(hWnd,pt); 阅读全文
posted @ 2011-02-15 11:14 °ι 、曲 终 阅读(699) 评论(0) 推荐(0)
摘要: void CTestDlg::OnButton1() { // TODO: Add your control notification handler code here CDC* pDC; LOGFONT tLogFont; tLogFont.lfHeight = 21; tLogFont.lfWidth = 0; tLo... 阅读全文
posted @ 2011-02-15 11:13 °ι 、曲 终 阅读(882) 评论(0) 推荐(0)
摘要: 以上代码加入OnInitDialog()中,其中SetLayeredWindowAttributes(this->GetSafeHwnd(), maskColor, 192, LWA_COLORKEY);里,maskColor为将进行透明处理的颜色,192为透明度,LWA_COLORKEY为透明方式。若要透明整个对话框,则LWA_COLORKEY=2;若要对选定颜色透明,则LWA_COLORKEY=1; 阅读全文
posted @ 2011-02-15 11:13 °ι 、曲 终 阅读(427) 评论(0) 推荐(0)
摘要: 如果想创建一个类似windows里的屏幕键盘式的程序,由于需要将模拟键盘的输入发送到原来处于活动状态的程序,因此,我们的程序应该不改变原来的焦点。在vc6和vc#中可以通过以下方式实现:1. VC6.0中在对话框的OnInitDialog()函数最后的初始化处,添加以下代码:// TODO: Add extra initialization hereLONG exs = GetWindowLong(this->m_hWnd, GWL_EXSTYLE);exs |= 0x08000000;//始终不处于活动状态SetWindowLong(this->m_hWnd,GWL_EXSTYL 阅读全文
posted @ 2011-02-15 11:12 °ι 、曲 终 阅读(415) 评论(0) 推荐(0)
摘要: #include #include BOOL CALLBACK EnumWindowsProc(HWND hWnd, LPARAM lParam); int main( int argc, char* argv[] ) { EnumWindows( EnumWindowsProc, NULL ); return 0; } HWND m_hwndFind[100... 阅读全文
posted @ 2011-02-15 11:09 °ι 、曲 终 阅读(343) 评论(0) 推荐(0)
摘要: 我经常想枚举一个父窗口的所有子窗口,网上搜索了很多都没有搞的太懂,经过多次实践,总算搞明白了,发一个最简单的实例,希望能给大家带来帮助实例:枚举QQ登陆这个窗口所有的子窗口 阅读全文
posted @ 2011-02-15 10:58 °ι 、曲 终 阅读(2256) 评论(0) 推荐(0)