api函数,API函数IsDBCSLeadByte

IsDBCSLeadByte判断某字节是否在双字节字符集(例如汉字)的前导字节集中(GB 2312-80) 汉字编码中的第一个字节。DBCS:双字节字符集。 BOOL IsDBCSLeadByteTRUE(BYTE bTestChar); 如果该字节是DBCS 字符的第一个字节,则返回 TRUE。 IsDBCSLeadByte函数用于... [阅读全文]

hook函数,键盘监控的实现Ⅰ——Keyboard Hook API函数

在实际应用中,键盘监控是一种很常见的技术,它包括按键的记录、按键的过滤、按键的修改(映射)等。比方说,我们想统计用户的击键情况,这个就是按键的记录;我们想屏蔽某些系统键(例如Alt键、Win键),这个是按键的过滤;我们想改变按键的值,例如按下A,出来的是Z,在例如按下A,出来按键的组合SDFG等(貌似这个在游戏中比较多,有些游戏的大绝招都比较难按,用这个一劳永逸),这个是按键的修改。  键盘监控的... [阅读全文]

javaapi,未来Web应用开发探秘:File API

我们不止一次的提到File API以及Web应用程序对本地资源的访问,比如《JavaScript将增加本地操作API 可直接操作本地文件》和《HTML5 File API初探支持文件拖放上传功能》等。这不只是一个功能或者API,它还代表了未来Web应用开发的一个趋势。  回想一下过去那些糟糕的日子:要上传文件到一个网站需要在一个file input上点击“浏览”按钮,然后导... [阅读全文]

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

