专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅
一 引言 笔者在编程实践中发现,VB对位操作的支持仅限于AND、OR、XOR几种位运算,远远不如其他的开发工具那样全面(如Visual C++、C++Builder、Delphi等开发工具都提供了整形变量的移位、拆分、合并的运算),因此在使用VB编写诸如加密之类的通用数据处理程序时往往困难重重。为了使以后的开发工作不再陷入僵局,我开始寻求增强VB位操作功能的通用方法,以达到一劳永逸的效果。 VB的数据类型不够丰富,整形数只包括Byte、Integer、Long三种类型,分别对应C++中的 unsigned char、short 和 long 类型,而我们常 [阅读全文] [PDF]
一 引言 笔者在编程实践中发现,VB对位操作的支持仅限于AND、OR、XOR几种位运算,远远不如其他的开发工具那样全面(如Visual C++、C++Builder、Delphi等开发工具都提供了整形变量的移位、拆分、合并的运算),因此在使用VB编写诸如加密之类的通用数据处理程序时往往困难重重。为了使以后的开发工作不再陷入僵局,我开始寻求增强VB位操作功能的通用方法,以达到一劳永逸的效果。 VB的数据类型不够丰富,整形数只包括Byte、Integer、Long三种类型,分别对应C++中的 unsigned char、short 和 long 类型,而我们常 [阅读全文] [PDF]
摘要:Visual Basic 的位操作功能较弱,甚至连最常用的移位运算都不支持,因此在使用VB开发诸如数据加密、压缩、通信之类的程序时往往困难重重。针对这一问题,本文详细地阐释了位操作的本质,并利用Win32 API函数实现了整型变量的拆分、合并、移位等VB不支持的位操作功能。关键词:Visual Basic、位操作、移位本文相关代码(附件)一 引言  笔者在编程实践中发现,VB对位操作的支持仅限于AND、OR、XOR几种位运算,远远不如其他的开发工具那样全面(如Visual C++、C++Builder、Delphi等开发工具都提供了整形变量的移位、拆 [阅读全文] [PDF]
voidWriteLog(CHARcsMsg[],DWORDdwSize) { HANDLEhFile; DWORDdwNumberOfBytesWritten; //必须指定OPEN_ALWAYS标志,否则不会在原文件内容上添加 hFile=CreateFile(_szFileName,GENERIC_WRITE,FILE_SHARE_WRITE,NULL,OPEN_ALWAYS,FILE_ATTRIBUTE_HIDDEN,NULL); if(hFile==INVALID_HANDLE_VALUE) { return; } //设置文件指针到文件结尾, [阅读全文] [PDF]
voidWriteLog(CHARcsMsg[],DWORDdwSize) { HANDLEhFile; DWORDdwNumberOfBytesWritten; //必须指定OPEN_ALWAYS标志,否则不会在原文件内容上添加 hFile=CreateFile(_szFileName,GENERIC_WRITE,FILE_SHARE_WRITE,NULL,OPEN_ALWAYS,FILE_ATTRIBUTE_HIDDEN,NULL); if(hFile==INVALID_HANDLE_VALUE) { return; } //设置文件指针到文件结尾, [阅读全文] [PDF]
 一、实现方法  在Win16中,可以利用OpenComm()、CloseComm()和WriteComm()等函数打开、关闭和读写串口。但在Win32中,串口和其他通信设备均被作为文件处理,串口的打开、关闭和读写等操作所用的API函数与操作文件的函数相同。可通过CreateFile()函数打开串口;通过CloseFile()函数关闭串口;通过DCB结构、CommProp()、GetCommProperties()、SetCommProperties()、GetCommState()及SetCommState()等函数设置串口状态,通过函数ReadFile [阅读全文] [PDF]
上一章讲解了如何用调试API来打开一个被调试程序,并给出了一个简单的例子,这一章将祥细讲解调试消息包含的内容. 类似于消息处理中的消息结构TMessage一样,调试事件也有自己特定的事件结构,那就是TDebugEvent,TDebugEvent在Delphi中的定义为:TDebugEvent=_DEBUG_EVENT;_DEBUG_EVENT=recorddwDebugEventCode:DWORD;dwProcessId:DWORD;dwThreadId:DWORD;caseIntegerof0:(Exception:TExcep [阅读全文] [PDF]
要学习如何修改被调试进程,先让我们来了解几个与此有关的函数.一.读指定进程内存:ReadProcessMemory此函数的定义为:function ReadProcessMemory(hProcess: THandle; const lpBaseAddress: Pointer; lpBuffer: Pointer; nSize: DWORD; var lpNumberOfBytesRead: DWORD): BOOL; stdcall; hProcess指向被读取内存的进程的句柄,此句柄必须有PROCESS_VM_READ权限. [阅读全文] [PDF]
最近学习了一下WIN32的调试API,并做了一个简单的调试器,略有心得,特写出来希望对需要的朋友有所帮助.参考资料:lczlion:<<win32汇编程序设计>>彭春华:<<用Debug函数实现API函数的跟踪>>概述:Windows提供了一组供程序员使用的API,使用这些API,我们能够建立或捆绑到已运行的程序上来对他们进行调试,能获得程序的底层信息和调试信息.如果你原意的话,甚至可以对被调试程序进行任意的修改(用WriteProcessMemory).先让我们从一个有趣的小例子开始吧: 打开DELPHI, [阅读全文] [PDF]
上一章讲解了如何用调试API来打开一个被调试程序,并给出了一个简单的例子,这一章将祥细讲解调试消息包含的内容.类似于消息处理中的消息结构TMessage一样,调试事件也有自己特定的事件结构,那就是TDebugEvent, TDebugEvent在Delphi中的定义为:TDebugEvent = _DEBUG_EVENT;_DEBUG_EVENT = recorddwDebugEventCode: DWORD;dwProcessId: DWORD;dwThreadId: DWORD;case Integer of0: (Exception: TExcept [阅读全文] [PDF]
1 共10条 分1页