zoukankan      html  css  js  c++  java
  • VBS调用windows api函数(postmessage)实现后台发送按键脚本

    '==========================================================================
    '
    ' VBScript Source File -- Created with SAPIEN Technologies PrimalScript 4.0
    '
    ' NAME:
    '
    ' AUTHOR: Microsoft , Microsoft
    ' DATE : 2014/8/10
    '
    ' COMMENT:
    '
    '===================定义变量,注册API对象==================================
    Dim UserWrap,hWnd

    Set UserWrap = CreateObject("DynamicWrapper")
    Set ws=WScript.CreateObject("wscript.shell")

    WScript.Sleep 500

    ws.Run "calc",0

    WScript.Sleep 500

    'Declare Function ShowWindow Lib "user32" Alias "ShowWindow" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
    UserWrap.Register "USER32.DLL", "ShowWindow", "I=hl", "f=s", "R=l"

    'Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

    UserWrap.Register "USER32.DLL", "FindWindow", "I=ss", "f=s", "R=l"

    'Declare Function SetWindowPos Lib "user32" Alias "SetWindowPos" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long

    UserWrap.Register "USER32.DLL", "SetWindowPos", "I=Hllllll", "f=s", "R=l"

    'Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any)
    UserWrap.Register "USER32.DLL", "PostMessage", "I=hlls", "f=s", "R=l"

    'Declare Function SetWindowText Lib "user32" Alias "SetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String) As Long
    UserWrap.Register "USER32.DLL", "SetWindowText", "I=Hs", "f=s", "R=l"

    'Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
    UserWrap.Register "USER32.DLL", "FindWindowEx", "I=llss", "f=s", "R=l"

    'Declare Function SetCursorPos Lib "user32" (ByVal X As Long, ByVal Y As Long) As Long

    UserWrap.Register "USER32.DLL", "SetCursorPos", "I=ll", "f=s", "R=l"

    '===================查找控件或者窗体句柄===============================


    hWnd = UserWrap.FindWindow(vbNullString,"计算器")
    'hWnd = UserWrap.FindWindow("kugou_ui",vbNullString)

    hWnd1 = UserWrap.FindWindowEx(hWnd,0,vbNullString,Edit)

    'UserWrap.ShowWindow hWnd,SW_HIDE

    'UserWrap.SetWindowText hWnd,"hello world"

    ' MsgBox hWnd
    ' MsgBox hWnd1

    'UserWrap.SetWindowPos hWnd, -1, 0, 0, 0, 0, 3

    'MsgBox "将鼠标移到左上角"


    'UserWrap.SetCursorPos 0,0


    '=================定义系统常量===========================

    Private Const WM_KEYDOWN = &H100
    Private Const wm_keyup= &H101
    Private Const WM_CHAR = &H102
    Public Const WM_SYSKEYDOWN = &H104
    Public Const WM_SYSKEYUP = &H105

    '=================发送F1按键=====================
    UserWrap.PostMessage hWnd, WM_KEYDOWN, 112, 0

    '=================发送1002========================
    UserWrap.PostMessage hWnd,WM_KEYDOWN ,97,0
    UserWrap.PostMessage hWnd,WM_KEYDOWN ,96,0
    UserWrap.PostMessage hWnd,WM_KEYDOWN ,96,0
    UserWrap.PostMessage hWnd,WM_KEYDOWN ,98,0

  • 相关阅读:
    jquery-ui.min.js:5 Uncaught TypeError: b.nodeName.toLowerCase is not a function
    HTTP::Request
    LWP::UserAgent
    perl json模块
    perl 处理perl返回的json
    perl中 wx返回的json需要encode_utf8($d);
    perl malformed JSON string, neither tag, array, object, number, string or atom, at character offset
    encode_json 会对给定的Perl的数据结构转换为一个UTF-8 encoded, binary string.
    为什么出现Wide character in print at a14.pl line 41
    perl encode_json 会产生 UTF-8 (binary) string decode_json 需要一个 UTF-8 (binary) string
  • 原文地址:https://www.cnblogs.com/jinjiangongzuoshi/p/3905773.html
Copyright © 2011-2022 走看看