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等(貌似这个在游戏中比较多,有些游戏的大绝招都比较难按,用这个一劳永逸),这个是按键的修改。  键盘监控的... [阅读全文]

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一日一练(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一日一练(75)SystemParametersInfo函数

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

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

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

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

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

标量值函数: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... [阅读全文]

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

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

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

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

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

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

windowsapi函数:Windows API一日一练(12)TranslateAccelerator函数

当应用运行时用户按下快捷键这样就产生了个按键消息那么Windows是如何样把它转化为快捷键响应消息呢?这就需要使用TranslateAcceleratorTranslateAccelerator主要作用就是把消息跟快捷键表里定义按键进行比较如果发现有快捷键就会把这个按键消息转换为WM_COMMAND或者WM_SYSCOMMAND消息给窗口消息处理发送过去  TranslateAccelerator... [阅读全文]

windowsapi函数:Windows API一日一练(11)GetMessage函数

应用为了获取源源不断消息就需要GetMessage来实现所有在窗口上输入消息都会放到应用消息队列里然后再发送给窗口回调处理  GetMessage声明如下:WINUSERAPIBOOLWINAPIGetMessageA(    __out LPMSG lpMsg,    __in_opt HWND hWnd,    __in UINT wMsgFilterMin,    __in UINT wMs... [阅读全文]

api函数:5.3  定位未公开的API函数

来源:安全中国5.3 定位未公开API 正如我们前边已经提到过那样这章里我们将以组未公开Windows API为例实战你逆向工程窍门技巧在介绍这组你将要逆向API的前我先简单说下我是怎样发现这组API以及通常要怎样才能在系统中找到这种未公开或API——无论这些或API是操作系统部分还是其他第 3方代码库部分 5.3.1节将讲述逆向未公开代码第步:怎样发现这种未公开API并找到使用这些API代码 ... [阅读全文]

api函数:API的菜单函数

AppendMenu 在指定菜单里添加个菜单项 CheckMenuItem 复选或撤消复选指定菜单条目 CheckMenuRadioItem 指定个菜单条目被复选成“单选”项目 CreateMenu 创建新菜单 CreatePopupMenu 创建个空弹出式菜单 DeleteMenu 删除指定菜单条目 DestroyMenu 删除指定菜单 DrawMenuBar 为指定... [阅读全文]

win32api:Win32 API 函数

限制功能 1、EnableMenuItem 允许、禁止或变灰指定菜单条目 2、EnableWindow 允许或禁止鼠标和键盘控制指定窗口和条目(禁止时菜单变灰)   2、对话框 CreateDialog 从资源模板建立非模态对话窗 CreateDialogParam 从资源模板建立非模态对话窗 CreateDialogIndirect 从内存模板建立非模态对话窗... [阅读全文]

api函数:Win95系统API函数大揭秘

Win95以其崭新精致外观、简便快捷操作方式让你尽享操作平台的乐趣同属Microsoft公司Visual Basic不仅仅是门计算机语言,还是个集应用开发、测试、查错功能于体功能强大集成式开发环境, 数百万员受益于此  Visual Basic个强大特性是它具有驻留在动态连接库(DLL)文件中功能其中包括由Windows提供和使用所有对几百个以及DLL所包含其它存取将Visual Basic功能进... [阅读全文]

api函数:利用API函数实现图像淡入淡出

般传统实现两个PictureBox的间图像淡入淡出效果都需要使用大量API并进行复杂调色板以及绘图设备(Device Context)操作但是在Win98、Win2000中微软提供了支持透明图像拷贝AlphaBlend  这篇文章就介绍如何通过APIAlphaBlend实现PictureBox的间图像淡入淡出效果AlphaBlend定义在msimg32.dll中般Win98、Win2000都带了这... [阅读全文]

windowsapi函数:c#中用windows api函数修改内存数据

这个问题来自伴水划拳机器人对本文用途感兴趣朋友请大致阅读伴水帖子在帖子中我用这个思路方法写了剪刀 5号,战绩不错当然属于作弊思路方法了  剪刀 5号思路就是每次出拳尽量让对方能赢然后根据个地址段来扫描内存中对方所赢局数保存地址找到后在得到比赛结果时把内存数据改掉这个类似以前打单机游戏时用fpe的类修改工具当然如果对方故意犯规局也不赢你是找不到他地址这样可以通过正常途径来获取胜利  把剪刀 5号核心... [阅读全文]

windowsapi函数:Windows 2000下Api函数的拦截分析

介绍:   Api拦截并不是个新技术很多商业软件Software都采用这种技术对windowsApi拦截不外乎两种思路方法第种是Mr. Jeffrey Richter 修改exe文件模块输入节种思路方法很安全但很复杂而且有些exe文件没有Dll输入符号列表有可能出现拦截不到情况第 2种思路方法就是常用JMP XXX思路方法虽然很古老却很简单实用   本文介绍第 2种思路方法在Win2k下使... [阅读全文]
1 共1条 分1页