goodylq 发表于 2010-10-9 00:28:19

如何让程序在后台静默运行,不弹出窗口

学校的网络需要申请出校,有个软件,可以自动填表运行,但是成功或者失败都会弹出一个窗口,
希望能有高手帮忙,做到以下效果,
后台运行,不出现填表的界面,弹出的窗口也在后台确认后消失。
{:face (382):}先谢过各位达人

nmgwddj 发表于 2010-10-9 05:52:06

这个估计不太可能。但是可以把窗口改成透明

zps26 发表于 2010-10-9 10:31:44

先用WinGetHandle 获取软件程序窗口句柄,再用WinSetState 隐藏程序,再用_WinAPI_EnumChildWindowS枚举运行软件程序中的各个窗口句柄,实现后台填写,弹出的窗口,可用_WinAPI_EnumWindows枚举得到句柄,并发送确定命令。

goodylq 发表于 2010-10-10 00:43:19

{:face (245):}我是初学者,对WinAPI还不了解。
慢慢研究下,看看可行不。

goodylq 发表于 2010-10-10 08:21:20

本帖最后由 goodylq 于 2010-10-10 08:24 编辑

If WinExists("USTS-jf Client V1.0.6") Then
        WinSetState("USTS-jf Client V1.0.6","",@SW_HIDE)
    WinActivate("USTS-jf Client V1.0.6")
    winwaitactive("USTS-jf Client V1.0.6")
    ControlSetText("","","","yc10042740")
    ControlSetText("","","","****")
    ControlSetText("","","","60")
        ControlCommand("","","","Check","")
    ControlSend("","","","{SPACE}")
        WinWait("信息")
        WinClose("信息")
        WinSetState("USTS-jf Client V1.0.6","",@SW_HIDE)
        WinActivate("USTS-jf Client V1.0.6")
    winwaitactive("USTS-jf Client V1.0.6")
    ControlSetText("","","","yc10042740")
    ControlSetText("","","","****")
    ControlSetText("","","","60")
    ControlCommand("","","","Check","")
    ControlSend("","","","{SPACE}")
        WinWait("校园网计费客户端")
    WinKill("校园网计费客户端","")
Else
Run("jfc.exe")
WinSetState("USTS-jf Client V1.0.6","",@SW_HIDE)
WinActivate("USTS-jf Client V1.0.6")
winwaitactive("USTS-jf Client V1.0.6")
ControlSetText("","","","yc10042740")
ControlSetText("","","","****")
ControlSetText("","","","60")
ControlCommand("","","","Check","")
ControlSend("","","","{SPACE}")
WinWait("校园网计费客户端")
WinKill("校园网计费客户端","")
EndIf
Exit
现在软件窗口已经隐藏了,后台运行,就剩下弹出的需要确认的窗口。
请问各位高手,这个脚本里,如何让弹出的“信息”窗口和"校园网计费客户端"不出现???这两个窗口都只是仅有确认键。
页: [1]
查看完整版本: 如何让程序在后台静默运行,不弹出窗口