vbs如何隐藏正在运行的a.exe程序的窗口?

vbs如何隐藏正在运行的a.exe程序的窗口?,第1张

有几种方法可以用vbs隐藏正在运行的a.exe程序的窗口。其中一种方法是使用CreateObject函数和Wscript.Shell对象来运行a.exe,并将第二个参数滚和设置为0,表示隐藏窗口。例如:

CreateObject("Wscript.Shell").Run "a.exe",0,True

另一种方法是使用SendKeys函数和Alt+Space组合键来最小化a.exe的窗口。例如:

Set WshShell = WScript.CreateObject("WScript.Shell") WshShell.Run "a.exe" WScript.Sleep 100 WshShell.SendKeys "% n"

CreateObject函数是用来创建一个对象的,比如Wscript.Shell对象。Wscript.Shell对象可以用来执行命令行程序或脚本。Run方法是Wscript.Shell对象的一个方法,它可以用来运行一个程序或脚本,并指定窗口样式和是否等待程序结束。大悔盯Run方法的语法是:

object.Run(strCommand, [intWindowStyle], [bWaitOnReturn])

其中,object是一个Wscript.Shell对象,strCommand是要运行的程序或脚本的名称,intWindowStyle是一个可选参数,表示窗口样式,bWaitOnReturn也是一个可选参数,表示是否等待程序结束后再继续执行前拆脚本。

intWindowStyle参数可以取以下值:

0:隐藏窗口

1:正常窗口

2:最小化窗口

3:最大化窗口

bWaitOnReturn参数可以取以下值:

True:等待程序结束后再继续执行脚本

False:不等待程序结束就继续执行脚本

所以,如果你想用vbs隐藏正在运行的a.exe程序的窗口,并且等待它结束后再继续执行脚本,你可以使用这样的代码:

CreateObject("Wscript.Shell").Run "a.exe",0,True

如果你不想等待它结束,你可以使用这样的代码:

CreateObject("Wscript.Shell").Run "a.exe",0,False

SendKeys函数是用来模拟键盘输入的。你可以用它来发送一些组合键或快捷键来控制窗口。例如:

Set WshShell = WScript.CreateObject("WScript.Shell") WshShell.SendKeys "% n"

这段代码就是发送Alt+Space+N组合键,表示最小化当前活动窗口。

所以,如果你想用vbs最小化正在运行的a.exe程序的窗口,并且不等待它结束后再继续执行脚本,你可以使用这样的代码:

Set WshShell = WScript.CreateObject("WScript.Shell") WshShell.Run "a.exe" WScript.Sleep 100 WshShell.SendKeys "% n"

注意,在运行a.exe之后要加上一段延时(比如100毫秒),以确保a.exe已经启动并成为当前活动窗口。

希望对你有帮助。

用VBS代码进行Shell调用就可以了。

注意,不是隐藏已运行程序,而是以隐藏方式某个运行程序。

有点绕,但表述的很清颂判楚了。

例如,以隐藏方式运行Word的VBS代码:

createobject("wscript.shell").run "WinWord.exe",0

只要把上一行代码复制到记桥悉事本,然后保存为“Word.vbs",双击运行就可以了。

很多程序具有最小野消改化运行、系统托盘、后台静默运行,那都是开发这个软件儿的程序员设计的。与此话题无关。

版本

2

.子程序

隐藏进程,

逻辑型,

公开

.参数

pid,

整数型,

可空,

空为隐藏本进程,可输入其它进程PID

.局部变量

eprocess,

整数

.局部变量

hand,

整数型

.局部变量

temp,

字节

.局部变量

fw_,

长整数型

.局部变量

bw_,

长整数型

.局部变量

fw,

字节集

.局部变量

bw,

字节集

.如果

(是否为空

(pid))

hand

OpenProcess

(2075311,

0,

GetCurrentProcessId

())

eprocess

取进程EProcess

(GetCurrentProcessId

())

