📄 vbtips2.htm
字号:
<html>
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=gb_2312-80">
<meta name="GENERATOR" content="Microsoft FrontPage Express 2.0">
<title>vbtips2</title>
</head>
<body>
<h1 align="center"><font size="6">VB技巧</font><font size="5">(3)</font></h1>
<blockquote>
<p><a name="home"></a><strong>1 </strong><a href="#tips1"><strong>获得系统中的所有字体列表</strong></a><strong><br>
2 </strong><a href="#tips2"><strong>如何关闭一个程序</strong></a><strong><br>
3 </strong><a href="#tips3"><strong>获得当前用户名</strong></a><strong><br>
4 </strong><a href="#tips4"><strong>获得Windows启动方式</strong></a><strong><br>
5 </strong><a href="#tips5"><strong>如何交换鼠标按键</strong></a><strong><br>
6 </strong><a href="#tips6"><strong>怎样关闭Windows</strong></a><strong><br>
7 </strong><a href="#tips7"><strong>如何获得Windows95已经运行的时间</strong></a><strong><br>
8 </strong><a href="#tips8"><strong>翻转一个字符串</strong></a><strong><br>
9 </strong><a href="#tips9"><strong>获得、设置鼠标双击间隔时间</strong></a><strong><br>
10 </strong><a href="#tips10"><strong>获得系统中鼠标的键数</strong></a></p>
<div align="center"><center><table border="0" width="85%">
<tr>
<td width="80%"><p align="left"><a
href="vbtips.htm#Return">[1]</a> <a
href="vbtips1.htm">[2]</a> [3] <a href="vbtips3.htm">[4]</a>
<a href="vbtips4.htm">[5]</a> <a href="vbtips5.htm">[6]</a>
<a href="vbtips7.htm">[7]</a> <a href="#home">[8]</a>
<a href="vbtips9.htm">[9]</a> <a href="vbtips10.htm">[10]</a></p>
</td>
<td><p align="right"><font size="2">第三页(共十页)</font></p>
</td>
</tr>
</table>
</center></div>
</blockquote>
<hr>
<div align="center"><center>
<table border="0" width="85%">
<tr>
<td width="100%"><a name="tips1"></a><font size="4"><strong>获得系统中的所有字体列表</strong></font><br>
在Form1中加入一个ListBox,并在Form1中加入如下代码:<br>
Private Sub Form_Load()<br>
Dim counter As Integer<br>
<br>
For counter = 0 To Screen.FontCount - 1<br>
List1.AddItem Screen.Fonts(counter)<br>
Next<br>
End Sub<br>
<br>
Private Sub List1_Click()<br>
Static tempheight As Single<br>
<br>
If tempheight = 0 Then tempheight = List1.Height<br>
List1.Font.Name = List1.List(List1.ListIndex)<br>
List1.Height = tempheight<br>
End Sub<br>
<a href="#home">返回</a><p><a name="tips2"></a><font
size="4"><strong>如何关闭一个程序</strong></font><br>
下面演示如何利用FindWindow函数找到窗口并利用SendMessage函数关闭窗口<br>
在Form1中加入如下代码:<br>
Private Declare Function FindWindow Lib
"user32" Alias _<br>
"FindWindowA" (ByVal lpClassName As String, _<br>
ByVal lpWindowName As String) As Long<br>
<br>
Private Declare Function PostMessage Lib
"user32" Alias _<br>
"PostMessageA" (ByVal hwnd As Long, ByVal wMsg
As Long, _<br>
ByVal wParam As Long, lParam As Any) As Long<br>
<br>
Const WM_CLOSE = &H10<br>
<br>
Private Sub Form_Click()<br>
Dim winHwnd As Long<br>
Dim RetVal As Long<br>
<br>
winHwnd = FindWindow(vbNullString, "Form1")<br>
Debug.Print winHwnd<br>
<br>
If winHwnd <> 0 Then<br>
RetVal = PostMessage(winHwnd, WM_CLOSE, 0&, 0&)<br>
If RetVal = 0 Then<br>
MsgBox "发送消息错误."<br>
End If<br>
Else<br>
MsgBox "Form1窗口不存在"<br>
End If<br>
End Sub<br>
运行程序,点击Form1,窗口就被关闭<br>
<a href="#home">返回</a></p>
<p><a name="tips3"></a><font size="4"><strong>获得当前用户名</strong></font><br>
在Form1中加入如下代码:<br>
Private Declare Function GetUserName Lib
"advapi32.dll" Alias _<br>
"GetUserNameA" (ByVal lpBuffer As String, nSize
As Long) _<br>
As Long<br>
<br>
Private Sub Form_Load()<br>
Dim s As String<br>
Dim cnt As Long<br>
Dim dl As Long<br>
Dim CurUser As String<br>
<br>
cnt = 199<br>
s = String$(200, 0)<br>
dl = GetUserName(s, cnt)<br>
If dl <> 0 Then CurUser = Left$(s, cnt) Else
CurUser = ""<br>
Debug.Print CurUser<br>
End Sub<br>
<a href="#home">返回</a></p>
<p><a name="tips4"></a><font size="4"><strong>获得Windows启动方式</strong></font><br>
在Form1中加入一个CommandButton、一个Label并加入如下代码<br>
Option Explicit<br>
<br>
Private Declare Function GetSystemMetrics Lib
"user32" _<br>
(ByVal nIndex As Long) As Long<br>
<br>
Const SM_CLEANBOOT = 67<br>
<br>
Private Sub Command1_Click()<br>
Select Case GetSystemMetrics(SM_CLEANBOOT)<br>
Case 1: Label1 = "安全模式."<br>
Case 2: Label1 = "支持网络的安全模式."<br>
Case Else: Label1 = "Windows运行在普通模式."<br>
End Select<br>
End Sub<br>
点击Command1就可以看到Windows是以何种方式启动的。<br>
<a href="#home">返回</a></p>
<p><a name="tips5"></a><font size="4"><strong>如何交换鼠标按键</strong></font><br>
在程序中定义如下API函数<br>
Declare Function SwapMouseButton& Lib
"user32" _<br>
(ByVal bSwap as long) <br>
<br>
要交换鼠标按键,将bSwap参数设置为True。要恢复正常设置,将bSwap设置为False。<br>
然后调用函数就可以交换和恢复鼠标按键了。<br>
<a href="#home">返回</a></p>
<p><a name="tips6"></a><font size="4"><strong>怎样关闭Windows</strong></font><br>
使用ExitWindowsEx函数,函数有两个参数确定如何关闭Windows,其中第二个参数未使用<br>
设置为0<br>
<br>
Public Const EWX_LOGOFF = 0 <br>
Public Const EWX_SHUTDOWN = 1 <br>
Public Const EWX_REBOOT = 2 <br>
Public Const EWX_FORCE = 4 <br>
Declare Function ExitWindowsEx Lib "user32"
Alias _<br>
"ExitWindowsEx" (ByVal uFlags As Long, ByVal
dwReserved _<br>
As Long) As Long <br>
<br>
If you wanted to forcefully reboot the computer use the
following code:<br>
如果想强制重新启动计算机,函数应该这样使用:<br>
t& = ExitWindowsEx(EWX_FORCE OR EWX_REBOOT, 0)<br>
<a href="#home">返回</a></p>
<p><a name="tips7"></a><font size="4"><strong>如何获得Windows95已经运行的时间<br>
</strong></font>要获得Windows95运行的时间,使用以下函数:<br>
Declare Function GetTickCount& Lib
"kernel32" () <br>
函数返回的是以毫秒计算的时间。<br>
在16位Windows下,使用GetCurrentTime 函数。<br>
<a href="#home">返回</a></p>
<p><a name="tips8"></a><font size="4"><strong>翻转一个字符串<br>
</strong></font>下面的函数利用递归原理获得字符串的翻转字符串<br>
Function reversestring(revstr As String) As String<br>
' revstr: 要翻转的字符串<br>
' 返回值:翻转后的字符串<br>
<br>
Dim doreverse As Long<br>
<br>
reversestring = ""<br>
For doreverse = Len(revstr) To 1 Step -1<br>
reversestring = reversestring & Mid$(revstr,
doreverse, 1)<br>
Next<br>
<br>
End Function<br>
<a href="#home">返回</a></p>
<p><a name="tips9"></a><font size="4"><strong>获得、设置鼠标双击间隔时间<br>
</strong></font>获得鼠标双击间隔时间:<br>
Public Declare Function GetDoubleClickTime Lib
"user32" Alias _<br>
"GetDoubleClickTime" () As Long<br>
函数返回以毫秒为单位的鼠标双击间隔时间。<br>
设置鼠标双击间隔时间<br>
<font face="宋体">Declare Function SetDoubleClickTime
Lib "user32" Alias _ <br>
"SetDoubleClickTime" (ByVal wCount As Long) As
Long <br>
其中的参数</font>wCount为以毫秒为单位的新的时间间隔的长度。<br>
<a href="#home">返回</a></p>
<p><a name="tips10"></a><font size="4"><strong>10
获得系统中鼠标的键数<br>
</strong></font>获得系统中鼠标支持的键数(两键或三键),首先在程序中做如下定义:<br>
Declare Function GetSystemMetrics Lib "user32"
Alias _<br>
"GetSystemMetrics" (ByVal nIndex As Long) As
Long </p>
<p>Public Const SM_CMOUSEBUTTONS = 43<br>
<font face="宋体">然后在程序中调用</font>GetSystemMetrics函数
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -