重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
看起轿数来是鼠标按住不放情况下导致焦点还保持在新建线程的窗口,然后又循环导致焦点切来切去引起闪烁。
创新互联科技有限公司专业互联网基础服务商,为您提供德阳服务器托管,高防主机,成都IDC机房托管,成都主机托管等互联网服务。
试下在循环中的执行代码旁戚前加上 mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0) '释放鼠标左键闭启首
Dim F1 As New Datasystem.Form2 '渗祥实例化窗体
For Each na As Form In Application.OpenForms '打开窗体渣喊尘的集合
If na.ProductName = F1.ProductName AndAlso na.Name = F1.Name 0 Then '判断程序集的产品名称和窗体名称是否已存在打开的窗体中
If na.WindowState = FormWindowState.Minimized Then '如禅判断窗体是否最小化
na.WindowState = FormWindowState.Normal '还原窗体
End If
na.Activate() '激活窗体
Return '返回
End If
Next
F1.Show() '如果没有打开的窗体中未找到,重新打开窗体
使用ShowWindow函数,便可轻松控制窗口的显隐,最小化,最大化。
概述
函数功能:该函数设置早芦指定窗口的显示状态。
函数原型:BOOL ShowWindow(HWND hWnd, int nCmdShow);
*/第一个参数为句柄,第二个参数选下面的值
#define SW_HIDE 0
#define SW_SHOWNORMAL 1
#define SW_NORMAL 1
#define SW_SHOWMINIMIZED 2
#define SW_SHOWMAXIMIZED 3
#define SW_MAXIMIZE 3
#define SW_SHOWNOACTIVATE 4
#define SW_SHOW 5
#define SW_MINIMIZE 6
#define SW_SHOWMINNOACTIVE 7
#define SW_SHOWNA 8
#define SW_RESTORE 9
#define SW_SHOWDEFAULT 10
#define SW_FORCEMINIMIZE 11
#define SW_MAX 11
参数含义
hWnd:指窗口句柄。
nCmdShow:指定窗口如何显示。如果发送应用程序的程序提供了STARTUPINFO结构,则应用程序第一次调用ShowWindow时该参数被忽略。否则,在第一次调用ShowWindow函数时,该值应为在函数WinMain中nCmdShow参数。在随后的调用中,该参数可以为下列值之一:
SW_FORCEMINIMIZE:在WindowNT5.0中最小化窗口,即使拥有窗口的线程被挂起也会最小化。在从其他线程最小化窗口时才使用这个参数。
SW_HIDE:隐藏窗口并激活其他窗口。
SW_MAXIMIZE:最大化指耐悔定的窗口。
SW_MINIMIZE:最小化指定的窗口并且激活在Z序中的下一个顶层窗口。
SW_RESTORE:激活并显示窗口。如果窗口最小化或最大化,则系统将窗口恢复到原来的尺寸和位置。在恢复最小化窗口时,应用程序应该指定这个标志。
SW_SHOW:在窗口原来的位置以原来的尺寸激活和显示窗口。
SW_SHOWDEFAULT:依据在STARTUPINFO结构中指定的SW_FLAG标志设定显示状态,STARTUPINFO 结构是由启动应用程序的程序传递给CreateProcess函数的。
SW_SHOWMAXIMIZED:激活窗口并将其最大化。
SW_SHOWMINIMIZED:激活窗口并将其最小化。
SW_SHOWMINNOACTIVATE:窗口最小化,激活窗口仍然维持激活状态。
SW_SHOWNA:以窗口原来的状态显示窗口。激活窗口仍然维持激活状态。
SW_SHOWNOACTIVATE:以窗口最近一次的大小和状态显示窗口。激活窗口仍然维持激活状态。
SW_SHOWNORMAL:激活并显示一个窗口。如果窗口被最陆亩带小化或最大化,系统将其恢复到原来的尺寸和大小。应用程序在第一次显示窗口的时候应该指定此标志。
不过顺便说一句,SendKeys会偶尔造成指令丢失,不可避免。不管你激活窗口还是最大化窗口或者锁定都没办法完全避免。
Public Class Form1
返拿隐 '声明常量:(释义可参见windows API)
Const WS_EX_NOACTIVATE As Integer = H8000000
'重载Form的CreateParams属性,添加不获敏闷取焦点属性值。
Protected Overrides ReadOnly Property CreateParams() As CreateParams
Get
漏厅 Dim cp As CreateParams = MyBase.CreateParams
cp.ExStyle = cp.ExStyle Or WS_EX_NOACTIVATE
Return cp
End Get
End Property
End Class