| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2055 人关注过本帖
标题:如何让可执行程序只运行一次?
取消只看楼主 加入收藏
jyq012
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2006-8-2
收藏
 问题点数:0 回复次数:4 
如何让可执行程序只运行一次?

本人想设计一个定时运行程序,在规定时间启动notepad.exe
设计部分程序如下:
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick

Dim strPath As String
Dim ProcID As Integer

if ...(在规定时间)
strPath = System.Windows.Forms.Application.StartupPath
ProcID = Shell(strPath & "\notepad.exe", AppWinStyle.NormalFocus, True, 1)
endif

End Sub

可是一到规定时间notepad.exe运行就没完没了,如何让其只运行一次?

搜索更多相关主题的帖子: 执行程序 notepad strPath System exe 
2006-08-02 13:58
jyq012
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2006-8-2
收藏
得分:0 
我改为选择工具箱中的COMPONENTS目录下的TIMER,还是运行9次。
if语句是我需要在一个外部文件设定的时间启动,通过读入这个时间来判断,所以就用了if语句。

[此贴子已经被作者于2006-8-2 19:29:41编辑过]


2006-08-02 19:29
jyq012
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2006-8-2
收藏
得分:0 

整个程序是这样的:
Private Sub Timer1_Elapsed(ByVal sender As System.Object, ByVal e As System.Timers.ElapsedEventArgs) Handles Timer1.Elapsed
Dim strhh, systemhour, systemminute, systemsecond As String
Dim h1 As Integer
Dim strPath As String
Dim line1, line2 As String
Dim hour1, minute1 As String
Dim hour2, minute2 As String
Dim ProcID As Integer

strhh = TimeString '系统时间:如:15:25:45
systemhour = Mid(strhh, 1, 2)
systemminute = Mid(strhh, 4, 2)
systemsecond = Mid(strhh, 7, 2)

'读入启动系统的时间
strPath = System.Windows.Forms.Application.StartupPath
Dim file1 As System.IO.StreamReader = New System.IO.StreamReader(strPath & "\BootTime.txt")

line1 = file1.ReadLine() ' "11:50"
line2 = file1.ReadLine()
file1.Close()
hour1 = Mid(line1, 2, 2)
minute1 = Mid(line1, 5, 2)
hour2 = Mid(line2, 2, 2)
minute2 = Mid(line2, 5, 2)
'判断是否到启动的时间
'TextBox1.Text = systemhour
'ProcID = 0
TextBox1.Text = ProcID


If (systemhour = hour1 And systemminute = minute1) Or (systemhour = hour2 And systemminute = minute2) Then
If systemsecond = "01" then
ProcID = Shell(strPath & "\notepad.exe", AppWinStyle.NormalFocus, True, 1)
End If
End If


End Sub


2006-08-02 19:32
jyq012
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2006-8-2
收藏
得分:0 
谢谢楼上的各位,我改了timer 的interval间隔为1000确实就可以了。但请问adair:其它方法的思路能否讲一下?
还有ver的回答:我的程序是不能结束的,因为是一个定时程序,必须24小时都在运行。
chenjin145的方法我还看不懂,对vb.net还不是很熟,我慢慢研究一下看是否可行。
谢谢!!!!

2006-08-04 22:39
jyq012
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2006-8-2
收藏
得分:0 

利用ver提供的程序做了启动主窗口的判断,不错。谢谢


2006-08-06 20:33
快速回复:如何让可执行程序只运行一次?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020846 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved