当前位置:首页 » 网页前端 » 检测程序关闭自动打开脚本
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

检测程序关闭自动打开脚本

发布时间: 2022-02-26 07:22:38

Ⅰ 怎样用VBS脚本写一个使程序关闭并又自动开启

=========VBS团队=========
拿记事本为例:
Set a=WScript.CreateObject("WScript.Shell")
a.Run "notepad"
这就运行了记事本,不保存关闭就是
a.SendKeys " %{f4}"
WScript.Sleep 50
a.SendKeys "{tab}"
WScript.Sleep 50
a.SendKeys "{enter} "

如果还要打开一个空记事本:
Set b=WScript.CreateObject("WScript.Shell")
b.Run "notepad"
第二个建立起来的记事本就没有了第一个记事本的内容。
如果需要第一个记事本的内容,就不能真正意义上的关闭,应该是隐藏到后台,需要的时候在调用出来:
这个是一个后台音乐播放器隐藏代码(记事本隐藏根本看不到,也听不到所以用这个给你演示)
strComputer = "."
Set f=CreateObject("Wscript.Shell")
f.Run("wmplayer.exe d:\123.mp3"),0
wscript.sleep 100
Set objWMIService = GetObject _
("winmgmts:\\" & strComputer & "\root\cimv2")
Set colProcessList = objWMIService.ExecQuery _
("Select * from Win32_Process Where Name = wmplayer.exe ")
For Each objProcess in colProcessList
objProcess.Terminate()
Next
如果不明白就追问
=========VBS团队=========

Ⅱ bat运行某个程序。 如果检测到程序正在运行就跳过直接关闭bat bat里有2个start

@echooff
tasklist|findstr/i/c:"1.exe"&&exit
start1.exe
start2.exe

Ⅲ 检测到软件关掉后自动重新开启的批处理

Setws=CreateObject("Wscript.Shell")
ws.run"cmd/cd:重启.bat",vbhide
以上另存为vbs格式

