会员: 密码:  免费注册 | 忘记密码 | 会员登录 网页功能: 加入收藏 设为首页 网站搜索  
 安全技术技术文档
  · 安全配制
  · 工具介绍
  · 黑客教学
  · 防火墙
  · 漏洞分析
  · 破解专题
  · 黑客编程
  · 入侵检测
 安全技术论坛
  · 安全配制
  · 工具介绍
  · 防火墙
  · 黑客入侵
  · 漏洞检测
  · 破解方法
  · 杀毒专区
 安全技术工具下载
  · 扫描工具
  · 攻击程序
  · 后门木马
  · 拒绝服务
  · 口令破解
  · 代理程序
  · 防火墙
  · 加密解密
  · 入侵检测
  · 攻防演示
技术文档 > VB文档 > API函数
程序只运行一个实例,并且把前一个激活
发表日期:2003-03-27 00:00:00作者:j 出处:  

(仅供参考)

Option Explicit

Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Private Declare Function IsIconic Lib "user32" (ByVal hwnd As Long) As Long

Private Declare Function SetForegroundWindow Lib "user32" (ByVal hwnd As Long) As Long

Const SW_RESTORE = 9

Private Const OPEN_APPLICATION = 0

Private Const SINGLE_INSTANCE_OPEN = 1

Sub Main()

Dim MultiInstResult As Integer

MultiInstResult = MultiInst

If MultiInstResult = OPEN_APPLICATION Then

   Form1.Show 

ElseIf MultiInstResult = SINGLE_INSTANCE_OPEN Then

  End

End If

End Sub

Private Function MultiInst() As Integer

Dim hwndFound As Long 

Dim strWindowName   

strWindowName = App.Title

App.Title = "temp title" 

hwndFound = FindWindow(vbNullString, strWindowName)

If hwndFound Then

   MultiInst = SINGLE_INSTANCE_OPEN

   MsgBox "A instance of the application is already open." & vbCrLf & vbCrLf & "Only one open instance allowed.", vbOKOnly + vbExclamation, "App Name"

   If IsIconic(hwndFound) Then

     ShowWindow hwndFound, SW_RESTORE

     SetForegroundWindow hwndFound

   Else

     SetForegroundWindow hwndFound

  End If

ElseIf hwndFound = 0 Then

  App.Title = strWindowName

  MultiInst = OPEN_APPLICATION

End If

End Function

返回顶部】 【打印本页】 【关闭窗口

关于我们 / 给我留言 / 版权举报 / 意见建议 / 网站编程QQ群   
Copyright ©2003- 2024 Lihuasoft.net webmaster(at)lihuasoft.net 加载时间 0.00152