⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vbtips9.htm

📁 所有我收藏的VB技巧
💻 HTM
📖 第 1 页 / 共 2 页
字号:
<html>

<head>
<meta http-equiv="Content-Type"
content="text/html; charset=gb_2312-80">
<meta name="GENERATOR" content="Microsoft FrontPage Express 2.0">
<title>记载Windows使用的时间</title>
</head>

<body>

<h1 align="center"><a name="Return"></a>VB技巧<font size="5"><strong>(9)</strong></font></h1>

<blockquote>
    <p><b>1 </b><a href="#记载Windows使用的时间"><b>记载Windows使用的时间</b></a><b><br>
    2 </b><a href="#怎样关闭一个正在运行的程序"><b>怎样关闭一个正在运行的程序</b></a><b><br>
    3 </b><a
    href="#我怎样确定我的程序是否在运行?"><b>我怎样确定我的程序是否在运行?</b></a><b><br>
    4 </b><a href="#怎样延迟一个VB程序?"><b>怎样延迟一个VB程序?</b></a><b><br>
    5 </b><a href="#怎样改变双击鼠标的时间间隔?"><b>怎样改变双击鼠标的时间间隔?</b></a><b><br>
    6 </b><a href="#怎样找到鼠标指针的XY坐标?"><b>怎样找到鼠标指针的XY坐标?</b></a><b><br>
    7 </b><a href="#怎样捕捉窗体的鼠标?"><b>怎样捕捉窗体的鼠标?</b></a><b><br>
    8 </b><a
    href="#怎样得到文本框(TextBox)中的文本行数?"><b>怎样得到文本框(TextBox)中的文本行数?</b></a><b><br>
    9 </b><a href="#怎样使程序的标题条闪烁?"><b>怎样使程序的标题条闪烁?</b></a></p>
    <div align="center"><center><table border="0" cellspacing="1"
    width="88%">
        <tr>
            <td width="80%"><p align="left"><a
            href="vbtips.htm#Return">[1]</a> <a
            href="vbtips1.htm">[2]</a> <a href="vbtips2.htm">[3]</a>
            <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="vbtips7.htm">[8]</a> [9] <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" cellspacing="1" width="88%">
    <tr>
        <td width="100%"><a name="记载Windows使用的时间"><b>记载Windows使用的时间</b></a><p
        id="content">有时候你需要记下每次Windows开启和关闭的时间,下面这个小程序就可以完成这个功能,你可以把它放在Windows开始菜单的“启动”文件夹里面,这样当你进入Windows时,这个小程序就会自动启动(不可见),并在你指定的文件中写下当时的时间,在你推出Windows系统时,小程序会关闭并记下离开的时间,并关闭记录文件。</p>
        <p id="content">Private Sub Form_Load()</p>
        <p id="content">Left = -10000</p>
        <p id="content">Top = -10000</p>
        <p id="content">Open &quot;c:\apps\log.txt&quot; For
        Append As #1</p>
        <p id="content">Print #1, &quot;On: &quot; &amp;
        CStr(Now)</p>
        <p id="content">Close #1</p>
        <p id="content">End Sub</p>
        <p id="content">Private Sub Form_Unload(Cancel As
        Integer)</p>
        <p id="content">Open &quot;c:\apps\log.txt&quot; For
        Append As #1</p>
        <p id="content">Print #1, &quot;Off:&quot; &amp;
        CStr(Now)</p>
        <p id="content">Close #1</p>
        <p id="content">End</p>
        <p id="content">End Sub<br>
        <a href="#Return">返回</a></p>
        <p id="content"><a
        name="怎样关闭一个正在运行的程序"><b>怎样关闭一个正在运行的程序</b></a></p>
        <p id="content">你可以使用API函数FindWindow和PostMessage去寻找指定的窗口,并关闭它。下面的例子教给你怎样找到并关掉一个Caption为“Caluclator”的程序。</p>
        <p id="content">Dim winHwnd As Long</p>
        <p id="content">Dim RetVal As Long</p>
        <p id="content">winHwnd = FindWindow(vbNullString,
        &quot;Calculator&quot;)</p>
        <p id="content">Debug.Print winHwnd</p>
        <p id="content">If winHwnd &lt;&gt; 0 Then</p>
        <p id="content">RetVal = PostMessage(winHwnd, WM_CLOSE,
        0&amp;, 0&amp;)</p>
        <p id="content">If RetVal = 0 Then</p>
        <p id="content">MsgBox &quot;置入消息错误!&quot;</p>
        <p id="content">End If</p>
        <p id="content">Else</p>
        <p id="content">MsgBox &quot;Calculator没有打开!&quot;</p>
        <p id="content">End If</p>
        <p id="content">为了让以上的代码工作,你必须在模块文件中什么以下API函数:</p>
        <p id="content">Declare Function FindWindow Lib
        &quot;user32&quot; Alias _</p>
        <p id="content">&quot;FindWindowA&quot; (ByVal
        lpClassName As String, _</p>
        <p id="content">ByVal lpWindowName As String) As Long </p>
        <p id="content">Declare Function PostMessage Lib
        &quot;user32&quot; Alias _</p>
        <p id="content">&quot;PostMessageA&quot; (ByVal hwnd As
        Long, ByVal wMsg As Long, _</p>
        <p id="content">ByVal wParam As Long, lParam As Any) As
        Long </p>
        <p id="content">Public Const WM_CLOSE = &amp;H10<br>
        <a href="#Return">返回</a></p>
        <p id="content"><a
        name="我怎样确定我的程序是否在运行?"><b>我怎样确定我的程序是否在运行?</b></a></p>
        <p id="content">把以下代码放在第一个窗体的Form_Load事件中:</p>
        <p id="content">If App.PrevInstance = True Then</p>
        <p id="content">Call MsgBox(&quot;这个程序正在运行!&quot;,_</p>
        <p id="content">vbExclamation)</p>
        <p id="content">End</p>
        <p id="content">End If<br>
        <a href="#Return">返回</a></p>
        <p id="content"><a name="怎样延迟一个VB程序?"><b>怎样延迟一个VB程序?</b></a></p>
        <p id="content">延迟在VB中非常有意义!举个例子,有时你需要等待一个额外的过程完成,才能运行程序下面的代码。延迟使程序摆脱了CPU的运算速度对程序运行速度的影响,但是在VB中却没有延迟这个很多语言都有的现成函数,所以还要依靠API函数,请看以下的代码:</p>
        <p id="content">Declare Sub Sleep Lib
        &quot;kernel32&quot; _</p>
        <p id="content">(ByVal dwMilliseconds As Long)</p>
        <p id="content">'延迟1秒</p>
        <p id="content">Call Sleep(1000)<br>
        <a href="#Return">返回</a></p>
        <p id="content"><a
        name="怎样改变双击鼠标的时间间隔?"><b>怎样改变双击鼠标的时间间隔?</b></a></p>
        <p id="content">在较短时间里连续的点击两次鼠标就会造成鼠标双击事件。你可以调用API函数SetDoubleClickTime改变鼠标双击所需要的时间,它只有一个参数,并可精确到毫秒级。</p>
        <p id="content">Declare Function SetDoubleClickTime _</p>
        <p id="content">Lib &quot;user32&quot; Alias
        &quot;SetDoubleClickTime&quot; _</p>
        <p id="content">(ByVal wCount As Long) As Long </p>
        <p id="content">提示:这种改变将影响到整个操作系统。<br>
        <a href="#Return">返回</a></p>
        <p id="content"><a
        name="怎样找到鼠标指针的XY坐标?"><b>怎样找到鼠标指针的XY坐标?</b></a></p>
        <p id="content">在很多的作图软件中都有一个小的区域显示当前屏幕上的光标位置,这利用API函数非常容易做到,下面的例子将演示使用代码如何返回当前光标的XY的坐标值。</p>
        <p id="content">步骤:</p>
        <ol>
            <li>在VB5中建立一个新项目文件,Form1使用默认设置.</li>
            <li>选择菜单的“Project/add Module”,建立一个新的模块文件“Moudule1”。</li>
            <li>输入以下代码声明API函数。</li>
            <li>Option Explicit<p id="content">Type POINTAPI '
                Declare types</p>
                <p id="content">x As Long</p>
                <p id="content">y As Long</p>
                <p id="content">End Type</p>
                <p id="content">Declare Function GetCursorPos Lib
                &quot;user32&quot; _</p>
                <p id="content">(lpPoint As POINTAPI) As Long '
                Declare API </p>
            </li>
            <li>把焦点移到Form1,添加两个标签对象(Label)和一个计时器对象(Timer1),把计时器的Interval属性设为1,然后双击Form1的任何区域,在代码窗口中输入:</li>
        </ol>
        <p id="content">Option Explicit</p>
        <p id="content">Dim z As POINTAPI ' 声明变量</p>
        <p id="content">Private Sub Timer1_Timer()</p>
        <p id="content">GetCursorPos z ' 得到坐标</p>
        <p id="content">Label1 = &quot;x: &quot; &amp; z.x '

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -