以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]调用操作系统计算器的调用与关闭  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=46059)

--  作者:红颜
--  发布时间: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编辑过]

--  作者:狐狸爸爸
--  发布时间: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
--  发布时间: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编辑过]

--  作者:红颜
--  发布时间: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


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



--  作者:有点甜
--  发布时间:2014/2/17 19:38:00
--  
 回复4楼,请上例子。
--  作者:wzl1990
--  发布时间: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