蜂胶哪个牌子好多少钱:VB实用小程序2

来源:百度文库 编辑:九乡新闻网 时间:2024/04/29 18:32:59
用VB实现编程离不开函数调用及Windows API函数的调用,以下是笔者收集的一些实用的小例程,它们可以直接用在你的实际编程中,也可以根据实际应用加以扩充完善。其中涉及Windows API函数调用的代码你可以从VB5.0系统的API函数查看器中复制函数定义内容,以避免出错。

  1.系统型表单

  系统型意味着用户完成当前表单操作之前无法进行其它操作,这对于编制系统口令保护界面尤为重要。如果你希望当前表单系统型表单,需如下定义API函数:

  Declare Function SetSysModalWindow Lib "User" (ByVal hWnd As Integer) As Integer

  然后调用:oldSysModal = SetSysModalWindow([Form].hWnd)

  2.获取驱动器类型

  代码如后:

  Declare Function GetDriveType Lib “Kernel" (ByVal nDrive As Integer) As Integer

  Global Const DRIVE_REMOVEABLE% = 2, DRIVE_FIXED% = 3

  Global Const DRIVE_REMOTE% = 4

  3.表单在对中

  本子程序功能使表单定位在屏幕中央,在表单中任何需要表单对中的地方只需加入一行代码:

  “centerwindow.me”即可成功调用。

  Public Sub CenterWindow(f As Form)

  f.Top = (Screen.Height * .5) - (f.Height * .5)

  f.Left = (Screen.Width * .5) - (f.Width * .5)

  End Sub

  4. 定义变量

  许多的程序员习惯于如下定义变量:

  Dim iNum, iNextNum, iLastNum as Integer

  实际上只有最后一个变量被设为了整型,前两个变量则是系统的缺省的Variant 数据类型,而Variant 数据类型可用来替换任何数据类型,显然对于精练的程序设计是不利的。 正确的方法如下:

  Dim iNum as Integer

  Dim iNextNum as Integer

  Dim iLastNum as Integer

  5. 使文本高亮

  本子程序使被触发的诸如文本,标签等控件的文本被选中

  Public Sub SetSelected()

  Screen.ActiveControl.SelStart = 0

  Screen.ActiveControl.SelLength = Len(Screen.ActiveControl.Text)

  End Sub

  6. 关闭其它程序

  下面的代码可关闭内存中的其它程序

  title = "MyAPP" '定义你需关闭的程序窗口的标题

  ihWnd = findWindow(0&, Title)

  ihTask = GetWindowTask (ihWnd)

  iRet = PostAppMessage(ihTask, WM_QUIT, 0, 0&)

  7. 文件存在否?

  本函数返回查找的文件是否存在。

  Function FileExist(Filename as string) as Boolean

  FileExist = IIf(Dir(Filename) <> "", True, False)

  End Function

  8. 主程序唯一

  用下面提供的代码作你的主程序可防止应用程序的多重执行,你应当将它放在确信需要它的代码模块内。

  Public Sub Main()

  If App.PrevInstance Then

  BringWindowToTop frmMain.hwnd

  Else

  Load frmMain

  End If

  End Sub

  上面这些精悍的代码对于专业程序员来说非常有实用价值,希望你能从中获得启发。9.用VB编写定时关闭计算机的程序 定时关闭计算机,很显然,有两个关键点:

  1.定时。可以用VB中的Timer控件结合计算机的系统时间来进行精确的定时。

  2.关闭计算机。这可以调用Win32 API函数 ExitWindowsEx 来关闭计算机。

  下面首先来说明一下 ExitWindowsEx 函数,该函数在VB中的声明如下:

  Declare Function ExitWindowsEx Lib "user32" Alias "ExitWindowsEx" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long

  【返回值】

  Long,非零表示成功,零表示失败。

  【参数表】

  uFlags --------- Long,

  指定下述一个或多个标志(用OR运算符合并到一起)

  EWX_FORCE=4

  强迫中止没有响应的进程

  EWX_LOGOFF=0

  中止进程,然后注销

  EWX_SHUTDOWN=1

  关掉系统电源(如果可能的话,ATX电源就可以)

  EWX_REBOOT=2 重新引导系统

  dwReserved ----- Long,保留,设为零

  好了,现在可以开始编程了。

  1. 新建一个标准EXE工程。

  2. 在窗体上放置一个TextBox控件,用以输入定时时间。

  3. 在TextBox控件之下放置两个OptionButton控件,组成控件数组,用以选择定时模式。

  4. 在OptionButton控件之下放置一个CommandButton.

  5. 随便在窗体的某地方放置一Timer控件。

  以上控件了需要设置的属性值如下:

  对象      属性   设置

  Text1       Text   空

  Option1(0)    Caption   在指定时间关机

  Option1(1)    Caption   延迟指定的时间关机

  Command1    Caption   确定

  Timer1      Interval   15000(精确到1/4分钟,

  如要更精确可减少该值)

  Enabled     False

  增加代码如下:

  标准模块:
  Option Explicit
  Public Const EWX_SHUTDOWN = 1 '关闭系统

  Declare Function ExitWindowsEx Lib
  "user32" (ByVal uFlags As Long, ByVal
  dwReserved As Long) As Long

  窗体模块:

  Option Explicit
  Dim txtTime   '保存输入时间
  Dim nowTime   '保存实时时间
  Dim oldTime   '保存开始定时时间

  Private Sub Command1_Click()
    oldTime = Time
    If Not IsDate(Text1.Text) Then
   '用IsData函数判断输入的时间格式
   MsgBox "你所输入的不是时间格式,请重试!", , "Wrong"
     Else
      txtTime = TimeValue(Text1.Text)
    End If
    Timer1.Enabled = True
           '启动定时器
    Me.WindowState = 1
            '最小化窗体
  End Sub

  Private Sub Timer1_Timer()
    nowTime = Time
    If Option1(0).Value Then
      If DateDiff("s", nowTime, txtTime) < 0
   Then  '用DateDiff函数判断是否到时间了
  If Not ExitWindowsEx(EWX_SHUTDOWN, 0)
   Then    MsgBox ("无法关闭计算机")
        End If
      End If
     Else
   If DateDiff("s", nowTime, oldTime + txtTime) < 0
  Then  If Not ExitWindowsEx(EWX_SHUTDOWN, 0)
  Then      MsgBox ("无法关闭计算机")
        End If
      End If
    End If
  End Sub

  结束语:以上程序在VB5.0/6.0和Win98上调试通过。其实,此程序还可增加一些花样,譬如,最后窗体不是最小化,而是调用Win32 API函数,把她的图标放在系统任务栏里,即在右下角有声音,时间等图标的地方,那是另外一个主题了。 10.