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
--------------------------------------
PAIP。JS调用DLL的解决方案相关推荐
- html css js调用dll,node调用dll 方法,及详细步骤
Node – Dll Node调用DLL 1.DLL介绍 DLL(Dynamic Link Library)文件为动态链接库文件,又称"应用程序拓展",是软件文件类型.在Windo ...
- Node.js 调用 dll动态库 以华旭身份证阅读器为例
需求来源 由于使用Electron使用开发桌面端,同时也需要连接硬件设备,单纯使用js方法无法完成,需要通过Node调用dll动态库方式完成. 版本说明: node v12.18.3 (32位) np ...
- html css js调用dll,js调用Activex的dll
$(document).ready(function() { document.getElementById("SetParaBtn").click(); });functionS ...
- Node.js调用C#代码
https://github.com/tjanczuk/edge 运行的时候会报 System.DllnotfoundException 无法加载node.dll,要把\packages\Edge.j ...
- node.js调用ejs模板,在浏览器上打印出ejs模板内代码的解决方案
2019独角兽企业重金招聘Python工程师标准>>> 今天遇到一个非常奇葩的问题,node.js调用ejs模板的时候,在浏览器端居然把此模板内的所有代码都打印出来了,当时我和我的小 ...
- Electron9.x_Vue_调用DLL库
本文主要介绍在 Electron9.x 中,使用ffi-napi,ref-array-napi,ref-napi 加载 Windows 动态链接库,并在Vue 渲染进程中使用.使用过程中会遇到一系列的 ...
- js调用后台方法与后台调用js方法
JS调用后台方法大全 javascript函数中执行C#代码中的函数: 方法一:1.首先建立一个按钮,在后台将调用或处理的内容写入button_click中; 2.在前台写一个js函数,内容为docu ...
- 转【C#调用DLL的几种方法,包括C#调用C\C++\C#DLL】
C#中dll调用方法 一. DLL与应用程序 动态链接库(也称为DLL,即为"Dynamic Link Library"的缩写)是Microsoft Windows最重要 ...
- C#程序实现动态调用DLL的研究(转)
摘 要:在<csdn开发高手>2004年第03期中的<化功大法--将DLL嵌入EXE>一文,介绍了如何把一个动态链接库作为一个资源嵌入到可执行文件,在可执行文件运行时,自动从资 ...
- VS2013环境生成和调用DLL动态链接库
创建动态库方法: 创建动态库是生成 .dll .lib 两个个文件 文件 -> 新建 -> 项目 -> win32控制台应用程序 项目名称:DLLGenerator 应用程序类型:D ...
最新文章
- 渗透测试流程(单台服务器)
- 如何配置一个Oracle服务
- 从GAN到WGAN到LipschitzGA
- 软件设计原则:内聚、耦合有哪几种类型?内聚度、耦合度如何比较?
- JS常用的设计模式(2)——简单工厂模式
- DKIM标准:对付网络钓鱼的新武器
- 084 HBase的数据迁移(含HDFS的数据迁移)
- SENet(ILSVRC2017-最后一个冠军)
- Q98:三角形网格细分Bezier曲面时,注意三角形顶点的顺序(确保其对应的法向量向外)
- pb 修改数据窗口种指定字段位置_如何在PB数据窗口中修改数据设置数据窗口的更新属性...
- 迅为IMX6ULL开发板Linux下电容触摸屏实验-实验程序编写
- nodejs 遍历json数据_异步-使用node.js遍历JSON
- Spring+Struts2+Hibernate概述
- 电脑qq语音连不到服务器,我的电脑不能语音聊天是怎么回事?每次qq上都提示:您的麦克风没有声音?我检查了电脑设置没问题...
- 八段数码管数字显示实验c语言,八段数码管显示实验.doc
- k8s---adm构建
- C语言实现之数字中的最大数字组合
- 杜国光博士,基于视觉的机器人抓取--物体定位,位姿估计到抓取估计课堂笔记
- 通过idea的Git使主干项目合并到分支中(主干同步到分支)
- KDRB-ZC变压器绕组阻抗测试仪