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
    --------------------------------------









  • 相关阅读:
    使用ant部署web项目
    搭建ant环境
    Myeclipse8.5,9.0安装svn插件
    自定义任务扩展 ANT
    使用jmeter测试 webservice
    随机数猜1-9的数字
    线性表
    显示所有线性元素
    新学到的继承链
    计算圆
  • 原文地址:https://www.cnblogs.com/attilax/p/15199616.html
Copyright © 2011-2022 走看看