第二人生的源码分析(2)第二人生的基本功能

  第二人生的基功能可以定义为网络游戏、社交网络和Web2.0。作为网络游戏,它可以让人扮演角色,也就是第二人生里的居民。居民只要买到地,或者租到地后就可以建造各种各样的自己想得到的东西。比如建造游乐园,或者建造电影院,又或者建造过山车。同时,还可以实现居民在虚拟世界里飞行。作为社交网络,第二人生里的居民可以相互结交朋友,随时可以聊天。还可以组成各种各样的组织,比如举行音乐...
阅读(7945) 评论(3)

第二人生的源码分析(1)第一个画面

第二人生是一款3D为界面的虚拟世界产品,下面先来感受一下这个界面带来巨大的真实性: 通过个画面,可以看到太阳,树,人,椅是那么的逼真,这些都是通过3D技术实时显示出来的,因此对电脑的硬件需求比较高,特别对显示卡的需求更高,同时对网络的带宽也要求比较高,不过,随着技术的发展,已经具备这样的条件了。现在最流行的配置,比如3000元左右的电脑,就已经显示得不错了。在第二人生这个虚拟世界里,强...
阅读(11446) 评论(12)

Windows API一日一练(93)GetSaveFileName函数

前面介绍了怎么样打开选择文件读取的对话框,当你设计的软件需要让用户选择保存时,就需要让用户去选择自己合适的文件名称来保存。那么就需要使用到保存文件对话框,也就是API函数GetSaveFileName。下面就来演示怎么样使用这个API函数。 函数GetSaveFileName声明如下: WINCOMMDLGAPI BOOL APIENTRY GetSaveFileNameA(LPO...
阅读(7912) 评论(3)

Windows API一日一练(92)GetOpenFileName函数

当用户想选择打开以前保存的文件时,就需要使用到选择文件对话框。其实在Windows的API里已经有这样完美的对话,只需要简单的调用,就可以使用了,而不需要写一大堆其它的代码。下面就来演示一下怎么使用文件选择对话框。 函数GetOpenFileName声明如下: WINCOMMDLGAPI BOOL APIENTRY GetOpenFileNameA(LPOPENFILENAMEA)...
阅读(8098) 评论(3)

Windows API一日一练(91)GetProcessMemoryInfo函数

当大家打开Windows任务管理器时,就会看到每个进程使用内存的分布情况,往往会发现有一些进程占用大量的内存,在这种情况也是一种异常情况,可以作为是否恶意软件的标志之一。下面就来使用API函数GetProcessMemoryInfo来获取内存的使用情况。 函数GetProcessMemoryInfo声明如下: BOOLWINAPIGetProcessMemoryInfo(...
阅读(10674) 评论(6)

Windows API一日一练(90)GetGlyphOutline函数

中西文化的差异,导致在电子信息里处理也大不相同,在英文里只需要26个字母就可以显示所有文章了,而在中文里需要最基本的字符就有2000多个。对于一些在嵌入式软件里要显示的字符,那么就得手动去构造所有图形,这是一个比较大的工作量,如果让每个厂家都去完成这个任务,显然是不可能的。面对着大量嵌入式用户的需求,那么就需要解决中文字模的图形问题。毕竟大家经常使用Windows,最先想到的,肯定是怎么样把里面的...
阅读(12575) 评论(5)

Windows API一日一练(89)OpenProcess函数

这一年来流氓软件特别多,面对这种非常恶心的软件,让大家非常痛苦。正是在这种环境之下,众多客户需要强大查杀这种流氓软件的工具。如果让你来开发一个查杀这种病毒的软件,你会怎么做呢?当然是先把电脑里所有进程遍历出来,然后把每个进程的详细信息显示给用户,让用户决定自己那些进程可以运行,那些不可以运行。或者根据当前进程的信息,再跟根据病毒库里的特征码进行比较,就可以标识那些是可疑的病毒了。下面就来演示用函数...
阅读(16642) 评论(12)

Windows API一日一练(88)EnumProcesses函数

 当你开发的软件在用户那里运行出错了,想怎么办呢?当然是希望把出错时候的运行环境信息生成报表,然后再Email回来查看了。这里就介绍一个函数可以把当时运行环境的进程全部找到,然后可以输出每个进程的信息。当然,这个函数也可以使用到杀病毒软件里,用来查看可疑的进程信息。 函数EnumProcesses声明如下: BOOLWINAPIEnumProcesses (    ...
阅读(10165) 评论(5)

Windows API一日一练(87)CreateProcess函数

人们需要处理的信息越来越复杂,往往在一个应用程序里是处理不完的,因此,就出现多个应用程序协同处理同一件事情。当然多个应用程序分开处理,也是比较容易开发,并且让应用程序复杂难度迅速降低。比如在开发一个银行的交易系统,有一个报表生成的主程序,然后还有很多小的,不同的报表生成程序。这样就需要从主程序里创建小报表程序进行运行。创建进程运行,需要使用函数CreateProcess来实现。 函数Cre...
阅读(8382) 评论(3)

Windows API一日一练(86)GetClipboardData函数

前面介绍怎么样把数据放到剪贴板里面,那么又是怎么样从剪贴板里面获取数据出来呢?当然还是需要使用其它的API函数来获取剪贴板里的数据。获取剪贴板里的数据时,是不知道当前剪贴板里是否有数据的,也不知道剪贴板里的数据格式是什么。那么下面就来解决这两个问题,先使用函数IsClipboardFormatAvailable来获取剪贴板里的格式是否可以处理,接着使用函数OpenClipboard打开剪贴板,然后...
阅读(10897) 评论(2)

Windows API一日一练(85)OpenClipboard函数

多个软件之间进行数据共享是非常重要的,难以想像编辑软件没有CTRL+C,CTRL+V的功能,是多么的不方便。很多的操作,就是拷贝的动作,就是为了数据共享。剪贴板共享是Windows里比较重要的功能,比如很多采集数据的软件为了方便导数据到Excel里面,就可以使用剪贴板的功能。还有即见即所得的界面导到Word里面,也可以使用剪贴板的功能。 函数OpenClipboard声明如下: W...
阅读(9785) 评论(3)

Windows API一日一练(84)FlushInstructionCache函数

一般的程序都是在运行前已经编译好的,因此修改指令的机会比较少,但在软件的防破解里,倒是使用很多。当修改指令之后,怎么样才能让CPU去执行新的指令呢?这样就需要使用函数FlushInstructionCache来把缓存里的数据重写回主内存里去,让CPU重新加载新的指令,才能执行新的指令。下面就来学习一下使用这个函数来实现跳到一个静态函数里执行,而不是直接地调用这个函数。 函数FlushIns...
阅读(9827) 评论(6)

Windows API一日一练(83)GetModuleFileName函数

在开发软件的过程里,经常需要把数据保存到当前执行文件路径下面,或者读取当前执行文件路径下的一些配置信息。这时就需要从当前模块里获取所在的目录路径,以便进行固定的位置操作文件。要解决这个需求,就需要调用API函数GetModuleFileName来获取模块所在的路径。 函数GetModuleFileName声明如下:WINBASEAPIDWORDWINAPIGetModule...
阅读(11322) 评论(7)

Windows API一日一练(82)LoadLibrary函数

随着软件规模的扩大,要求的功能也是越来越多,开发人员的参与也是越来越多。因此软件的功能划分,就成为了现代软件工程的重大任务,还有软件开发的并行性也越来越重要。为了解决这些问题,大家都会看到IT硬件发展非常迅速,功能也越来越复杂,但硬件中发展明显提高在于采用IC的方式来实现复杂的功能,也就是把大部份功能集成到一起,只要给出一些引脚就可以实现产品了。而软件中有没有相同于硬件中的IC呢?我想是应有的,就...
阅读(16334) 评论(3)
    个人资料
    • 访问:5574799次
    • 积分:72912
    • 等级:
    • 排名:第25名
    • 原创:1584篇
    • 转载:61篇
    • 译文:11篇
    • 评论:2082条
    文章存档
    最新评论