前面介绍了如何样打开选择文件读取对话框当你设计软件Software需要让用户选择保存时就需要让用户去选择自己合适文件名称来保存那么就需要使用到保存文件对话框也就是APIGetSaveFileName下面就来演示如何样使用这个API  GetSaveFileName声明如下:WINCOMMDLGAPI BOOL APIENTRY GetSaveFileNameA(LPOPENFILENAMEA);W... [阅读全文]

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

  当用户想选择打开以前保存文件时就需要使用到选择文件对话框其实在WindowsAPI里已经有这样完美对话只需要简单就可以使用了而不需要写大堆其它代码下面就来演示下如何使用文件选择对话框  GetOpenFileName声明如下:WINCOMMDLGAPI BOOL APIENTRY GetOpenFileNameA(LPOPENFILENAMEA);WINCOMMDLGAPI BOOL APIE... [阅读全文]

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

  当大家打开Windows任务管理器时就会看到每个进程使用内存分布情况往往会发现有些进程占用大量内存在这种情况也是种异常情况可以作为是否恶意软件Software标志的下面就来使用APIGetProcessMemoryInfo来获取内存使用情况  GetProcessMemoryInfo声明如下:BOOLWINAPIGetProcessMemoryInfo(    HANDLE Process, ... [阅读全文]

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

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

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

  当你开发软件Software在用户那里运行出错了想如何办呢?当然是希望把出错时候运行环境信息生成报表然后再Email回来查看了这里就介绍个可以把当时运行环境进程全部找到然后可以输出每个进程信息当然这个也可以使用到杀病毒软件Software里用来查看可疑进程信息  EnumProcesses声明如下:BOOLWINAPIEnumProcesses (    DWORD * lpidProcess... [阅读全文]

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

前面介绍如何样把数据放到剪贴板里面那么又是如何样从剪贴板里面获取数据出来呢?当然还是需要使用其它API来获取剪贴板里数据获取剪贴板里数据时是不知道当前剪贴板里是否有数据也不知道剪贴板里数据格式是什么那么下面就来解决这两个问题先使用IsClipboardFormatAvailable来获取剪贴板里格式是否可以处理接着使用OpenClipboard打开剪贴板然后使用GetClipboardData来获... [阅读全文]

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

多个软件Software的间进行数据共享是非常重要难以想像编辑软件Software没有CTRL+CCTRL+V功能是多么不方便很多操作就是拷贝动作就是为了数据共享剪贴板共享是Windows里比较重要功能比如很多采集数据软件Software为了方便导数据到excel里面就可以使用剪贴板功能还有即见即所得界面导到word里面也可以使用剪贴板功能  OpenClipboard声明如下:WINUSERAP... [阅读全文]

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

  般都是在运行前已经编译好因此修改指令机会比较少但在软件Software防破解里倒是使用很多当修改指令的后如何样才能让CPU去执行新指令呢?这样就需要使用FlushInstructionCache来把缓存Cache里数据重写回主内存里去让CPU重新加载新指令才能执行新指令下面就来学习下使用这个来实现跳到个静态里执行而不是直接地这个  FlushInstructionCache声明如下:WINBA... [阅读全文]

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

  在开发软件Software过程里经常需要把数据保存到当前执行文件路径下面或者读取当前执行文件路径下些配置信息这时就需要从当前模块里获取所在目录路径以便进行固定位置操作文件要解决这个需求就需要APIGetModuleFileName来获取模块所在路径  GetModuleFileName声明如下:WINBASEAPIDWORDWINAPIGetModuleFileNameA(    __in_o... [阅读全文]

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

  随着软件Software规模扩大要求功能也是越来越多开发人员参和也是越来越多因此软件Software功能划分就成为了现代软件Software工程重大任务还有软件Software开发并行性也越来越重要为了解决这些问题大家都会看到IT硬件发展非常迅速功能也越来越复杂但硬件中发展明显提高在于采用IC方式来实现复杂功能也就是把大部份功能集成到起只要给出些引脚就可以实现产品了而软件Software中有没... [阅读全文]

windowsapi函数:Windows API一日一练(81)FormatMessage函数

在开发软件Software过程里经常要做工作就是调试许多问题出现不但是逻辑问题还有可能是对API不熟悉或者某种条件下API会出错那么这些出错原因是什么呢?通常只获取到码也就是通过GetLastError得到当然可以根据这个码去查找MSDN就可以知道出错原因但有时在客户那里并没有MSDN那么就需要把API出错信息显示出来或者写到LOG里去这时就需要FormatMessage把出错码详细原因显示出来 ... [阅读全文]

windowsapi函数库:Windows API一日一练(80)MultiByteToWideChar函数

  在软件Software使用过程中经常碰到乱码情况那么乱码原因是什么呢?其实很多情况下就是集区别也就是说同个数字代表区别意思在Windows里目前主要有ANSI和UNICODE方式如果在UNICODE方式里直接显示ANSI串是出现乱码同样在ANSI里也不能显示UNICODE串而是要进行相互转换才能显示正确串在NT以后操作系统里Windows底层已经全部改为UNICODE方式如果还是使用ANSI话... [阅读全文]

windowsapi函数库:Windows API一日一练(79)GlobalMemoryStatusEx函数

  在开发软件Software过程中经常会碰到区别用户PC系统配置不样比如有些用户系统内存配置比较差这样处理大量数据时就不能把大量数据读取到内存里处理了而又有些用户内存比较多或者是机器比较新那么就可以加载大量数据到内存里处理这样可以随着系统更新软件Software处理能力能大幅地提高性能这样就需要了解系统配置信息了最重要资源的内存就是最需要了解需要GlobalMemoryStatusEx来了解内存... [阅读全文]

windowsapi函数库:Windows API一日一练(77)VirtualAlloc函数

  上次学习了全局内存分配在Windows里内存管理是分为两部份全局内存是系统管理内存因而所有进程都可以访问内存而每个进程又有自己内存空间这就是虚拟内存空间了而虚拟内存空间比较大当物理内存不足时系统会把虚拟内存数据保存到硬盘里这样只要硬盘空间足够大每个进程就可以使用3G内存虚拟内存分配可以作为里分配内存主要方式比如大量数据缓冲区动态分配内存空间使用VirtualAlloc来分配内存速度要比全局内存... [阅读全文]

windowsapi函数库:Windows API一日一练(76)GlobalAlloc函数

在Windows系统里有项功能非常实用就是剪贴板功能它能够从个里和另个进行数据交换功能也就是说两个进程上是可以共享数据要实现这样功能Windows系统在底层上有相应支持就是高端地址内存是系统内存这样就可以区别进程进行共享数据了因此GlobalAlloc来分配系统内存让区别进程实现共享数据也就是剪贴板功能可以在个进程内分配内存在另个进程里访问数据后删除内存  GlobalAlloc声明如下:HGLO... [阅读全文]

windowsapi函数库:Windows API一日一练(75)SystemParametersInfo函数

  面对华丽Windows桌面工作心情或许好很多但是久了总会失去兴趣总想定期地更新桌面图片软件Software开发人员又面对这样需求了需要如何样去做呢?努力去找API吧到目前为止还有很多变桌面图片软件Software并且还能很挣钱其实设置桌面图片需求在目前数码相片处理软件Software也有现实需求比如当你去旅游回来后想把照片当作桌面图片就可以在处理图片时就设置为桌面图片这样就需要使用Parame... [阅读全文]

windowsapi函数库:Windows API一日一练(73)GetVersionEx函数

Windows发展还是非常快速从Win95到Win98再到Win2000和XP系统每个系统功能也有所区别要想在里区别区别系统就需要获取系统版本信息比如XP里有防火墙而其它以前系统里没有带有但有时编写了个服务器或者编写BT又需要设置个端口对外面接收连接因此在XP系统里就需要设置防火墙端口而在XP以前系统里就没有必要设置端口了这样需求就可以使用GetVersionEx来区分区别系统  GetVersi... [阅读全文]

windowsapi函数库:Windows API一日一练(72)GetUserName函数

  随着系统安全性加强每个系统里越来越多区别帐号登录假如你正在开发个上网安全软件Software让区别用户有区别上网权限这样就需要识别当前用户是什么帐号登录了然后再作出权限分配还有出错时也需要对当前帐号进行记录下来区别帐号有区别权限有些磁盘是不允许操作面对这些需求就需要使用GetUserName  GetUserName声明如下:WINADVAPIBOOLWINAPIGetUserNameA ( ... [阅读全文]

windowsapi函数库:Windows API一日一练(71)GetComputerName函数

当你在个大公司里面当个网络管理员时发现成千上万个电脑需要你去管理时如何去区分这些电脑呢?那肯定是通过计算机名称而这个网络管理员又需要你开发套软件Software它可以把所有电脑名称自动地上报给他面对这样需求就可以使用下面GetComputerName来获取计算机名称并通过网络传送给管理员  GetComputerName声明如下:WINBASEAPIBOOLWINAPIGetComputerNam... [阅读全文]

windowsapi函数库:Windows API一日一练(68)QueryPerformanceCounter函数

  精确时间计时有时候是非常必要比如播放多媒体时视频和音频时间同步还有在测试代码性能时也需要使用到非常精确时间计时还有测试硬件性能时也需要精确时间计时这时就需要使用QueryPerformanceCounter来查询定时器计数值如果硬件里有定时器它就会启动这个定时器并且不断获取定时器值这样定时器精度就跟硬件时钟晶振样精确  QueryPerformanceCounter和QueryPerforma... [阅读全文]

windowsapi函数库:Windows API一日一练(66)CreateWaitableTimer和SetWaitableTimer函数

用户感觉到软件Software好用就是可以定时地做些工作而不需要人参和进去比如每天定时地升级病毒库定时地下载电影定时地更新游戏里人物要想实现这些功能就可以使用定时器APICreateWaitableTimer和SetWaitableTimer来实现了这对API创建时钟是比较精确可以达到100倍10亿分的秒  CreateWaitableTimer和SetWaitableTimer声明如下:WINB... [阅读全文]

标量值函数:SQL标量函数API

下面简单介绍几种标量也是常用我们可以通过类似select abs(-123);语句来看到我们标量效果  abs:该返回个数值表达式绝对值如abs(-123);  adddate:该将个时间间隔(参数2)添加到时戳或时戳表达式(参数1)中和此同功能还有date_add如 adddate('2009-01-01',4);结果为2009-01-05adddate(2009-01-01,erval 5 m... [阅读全文]

javaapi:api

“接口”,生活中一个很普通的概念。电梯开门关门的按钮;摩托车响喇叭的按钮;打开电视的遥控;等等;这些都是接口。为什么要有接口,是因为有接口会更好,并非没有接口就不行。想像一下,如果没有接口,那么看到的可能是一团凌乱的电路线,在使用功能时要按说明把“外界”接到其中的某条线路上,这样也ok,但显然有一些问题:第一不好看,第二不好用,第三因为可以接触到线路... [阅读全文]

windowsapi函数:Windows API一日一练(43)WaitForSingleObject函数

  上面已经介绍如何样创建个简单线程在那里就需要使用WaitForSingleObject它是用来做什么呢?其实它是用来实现等待线程结束它机理是这样通知Windows操作系统现在我进入睡眼状态当我关注对象条件是否满足如果满足了就吵醒我在那里关注对象是线程是否退出这是个条件测试如果不等待线程关闭就去删除线程资源就会出错使用前面线程是简单些但它不合适复用现在就使用C++类来封装个比较好用类这样就可以很... [阅读全文]

windowsapi函数:Windows API一日一练(42)CreateThread函数

随着时代发展计算机技术发展得很快CPU已经从单核心到多核心转变也就是个CPU里具备了同时做多件事情能力而不是过去分时复用了而是实实在在地做多件事情因此开发软件Software也进入了个新时代就是多线程软件Software开发时代如何合理地分配多个线程同时运行是提高软件Software效率关键原因了比如像网络游戏客户端里就可以使用个线程不断地更新游戏界面分配另外个线程不断地发送和接收网络数据这样CP... [阅读全文]

windowsapi函数:Windows API一日一练(39)AnimateWindow函数

  当你开发款年轻人使用软件Software时肯定想用点动感特性来吸引他们比如QQ软件Software就有这个特性当你把它放到桌面边上时就会自动隐藏起来当你鼠标放到那里时就会自动慢慢移动出来副有动感特性肯定让年轻人喜欢上它还有当你开发软件Software时想先动态地显示公司商标或者公司宣传材料时就会使用到闪屏效果其实这两个特性都可以使用APIAnimateWindow来实现下面就来介绍如何使用它 ... [阅读全文]

windowsapi函数:Windows API一日一练(35)OutputDebugString函数

在软件Software开发过程里大部份时间是在做什么呢?其实是在调试代码毕竟人类思维方式是从简单到复杂过程自然认知过程也是从简单到复杂因此开发软件Software时第个版本总是先写简单然后慢慢地添加出错处理上去也把些没有想到情况添加进去那些没有想到就叫做BUG要根除个软件Software里BUG是件不容易事情不但要对这个软件Software流程比较熟悉还要对这个软件Software目标比较了解还需... [阅读全文]
1 共1条 分1页