Foxtable(狐表)用户栏目专家坐堂 → [求助]调用操作系统计算器的调用与关闭


  共有3866人关注过本帖树形打印复制链接

主题:[求助]调用操作系统计算器的调用与关闭

帅哥哟,离线,有人找我吗?
红颜
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:254 积分:1963 威望:0 精华:0 注册:2013/2/6 19:09:00
[求助]调用操作系统计算器的调用与关闭  发帖心情 Post By:2014/2/16 15:40:00 [只看该作者]

Dim proc As new process
proc.file ="calc.exe"
proc.start()

上段代码为打开计算器,如何禁止重复打开?

思路1:如果已打开,禁止重复打开,最好如此
思路2:如果已打开,先关闭后再打开
上端代码是打开了计算器进程
使用下面代码,提示错误
Dim proc As new process
proc.file ="calc.exe"
proc.Close()

使用别的代码,依然不成功,点击按钮时继续打开计算器
If FileIsOpened("calc.exe")= True Then
    Return
Else
    Dim proc As new process
    proc.file ="calc.exe"
    proc.start()
End If

直接到计算器根目录,依然不成
If FileIsOpened("C:\WINDOWS\system32\calc.exe")= True Then
    Return
Else
    Dim proc As new process
    proc.file ="calc.exe"
    proc.start()
End If
[此贴子已经被作者于2014-2-16 16:54:49编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2014/2/17 11:09:00 [只看该作者]

1、正常启动:

Dim proc As new process
proc.file ="calc.exe"
proc.start()

 

 

2、关闭换个方式:

http://www.foxtable.com/help/topics/2713.htm

 

关闭的方法包括避免重复打开的方法。


 回到顶部
帅哥哟,离线,有人找我吗?
lsy
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2014/2/17 11:18:00 [只看该作者]

以下是引用狐狸爸爸在2014-2-17 11:09:00的发言:

1、正常启动:

Dim proc As new process
proc.file ="calc.exe"
proc.start()

 

 

2、关闭换个方式:

http://www.foxtable.com/help/topics/2713.htm

 

关闭的方法包括避免重复打开的方法。

简单又好用:

 

Dim proc As New process
proc.File ="calc.exe"
proc.Start()
ShowAppWindow("计算器", 5)

 

或者:

If ShowAppWindow("计算器",1) = False Then
    Dim Proc As New Process
    Proc.File = "calc.exe"
    Proc.Start
End If

[此贴子已经被作者于2014-2-17 11:21:31编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
红颜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:254 积分:1963 威望:0 精华:0 注册:2013/2/6 19:09:00
  发帖心情 Post By:2014/2/17 11:44:00 [只看该作者]

以下是引用狐狸爸爸在2014-2-17 11:09:00的发言:

1、正常启动:

Dim proc As new process
proc.file ="calc.exe"
proc.start()

 

 

2、关闭换个方式:

http://www.foxtable.com/help/topics/2713.htm

 

关闭的方法包括避免重复打开的方法。


If ShowAppWindow("订单.XLS",1) = False Then
    Dim 
Proc As New Process
    
Proc.File = "C:\data\订单.xls"
    
Proc.Start
End If


按上面的例子做了,依然不起作用



 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/2/17 19:38:00 [只看该作者]

 回复4楼,请上例子。

 回到顶部
帅哥哟,离线,有人找我吗?
wzl1990
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:72 积分:755 威望:0 精华:0 注册:2017/10/25 9:48:00
  发帖心情 Post By:2018/3/19 17:58:00 [只看该作者]

只能开启一个计算器的脚本:

Dim Proc As New Process
Proc.File = "calc.exe"
Proc.Start
If ShowAppWindow("计算器",5) = False Then   
End If

点击开启,点击关闭计算器的脚本:

Dim count As Double =1
Dim Proc As New Process
If ShowAppWindow("计算器",1) = False Then
    count=0
End If
If count Mod 2 = 0 Then
    Proc.File = "calc.exe"
    Proc.Start
    ShowAppWindow("计算器",5)
    messagebox.show(count)
Else
    ShowAppWindow("计算器",5)
    messagebox.show(count)
End If


 回到顶部