用VB做屏保等程序时,需要隐藏鼠标,蔽屏Win键,Ctrl+Alt+Del、口令保存、防止窗体被重复调用等。
-
准备工作:首先要使用API函数,应在VB中新建一个工程,在工程新建一个标准模块。将API函数的声明输入到标准模块中去。但由于API函数声明太长了,不好输入可以在API浏览器中复制(什么你没有装,找出VB盘装上不然@#$%&*),在标准模块中粘贴。
- 隐藏鼠标:当屏保运行时要隐藏光标,可以用API函数的ShowCursor,的的声明格式为:
Public Declare Function
ShowCursor Lib "user32" Alias "ShowCursor" (ByVal bShow As Long) As
Long当参数bShow为
-1时,函数将系统的光标隐藏;为1时,函数将光标显示。
- 蔽屏“Ctrl+Alt+Del”和Win键:用SystemParametersInfo函数取消Ctrl+Alt+Del和Win,声明格式为:
Public Declare Function SystemParametersInfo Lib
"user32" Alias "SystemParametersInfoA" (ByVal uAction As Long, ByVal
uParam As Long, ByRef lpvParam As Any, ByVal fuWinIni As Long) As Long
当函数的uAction参数值为SPI_SCREENSAVERRUNNING=97&、uParam的参数为1&、其它参数为0时,函数取消
Ctrl+Alt+Del;当函数的uAction参数值为SPI_SCREENSAVERRUNNING=97&、uParam的参数为0&、其它参数为0时,函数恢复Ctrl+Alt+Del。
-
防止程序重复调用:使用一些如《金山词霸》之类的软件,你会发现无论你怎样调用应用程序,但总是启动一次,就无法同时启动第二次,就要用FindWindows函数检查主窗体是否被调用函数的声明格式:
Public Declare Function FindWindow Lib "user32"
Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As
String) As Long
其中lpClassName参数设置为vbNullString,WindowsNmae要为要检查窗体的标题。
1)RegCreateKey函数:
函数功能是在注册表中建立一个新的主键。如果该主键以存在,则打开该主键。函数声明格式:
Public Declare Function RegCreateKey Lib
"advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey
As String, phkResult As Long) As Long
参数hKey为任何一个打开的主键的句柄,将新建的主键放在它的下面。基本主键HKEY_CURRENT_USER=H80000001。
LpSubKey参数要建立的主键名。
PhkResult参数返回新建或已经打开的主键句柄。 |