【VB】点击控件,窗体不获得焦点

首先创建一个Button空间。



然后复制以下代码

Option Explicit
Rem 转移输入焦点的声明
Private Declare Function getwindowlong Lib "user32" Alias "getwindowlongA" (ByVal hwnd As Long,ByVal nIndex As Long) As Long
Private Declare Function SetwindowLong Lib "user32" Alias "SetwindowLongA" (ByVal hwnd As Long,ByVal nIndex As Long,ByVal dwNewLong As Long) As Long
Rem 禁止本窗体拥有输入焦点的常数
Private Const HWND_NOTOPMOST = -2
Private Const WS_disABLED = &H8000000
Private Const GWL_EXSTYLE = (-20)
Private Const GWL_STYLE = (-16)



Private Sub Form_Load()
Rem 窗体调用置顶,且禁止拥有输入焦点
   SetwindowLong Me.hwnd,GWL_EXSTYLE,getwindowlong(Me.hwnd,GWL_EXSTYLE) Or WS_disABLED
   
Rem 打开Notepad供测试,并且写入文字
    Dim a
    a = Shell("notepad.exe",vbnormalFocus)
    AppActivate a
    SendKeys "请点击窗体的按钮,看看窗体有没有获得焦点",True
End Sub
然后按下F5运行即可

相关文章

Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强...
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办...
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace...
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用...
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选...
  窗体代码 1 Private Sub Text1_OLEDragDrop(Data As Dat...