和大家一起分享桌面宠物程序所用到的API(VB)

资讯 驱动中国 若水 2,851 次阅读 0 条评论
分享 Q

我这个是VB版的,希望高手多提宝贵意见谢谢!
1.
'设置窗体形状声明
'------------------------
'自定义
Public Type Dat
'设计坐标
sx As Integer '存储扫描头次遇到非背景色的X坐标
ex As Integer '存储扫描非背景色结束的X坐标
sy As Integer 'Y坐标的开始
ey As Integer 'Y坐标的结束
End Type
'------------------------
'目的:得到指定像素点
'输入:X坐标
'      Y坐标
'返回:点的像素
Public Declare Function GetPixel Lib "gdi32" Alias "GetPixel" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long
'------------------------
'目标:创建一个矩形区域
'输入:X1:指定左上角的X坐标
'     Y1:指定左上角的Y坐标
'     X2:指定右下角的X坐标
'     Y2:指定右下角的Y坐标
'返回:矩形区域的句柄
Public Declare Function CreateRectRgn Lib "gdi32" Alias "CreateRectRgn" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
'------------------------
'目的:合并两个区域存储到目标区域中
'输入:hDestRgn:目标区域的句柄
'     hSrcRgn1:源区域1的句柄
'     hSrcRgn2:源区域2的句柄
'     nCombineMode:合并方式
Public Declare Function CombineRgn Lib "gdi32" Alias "CombineRgn" (ByVal hDestRgn As Long, ByVal hSrcRgn1 As Long, ByVal hSrcRgn2 As Long, ByVal nCombineMode As Long) As Long
'------------------------
'目标:根据指定的显示区域改变窗口的形状
'输入:hWnd:窗口句柄
'     hRgn:指定显示区域
'     bRedraw:是否立即重画窗口
Public Declare Function SetWindowRgn Lib "user32" Alias "SetWindowRgn" (ByVal hWnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long
'------------------------
'CombineRgn 函数的nCombineMode参数常量:
Public Const RGN_AND = 1
Public Const RGN_COPY = 5
Public Const RGN_DIFF = 4
Public Const RGN_OR = 2
Public Const RGN_XOR = 3
'------------------------
'目的:删除指定区域
'输入:hWnd:窗口句柄
'     hObject:区域句柄
Public Declare Function DeleteObject Lib "gdi32" Alias "DeleteObject" (ByVal hObject As Long) As Long

2.
'设置窗口是否总在最前的API函数和常数
Public Declare Function SetWindowPos Lib "user32" Alias "SetWindowPos" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
'----------------------
Public Const SWP_FRAMECHANGED = &H20        '  The frame changed: send WM_NCCALCSIZE
Public Const SWP_NOACTIVATE = &H10
Public Const SWP_NOCOPYBITS = &H100
Public Const SWP_NOMOVE = &H2
Public Const SWP_NOOWNERZORDER = &H200      '  Don't do owner Z ordering
Public Const SWP_NOREDRAW = &H8
Public Const SWP_NOREPOSITION = SWP_NOOWNERZORDER
Public Const SWP_NOSIZE = &H1
Public Const SWP_NOZORDER = &H4
Public Const SWP_DRAWFRAME = SWP_FRAMECHANGED
'----------------------
Public Const HWND_BOTTOM = 1
Public Const HWND_NOTOPMOST = -2
Public Const HWND_TOPMOST = -1
Public Const HWND_DESKTOP = 0
Public Const HWND_TOP = 0
Public Const HWND_BROADCAST = &HFFFF&
Public Const SWP_HIDEWINDOW = &H80
Public Const SWP_SHOWWINDOW = &H40
'----------------------
public Const Flags = SWP_DRAWFRAME Or SWP_NOMOVE Or SWP_NOSIZE

3.
'为鼠标拖动窗体声明的API函数和常数:
Public Const WM_SYSCOMMAND = &H112
Public Const SC_MOVE = &HF010&
Public Const HTCAPTION = 2
'-----------------------
Public Declare Function ReleaseCapture Lib "user32" Alias "ReleaseCapture" () As Long
'-----------------------
Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long


如果QQ和MSN也是用VB写的话,那么它们也会用到这些API

版权声明:本文由驱动中国整理发布,转载需注明出处与原文链接。如有疑问请联系 editor@qudong.com
本文价值 成为第一个评分的人
登录后为本文打分
网友评论0 条评论
正在回复 的评论取消
评论加载中…
🔐

登录后参与互动

评论、点赞均可赚积分
连续签到、邀请好友也有奖励 🎁

电脑端: 微信扫码登录 微信内: 一键登录

微信扫一扫

打开微信「扫一扫」,分享本文到朋友圈或好友