taskkill|findstr"test.txt"||start"""d: est.txt"
ping-n10127.1>nul
%0
上面的存为重启.bat,放在d盘
运行vbs就可以了,后台运行该bat。其实你贴的代码并没有错。进程没运行时,它就会启动该进程

Ⅳ 请问如何用脚本实现检查某个进程是否退出然后自动重启它

#!/bin/sh RUNNING=`pgrep miniupnp` if [ -n "$RUNNING" ];then echo "program is running" else echo "starting miniupnpd" /etc/init.d/miniupnpd start fi命名为upnpd保存到/usr/bin/下面,然后运行crontab -e,加上下面一行代码* * * * * sleep 10;upnpd这样就是每十秒钟运行一下这个脚本,检查进程是否存在

Ⅳ 按键精灵 检测某个程序是否关闭 怎么做 比如 检测到某个程序(游戏)关闭 自动执行关机

如同检测某个窗口的句柄一样,当句柄大于0表示程序开启,否则表示关闭了。

Ⅵ 如何在关闭某个程序的时候自动运行bat文件

我推荐的方法
::=================================
@echo off
start /wait "" ""
::第二个双引号中写游戏路径,要完整的哦。第一个双引号中什么也不要。
:::::::::::::::::::::::::::::::下面就是你要执行的BAT文件的代码了:::::::::::::::::::::::::::::::::
::这里写代码
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::=================================
这个bat的意思是,打开某个游戏,并等待它结束,就是说你关闭此游戏的时候,他才执行下面的代码,可以实现你的要求,还有一种方法是用taskkill配合FIND命令监视进程,不过这种命令占用系统资源较大,反应比较迟钝(因为需要不间断反复的判断某个进程是否存在,如果运气差的话会有延迟)
除此以外,BAT中没有更好的方法了,除非调用VBS等外部脚本。(原理也是监视进程,不过VBS可以隐藏,具有美观性,其他方面与上述第二种方法差不多)

Ⅶ 如何实现 检测某个软件是否运行,如果这个软件被关闭掉了,自动再打开它

ctri+shift+esc
出现任务管理器。
在哪里可以做到的。
可以看到每一个程序的运行状态。

Ⅷ 求一个检测进程A如果关闭就自动运行指定程序然后关闭的批处理写法

(非win7系统的话把timeout 10改成ping 127.1 -n 10)

@echo off
:start
set name=aexplorer.exe
tasklist | find /i "%name%">nul
if "%errorlevel%"=="0" (
echo 发现 %name% &echo.
pause
) else (
echo 未发现 %name%, 10sec后继续
timeout 10&cls
goto start
)

Ⅸ 求一个bat代码能检测某程序运行然后关闭某程序

我觉得用VBS来做非常合适,没有隐藏窗口,而且编程方便,而且双击就能运行,无需任何翻译。

你把打开记事本,粘贴下面的代码,保存为一个VBS文件(例如XXX.VBS),然后鼠标双击,就能达到你的效果:

Dim WshShell, url
Set WshShell = WScript.CreateObject("WScript.Shell")
while true
WshShell.Run "taskkill /im notepad.exe"
WScript.Sleep 10000
wend

注意,上面的程序的是每10秒就关闭记事本,如果你需要关闭其它程序,请修改对应的行,如果需要关闭多个不同的程序,可以把此行复制多次修改即可。

Ⅹ vb进程监控代码,程序关闭关闭后自动打开

添加一个Timer (Timer1) 和 一个按钮(Command1),然后添加以下代码.看看你还能不能打开窗口标题包含 计算 和 记事 的程序.

Option Explicit
Private Declare Function GetDesktopWindow Lib "user32" () As Long
Private Declare Function GetWindow Lib "user32" (ByVal hwnd As Long, ByVal wCmd As Long) As Long
Private Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Private Const WM_CLOSE = &H10
Private Const GW_CHILD = 5
Private Const GW_HWNDNEXT = 2
Private Handle As Long
'监视包含文字的数量。
Dim CloseCX(1) As String

Private Sub Command1_Click()
If Command1.Caption = "开始监视" Then
Timer1.Enabled = True
Command1.Caption = "暂停监视"
Else
Command1.Caption = "开始监视"
Timer1.Enabled = False
End If
End Sub

Private Sub Form_Load()
me.visable=falsh
Timer1.Enabled = False
Timer1.Interval = 1000
Command1.Caption = "开始监视"
'监视包含以下文字的窗口。
CloseCX(0) = "计算"
CloseCX(1) = "记事"
End Sub

'该函数用来取得系统中所有打开的窗口
Public Function GetAllWindows() As Long
'用来保存窗口的句柄
Dim hwnd As Long
Dim Fx As Integer
'取得桌面窗口
hwnd = GetDesktopWindow()
'取得桌面窗口的第一个子窗口
hwnd = GetWindow(hwnd, GW_CHILD)

Dim strTitle As String * 255 '用来存储窗口的标题
'通过循环来枚举所有的窗口
Do While hwnd <> 0
'取得下一个窗口的标题
GetWindowText hwnd, strTitle, Len(strTitle)
If Left$(strTitle, 1) <> vbNullChar Then

For Fx = 0 To UBound(CloseCX, 1)
If InStr(Left$(strTitle, InStr(1, strTitle, vbNullChar)), CloseCX(Fx)) > 0 Then '检查是否包含定义的字符
Handle = FindWindow(vbNullString, Left$(strTitle, InStr(1, strTitle, vbNullChar)))
PostMessage Handle, WM_CLOSE, 0, 0 '如果包含 发送关闭命令.
End If
Next
End If
'调用GetWindow函数,来取得下一个窗口
hwnd = GetWindow(hwnd, GW_HWNDNEXT)
Loop
End Function

Private Sub Timer1_Timer()
Call GetAllWindows
End Sub