我想用VB编个小程序,就是运行这个程序时,有点象网页上热区响应的效果.
具体地说就是:运行这个程序会打开一个界面,分两个热区,鼠标点击到不同的热区,会在限定时间到来之时自动运行另一个EXE文件.其中有一个区为默认,即如果运行该VB程序后,鼠标没动作或是没有进行点击哪个热区的情况下,会在限定时间到时自动运行相应的EXE文件.

解决方案 »

  1.   

    热点效果用鼠标的mousemove事件
    让程序自动运行用Timer控件来控制
      

  2.   

    用捕捉鼠标事件的API呀~
    比如说SendMessage函数
      

  3.   

    SendMessage, SendMessageBynum, SendMessageByString VB声明 
    Declare Function SendMessage& Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any)
    Declare Function SendMessageBynum& Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long)
    Declare Function SendMessageByString& Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As String) 
    说明 
    调用一个窗口的窗口函数,将一条消息发给那个窗口。除非消息处理完毕,否则该函数不会返回。SendMessageBynum, SendMessageByString是该函数的“类型安全”声明形式 
    返回值 
    Long,由具体的消息决定 
    参数表 
    参数 类型及说明 
    hwnd Long,要接收消息的那个窗口的句柄 
    wMsg Long,消息的标识符 
    wParam Long,具体取决于消息 
    lParam Any,具体取决于消息 
      

  4.   

    emailto :   [email protected] 我给你个例子
      

  5.   

    '窗体上包括:picturebox 2个  textbox 1个  timer 1个,其中的 2个picturebox就是你说的两个热区
    Option Explicit
    Dim bOk As Boolean
        
    Private Sub Form_Load()
        
        Text1 = Time
        Timer1.Interval = 1000
        bOk = False
        
    End SubPrivate Sub Picture1_Click()
        
        bOk = True
        Shell "C:\WINDOWS\Notepad.exe"
        
        
    End SubPrivate Sub Picture2_Click()
        
        bOk = True
        Shell "C:\WINDOWS\Pbrush.exe"
        
        
    End SubPrivate Sub Timer1_Timer()
        If bOk Then Exit Sub
        If Time = Text1 Then
            Picture1_Click
        End If
        
    End Sub