zoukankan      html  css  js  c++  java
  • PAIP。JS调用DLL的解决方案

    PAIP。JS调用DLL的解决方案 




    作者Attilax ,  EMAIL:1466519819@qq.com 
    来源:attilax的专栏
    地址:http://blog.csdn.net/attilax






    1.使用COM对象APIWARPPER.DLL...
    --------------------------------
    先注册.
    regsvr32 ApiWrapper.dll




    然后...






    const MAX_CLASS_NAME=260


    Set fn = CreateObject("ApiWrapper")
    fn.DllImport "user32","RealGetWindowClassA","r=l|f=s|i=lpl"
    fn.DllImport "user32","FindWindowExA","f=s|r=l|i=llss"
    fn.DllImport "user32","IsWindow","f=s|r=l|i=l"
    fn.CScriptMode






    szClass=fn.ArrayCreate(MAX_CLASS_NAME)








    Function JumpWeb
    dim hwnd:hwnd=0
    do
    hwnd=fn.FindWindowExA(0,hwnd,0,0)
    if hwnd=0 then exit do

    r=fn.RealGetWindowClassA(hwnd,szClass,MAX_CLASS_NAME)
    if fn.A2W(szClass)="IEFrame" then
    WScript.Echo hwnd & "=" & fn.IsWindow(hwnd)
    end if
    loop
    End Function




    do
    WScript.Echo "----------------------------"
    JumpWeb
    WScript.Sleep 1000
    loop








    '*********************** f 的定义(函数调用约定) *****************************************
    '     m -> DC_MICROSOFT      b -> DC_BORLAND
    '     s -> DC_CALL_STD       c -> DC_CALL_CDECL
    '     4 -> DC_RETVAL_MATH4   8 -> DC_RETVAL_MATH8
    '*********************** i 和 r 的定义(参数类型) ****************************************
    '     c -> signed char    t -> short          s -> string        w -> wide string 
    '     l -> long           u -> unsigned int   f -> 4 byte real   d -> 8 byte real
    '     h -> HANDLE         p -> PVOID          a -> IDispatch*    k -> IUnknown* or PVOID
    '****************************************************************************************


    Set fn = CreateObject("ApiWrapper")
    fn.DllImport "user32","MessageBoxW","r=l|f=s|i=lwwl"
    fn.DllImport "user32","MessageBoxA","f=s|r=l|i=lssl"


    WScript.Echo fn.Help


    msg = "Hello world !"


    if 1=fn.MessageBoxW(0,msg,3.14 ,1) then fn.MessageBoxA 0,msg,0,0




    2.通过CLI接口调用AHK的DllCall
    --------------------------------------









  • 相关阅读:
    (005)Linux 复制命令cp总提示是否覆盖的解决方法,在cp前加
    (030)Spring Boot之RestTemplate访问web服务案例
    Gym
    Gym
    Gym.102006:Syrian Collegiate Programming Contest(寒假自训第11场)
    BZOJ-5244 最大真因数(min25筛)
    HDU
    HDU 1272 小希的迷宫(并查集)
    HDU 3038 How Many Answers Are Wrong(带权并查集)
    POJ 1182 食物链(带权并查集)
  • 原文地址:https://www.cnblogs.com/attilax/p/15199616.html
Copyright © 2011-2022 走看看