vbs/QTP进程/任务栏操作

来源:互联网 发布:java random.nextint 编辑:程序博客网 时间:2024/06/05 13:30

==========以下为:关闭进程====================================================

方法1(vbs):

sub Close_Process(ProcessName)  
On Error Resume Next  
     for each ps in getobject("winmgmts:\\.\root\cimv2:win32_process").instances_ 
           if Ucase(ps.name)=Ucase(ProcessName) then  
                 ps.terminate  
           end if  
     next  
end sub  
Close_Process("notepad.exe")

 

方法2(vbs):

CreateObject("wscript.shell").Run("taskkill /FI " & chr(34) & "imagename eq FM* " & chr(34) & " /F")
CreateObject("wscript.shell").Run("taskkill /FI " & chr(34) & "imagename eq mysqlserver.exe" & chr(34) &" /F")
CreateObject("wscript.shell").Run("taskkill /FI " & chr(34) & "imagename eq  javawebserver.exe" & chr(34) &" /F")

 

==========以下为:关闭程序====================================================

方法1(QTP):

Function CloseAllProgram()
   Set MyDescription = Description.Create()
   set TaskNames = desktop.ChildObjects(MyDescription)
   NoOfTaskNames = TaskNames.Count

   For Counter=1 to NoOfTaskNames-1
    TaskTitle = TaskNames(Counter).getroproperty("text")
    If left(TaskTitle,2) = "HP" or left(TaskTitle,15) = "1Program Manager" or TaskTitle = "" Then
        print Counter & " :保留-- " & TaskNames(Counter).getroproperty("text")
    else
    '这种方式关闭的浏览器会停留在退出确认界面
    'a(Counter).close
    print Counter & " :关闭 -- " & TaskNames(Counter).getroproperty("text")
    systemutil.CloseProcessByWndTitle (TaskNames(Counter).getroproperty("text"))
    End If
   Next

end function

 

方法2(VBS):

sub CloseProgram(MyPro)
    'wscript.sleep 1000
    Set objWord = CreateObject("Word.Application")
    Set colTasks = objWord.Tasks
    for each colTask in colTasks
        if left(colTask.name,len(MyPro)) = MyPro then
            colTask.close
            wscript.sleep 200  
        end if
    next
    objWord.Quit
end sub

CloseProgram "HP"

 

方法3(VBS):

sub CloseWin1(TaskName)
    Set objWord = CreateObject("Word.Application")
    Set colTasks = objWord.Tasks


     If colTasks.Exists(TaskName) Then
         colTasks(TaskName).close
     end if
   
    objWord.Quit
end sub


sub CloseWin2(TaskName)
    Set objWord = CreateObject("Word.Application")
    Set colTasks = objWord.Tasks
   
    for each colTask in colTasks
        if colTask.name= TaskName then
            colTask.close
        end if
    next

    objWord.Quit
end sub


 

==========窗口最大化=======================

方法1(VBS):

Const WM_SYSCOMMAND=&H112
Const SC_MAXIMIZE=&HF030&
Const lpWinTitle1="license - Mozilla Firefox"
Const lpWinTitle2="正在打开 license.dat"


Function SendMessage(lpWinTitle,wMsg,wParam,lParam)
Dim WordApp
Dim ShApp,colTask,oTask
Set WordApp=CreateObject("Word.Application")
Set  colTask=wordapp.Tasks
SendMessage=False
For Each oTask In colTask
If oTask.Visible And InStr(oTask.Name,lpWinTitle) Then
oTask.SendWindowMessage wMsg,wParam,lParam
SendMessage=true
Exit For
End If
Next
WordApp.Quit
Set WordApp=Nothing
End Function

'最大化任务栏中名为ios的应用程序
SendMessage "iso",WM_SYSCOMMAND,SC_MAXIMIZE,0
SendMessage lpWinTitle1,WM_SYSCOMMAND,SC_MAXIMIZE,0
SendMessage lpWinTitle2,WM_SYSCOMMAND,SC_MAXIMIZE,0

方法2(VBS):

参考:

打开右下角状态区的程序QQ/显示QQ列表

 

方法3:

' 如果窗口为最小化时,则不会恢复窗口,只是激活而已。
set ws = createObject("wscript.shell")
ws.appactivate "1.txt" 

 

 

 

0 0