这些个微软未文档化的API,找点相关资料还真费劲,留着备查!网上有个专门讲这些,有兴趣可以down下来看看……
ZwDuplicateObject
ZwDuplicateObject duplicates the handle to an object.
NTSYSAPI
NTSTATUS
NTAPI
ZwDuplicateObject(
IN HANDLE SourceProcessHandle,
...
具体用法可以看MSDN,或者Google之,这里主要贴点相关的代码:
//对话框初始化
BOOL CListDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// Add "About..." menu item to system menu.
... 在编译时就确定函数地址的联编过程叫做静态联编。动态联编是指在程序编译时编译器并不知道函数的相对地址,调用函数的相对地址只有在程序运行时才能确定。 比如下面代码中的DisplayNumber()函数体内,编译器并不知道DisplayFormat(Number)调用的函数地址,真正的地址实在运行时通过实参传入的。
VB代码编写规则
代码编写规则是养成良好编程习惯的基础。下面主要介绍VB代码编写规则,包括对象命名规则、代码书写规则、处理关键字冲突和代码注释规则。
一、对象命名规则
当为对象、属性、方法及事件命名时,应选择易于被用户理解的名字。名字含义越清晰,则代码的可用性越强。
这里的对象命名规则适用于:
l 对象。
l 组成对象接口的属性、方法及事件。
l 属性、方法及事件的命名的参数。
具体命名规则如下。
...在一个类的内部,使用最频繁的重载函数是类的构造函数。重载构造函数可以方便定义对象时用不同的方式来初始化对象。在父类与子类之间,多数情况是子类重载父类定义的虚函数,关于虚函数,后面会专门讲。
例如MFC的文件操作封装类CFile,它定义了3个构造函数。
CFile();/*创建一个CFile类对象,不关联任何文件。以后可以调用该对象的成员函数CFile::Open()打开指定文件*/
CFile( int hFile );/*构造类对象的同时,关联一个文件句柄。该句柄可以是由API函数OpenFile()返回的*/
...
所谓运算符重载就是运用函数重载的方法,对C++提供的标准运算符重新定义,完成某种特定的操作。
特点:
使用operator关键字对重载函数进行标识和定义。operator +(a,b)、operator -(a,0)、operator ++(a)。
参数个数固定。重载函数的参数个数与标准运算符保持一致。
针对类对象进行操作。
实例重载“+”运算符:
#include "stdio.h"
...
文件目录:
|---IE内核当前已经打开网页地址标题和个数
| Form1.frm
| 工程1.vbp
| 工程1.vbw
|
|---List1自动选中在Text1中输入内容的项
...
群里的一位朋友发的,称之为VB武器库……^_,感谢分享。看了下挺不错的,发出来给需要的人。
文件目录(工具生成):
|---Base64加密解密
| Form1.frm
| modBase64.bas
| MSSCCPRJ.SCC
...
弄个在线的,方便查阅。
先看看ServerXmlHttp和XmlHttp的一些区别:
XMLHTTP 为客户端应用程序而设计,并依赖于基于 Microsoft Win32 Internet (WinInet) 而构建的 URLMon。ServerXMLHTTP 为服务器应用程序而设计,并依赖于新的 HTTP 客户端堆栈 WinHTTP。ServerXMLHTTP 提供了可靠性和安全性,并且是服务器安全的。
生成了一份网页在线版的,方便查询使用。感谢原vbapi函数手册chm电子书的整理者辛苦整理^_
地址:
还是黑防上的文章。基本思想就是首先二值化去背景(通过判断点的RGB颜色值来实现区分),然后利用字符分割,利用点和字模的匹配率来进行识别。
具体实现代码如下:
Option Explicit
Private Sub Form_Load()
'窗体载入时将所有PictureBox统一到验证码的大小
'Picture1中默认已装载一张验证码
...
黑客防线上的一篇文章,应该算是最简单的验证码了,学习了下。以下代码修改自源文章,稍微优化了下。
代码:
Option Explicit
Private P(3 To 11, 5 To 34) As BooleanPrivate Sub Command1_Click()
On Error Resume NextIf Inet1.StillExecuting Then
Inet1.Cancel
...
删除注册表中键值:
Private Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Private Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpvalueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long
...
DYNAMIC是指定函数或事件的一个动态调用,即当你指定一个动态调用时,函数和事件在编译时不一定要存在。你告诉编译器:相信我,此处在运行时一定会有一个合适的函数或事件。对于动态调用,PowerBuilder等到执行时才寻找函数或事件。这就给了你更大的编程灵活性。
pb函数TriggerEvent详解
TriggerEvent
函数作用:触发指定对象的指定事件,并且立即执行该事件中的脚本。注意该函数和PostEvent的区别。PostEvent不是立即执行,TriggerEvent是立即执行触发事件的脚本。
...