1。Findwindow函数如何使用,主要是那两个参数。
2。如何在vb运行时捕捉到其它应用程序被调到前台。

解决方案 »

  1.   

    1.hwnd = FindWindow(vbNullString, "窗口标题") 
       If hwnd <> 0 Then
          Call SendMessage(hwnd, WM_CLOSE, 0, ByVal 0&)
       End If2.?
      

  2.   

    1: lxqlogo0(群子) 的方法是可以的!2:Public Declare Function GetForegroundWindow Lib "user32" Alias "GetForegroundWindow" () As Long
      

  3.   

    用SetForegroundWindow 可以将应用程序窗口设为前台活动窗口  setfocus不行的,这个函数是线程相关的,它只能处理本线程的焦点问题
      

  4.   

    请问我到底要在哪个事件里使用GetForegroundWindow来捕捉当前前台活动窗体?
      

  5.   

    2. WM_ACTIVATE, WM_NCACTIVATE
      

  6.   

    James0001(See-Plus-Plus) :能不能说得祥细点。我想快点结帖了。
      

  7.   

    FindWindow Example:
    dim MyHwnd as Longint
    MyHwnd = FindWindow("Notepad","窗口标题");'Notepad为记事本的类名;
    if MyHwnd <> 0 then'是有效窗口
    end ifGetForegroundWindow函数为获取当前获得焦点的窗口
    Example:
    dim MyHwnd as Longint
    MyHwnd = GetForegroundWindow
    if MyHwnd <> 0 then
      MyHwnd为当前窗口句柄了!当不同窗口切换时,该句柄会改变的!
     
    end if
      

  8.   

    Shikari(很久不来):我该把GetForegroundWindow写到哪个事件里呢?
      

  9.   

    我不知道你究竟要实现什么,不过如果你要监视来到前台的程序,你可以还是用TIMER控件,在该控件中写下面的代码:
    dim MyHwnd as long
    MyHwnd = GetForegroundWindow这样,一旦有窗口到前台,你的程序都会得到该句柄,然后你就可以做其他你想做的事情了!还有问题吗?