VB程序放在服务器上自动运行
发布网友
发布时间:2023-07-17 10:14
我来回答
共5个回答
热心网友
时间:2023-07-22 21:38
看我的方法行不行?
运行时请在text1中给定时器赋值,两个小时就是输入 120 就可以了单位默认是分了
还有请在text2中输入"notepad.exe"不包括引号,因为我不知道你的程序进程映像名称是什么,这里暂时用记事本来代替你的程序来演示到时请输入你的程序的映像名称就得了.
你试着运行是不是循环在你设定的时间到后,记事本打开三秒后就又关闭了.
运行成功后,你就可以根据你的实际需要改源代码了.需要什么改你看下面的代码完就知道了有不明白的M我.呵呵!
Dim k%, c%, prowin As String
Private Sub Command1_Click()
prowin = Text2.Text '该文本框输入你的进程的映像名称,任务管理器可以找到包括扩展名格式像上面一样要正确
Timer1.Interval = Val(Text1.Text) * 60 * 1000 '设定TEXT1文本框的单位为分,即设定你的程序多长时间运行一次的时间间隔
End Sub
Private Sub Form_Load()
Timer1.Enabled = True
Timer2.Enabled = True
End Sub
Private Sub Timer1_Timer()
Timer2.Enabled = True
Timer2.Interval = 3000 '设定你的程序要在服务器上的运行的时间长短,这里是三秒此值必须少于timer1.interval的值也可以根据需要修改
k = Shell("C:\WINDOWS\system32\notepad.exe", 1) '这里写入你自己写的可执行文件的路径
c = Shell("cmd.exe", 1) '运行控制台窗口
prowin = "taskkill /im " & prowin '控制台下的一个可以结束进程的命令
End Sub
Private Sub Timer2_Timer()
AppActivate c '通过句柄激活控制台
SendKeys (prowin)
SendKeys ("{enter}")
AppActivate c '通过句柄激活控制台
SendKeys ("exit") '退出控制台
SendKeys ("{enter}")
Timer2.Enabled = False
End Sub
整个程序的关键是当前活动窗口,所以激活控制台的语句不能省.
运行程序后把它最小化到系统托盘就可以了,你自己设计一个msgbox来提示当前操作计算机的用户当倒计时接近的时候暂停操作计算机多少秒,让程序取得当前
的操作权(暂停多长取决于你程序要运行多少时间,也就是Timer2.Interval的值)
呵呵注释多了点就写这么多了.
热心网友
时间:2023-07-22 21:39
写到计划任务里或写到注册表自启动项里
服务器上可以不装VB吧?
可以,但是程序打包的时候一定不要忘记把用到的VB环境(那几个DLL),用到的控件都打进去,并且要注册到服务器上
这个程序是要每隔一段时间(一两个小时)运行一次的
我认为,你的程序应该跟服务器的系统启动,一直运行.设置一个Time控件,隔几分钟检测系统时间,跟上次检测的时间比较(有函数,可以计算出相差多长时间),到了设定的间隔就CALL一下相应函数,执行代码
热心网友
时间:2023-07-22 21:39
用系统自带的任务计划或是在程序中加上定时器,再把程序拖放到启动菜单里面或是写进注册表 每次启动电脑就自动运行程序,当时间到时就自动运行需要的部分
热心网友
时间:2023-07-22 21:40
拖到"开始"菜单里的"启动"里,就行了,俺就是那么做的,开机就启动.
热心网友
时间:2023-07-22 21:40
服务器是个啥玩意?