如何限制应用程序在同一时刻只能运行一次?
2010-12-29 08:45
316 查看
问:请问如何限制应用程序只运行一次呢?
答:利用Windows的API函数FindWindow()、BringWindowToTop()、ShowWindow()可实现上述功能。
①定义API:
Funtion ulong FindWindowA( ulong winhandle, string wintitle ) Library "user32"
Funtion uLong BringWindowToTop( ulong hwnd ) Library "user32"
Funtion uLong ShowWindow( ulong winhandle, int wincommand ) Library "user32"
②创建主窗口"w_test",将title设置为"Test Window"
③在application的Open事件中加入如下代码:
ulong ulng_winhandle
ulng_winhandle = FindWindowA( 0,"Test Window" )
If ulng_winhandle > 0 Then
BringWindowToTop( ulng_winhandle )
ShowWindow( ulng_winhandle, 5 )
Return
End If
Open( w_test )
[注]FindWindow()函数
BringWindowToTop()函数
ShowWindow()函数
答:利用Windows的API函数FindWindow()、BringWindowToTop()、ShowWindow()可实现上述功能。
①定义API:
Funtion ulong FindWindowA( ulong winhandle, string wintitle ) Library "user32"
Funtion uLong BringWindowToTop( ulong hwnd ) Library "user32"
Funtion uLong ShowWindow( ulong winhandle, int wincommand ) Library "user32"
②创建主窗口"w_test",将title设置为"Test Window"
③在application的Open事件中加入如下代码:
ulong ulng_winhandle
ulng_winhandle = FindWindowA( 0,"Test Window" )
If ulng_winhandle > 0 Then
BringWindowToTop( ulng_winhandle )
ShowWindow( ulng_winhandle, 5 )
Return
End If
Open( w_test )
[注]FindWindow()函数
说明: | 寻找窗口列表中第一个符合指定条件的顶级窗口。 |
返回值: | ulong,找到窗口的句柄,如未找到相符窗口,则返回零。 |
参数 | 类型及说明 |
winhandle | String,指向包含了窗口类名的空中止(C语言)字串的指针;或设为零,表示接收任何类。 |
wintitle | String,指向包含了窗口文本(或标签)的空中止(C语言)字串的指针;或设为零,表示接收任何窗口标题。 |
说明: | 将指定的窗口带至窗口列表顶部。倘若它部分或全部隐藏于其他窗口下面,则将隐藏的部分完全显示出来。该函数也对弹出式窗口、顶级窗口以及MDI子窗口产生作用。 |
返回值: | ulong,非零表示成功,零表示失败。 |
参数 | 类型及说明 |
hwnd | ulong,欲带至顶部的那个窗口的句柄。 |
说明: | 控制窗口的可见性。 |
返回值: | ulong,如窗口之前是可见的,则返回TRUE(非零),否则返回FALSE(零)。 |
参数 | 类型及说明 |
winhandle | ulong,窗口句柄,要向这个窗口应用由wincommand指定的命令。 |
wincommand | integer,为窗口指定可视性方面的一个命令。请用下述任何一个常数 |
0 | 隐藏窗口,活动状态给另一个窗口。 |
1 | 用原来的大小和位置显示一个窗口,同时令其进入活动状态。与9同。 |
2 | 最小化窗口,并将其激活 |
3 | 最大化窗口,并将其激活。 |
4 | 用最近的大小和位置显示一个窗口,同时不改变活动窗口。 |
5 | 用当前的大小和位置显示一个窗口,同时令其进入活动状态。 |
6 | 最小化窗口,活动状态给令一个窗口。 |
7 | 最小化一个窗口,同时不改变活动窗口。 |
8 | 用当前的大小和位置显示一个窗口,不改变活动窗口。 |
9 | 用原来的大小和位置显示一个窗口,同时令其进入活动状态。 |
相关文章推荐
- .Net中如何限制执行程序只能运行一次和如何读写注册表
- 如何限制应用程序只运行一次
- 使应用程序只能运行一次,第二次运行显示上次程序
- 转:限制应用程序运行一次并激活已经运行的程序 .
- ios开发应用程序,如何限制只能竖屏展示?旋转横屏后界面无变化
- 突破ThinkPad电脑只能运行一次Create Product Recovery Media的限制
- ios开发应用程序,如何限制只能竖屏展示,旋转横屏后界面无变化
- Windows 7如何限制运行特定的应用程序(转载)
- .NET限制程序一次只能运行一个实例
- 如何用Qt写一个同一时间只能运行一个实例的应用程序
- 限制应用程序运行一次并激活已经运行的程序
- 如何用Qt写一个同一时间只能运行一个实例的应用程序
- 如何限制C#程序只能运行单个实例?
- C# 训练场(五)如何保证应用程序只运行一次(只开一个窗口)
- 如何让MFC程序只能运行一个?
- 如何限制数据窗口的某列只能输入数字及符号 -
- 如何让MFC编写的应用程序(用VC6.0开发)能在别的电脑上运行
- 【小工具】windows进程限制工具,可以限制其它软件只能运行一个 最新版本V1.2.0
- 当不可信小应用程序或应用程序在 Web 浏览器中运行时,我应当如何控制?
- 从一次输入框无法输入的bug,谈如何限制输入框输入类型