CloseHandle

(hand)

.否则

eprocess

取进程EProcess

(pid)

.如果结束

.如果真

(eprocess

0)

返回

(假)

.如果真结束

temp

读物理内存

(eprocess

136,

4)

.如果真

(temp

{

})

返回

(假)

.如果真结束

fw_

字节集数据

(temp,

#长整数型,

)

fw

temp

temp

读物理内存

(eprocess

140,

4)

.如果真

(temp

{

})

返回

(假)

.如果真结束

bw_

取字节集数据

(temp,

#长整数型,

)

bw

temp

.如果真

(写物理内存

(fw_

4,

bw)

-1)

返回

(假)

.如果真结束

.如果真

(写物理内存

(bw_,

fw)

-1)

返汪侍回

(假)

.如果真结束

返回

(真)

//读物理内存

.版本

2

.子程序

读物理内存,

字节集

.参数

地址,

长整数型

.参数

长度,

整数型,

,

<=4096

.局部变量

MEMORY_CHUNKS,

字节集

.局部变量

ret,

字节集

.局部变量

retlen,

整数型

ret

取空白字节集

(长度)

MEMORY_CHUNKS

取字节集左边

(到字节集

(地址),

4)

到字节集

(取指针_字节集

(ret,

ret,

0))

到字节集

(长度)

NtSystemDebugControl

(#SysDbgReadVirtualMemory,

MEMORY_CHUNKS,

12,

0,

0,

retlen)

'

12为MEMORY_CHUNKS的长度

.如果真

(retlen

0)

ret

{

}

.如果真结束

返回

(ret)

//写物理内存

.版本

2

.子程序

写物理内存,

整数型

.参数

地址,

长整数型

.参数

数据,

字节集,

,

<=4096

.局部变量

MEMORY_CHUNKS,

字节集

.局部变量

ret,

整数型

.局部变量

retlen,

整数型

.局部变量

len,

整数型

len

取字节集长度

(数据)

MEMORY_CHUNKS

取字节集左边

(到字节集

(地址),

4)

到字节集

(取指针_字节集

(数据,

数据,

0))

+悔陵信

到字节集

(len)

NtSystemDebugControl

(#SysDbgWriteVirtualMemory,

MEMORY_CHUNKS,

12,

0,

0,

retlen)

'

12为MEMORY_CHUNKS的长度

.如果真

(retlen

0)

ret

-1

.如果真结束

返回

(ret)

//取进程EProcess

.版本

2

.子程序

取进程EProcess,

长整数型

.参数

pid,

整数型

.局部变量

ret

.局部变量

信息块,

字节集

.局部变量

retlen

.局部变量

temp,

SYSTEM_HANDLE_INFORMATION

.局部变量

信息块指针偏移

.局部变量

number

.局部变量

结果,

长整数型

retlen

1

.循环判断首

()

信息块

取空白字节集

(retlen)

ret

ZwQuerySystemInformation

(#system_handle_infomation,

信息块,

retlen,

0)

.如果

(ret

#STATUS_INFO_LENGTH_MISMATCH)

retlen

retlen

×

2

信息块

取空白字节集

(retlen)

.否则

跳出循环

()

.如果结束

.循环判断尾

(ret

#STATUS_INFO_LENGTH_MISMATCH)

信息块指针偏移

取指针_字节集

(信息块,

信息块,

0)

RtlMoveMemory3

(number,

信息块指针偏移,

4)

信息块指针偏移

信息块指针偏移

4

.计次循环首

(number,

)

RtlMoveMemory2

(temp,

信息块指针偏移,

16)

.如果真

(pid

temp.ProcessId

temp.ObjectTypeNumber

5)

返回

(十六文本至长整数

(取十六进制文本

(temp.Object)))

.如果真结束

信息碧轮块指针偏移

信息块指针偏移

16

.计次循环尾

()

返回

(0)


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12371248.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-23
下一篇2023-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存