zoukankan      html  css  js  c++  java
  • QTP引用外部dll的3种方法

    1、Active  DLL 
    通过CreateObject(class)创建:
    dim ws
    set ws = CreateObject("Wscript.shell")
    ws.run "Notepad.exe"

    GetObject([pathname] [, class])
    参数
    Pathname
    可选项。字符串,包含待检索对象的文件的完整路径和名称。如果省略 pathname 则必须有 class。
    Class
    可选项。字符串,对象的类。
    class 参数的语法格式为 appname.objectype,其中包括以下部分:
    参数
    appname
    必选项。字符串,提供对象的应用程序名称。
    objectype
    必选项。字符串,要创建的对象的类型或类。

    strComputer = "."
    Set objWMIService = GetObject("winmgmts:\" & strComputer & " ootcimv2")
    set cpu =objwmiservice.execQuery("select * from win32_processor")
    for each item in cpu
        cpu2=cpu2&"CPU:" & item.Name
    next
    msgbox cpu2


    2、Win  API DLL 
    Extern.Declare(RetType, MethodName, LibName, Alias [, ArgType(s)])
    参数说明:
    RetType: 方法返回值的类型。
    MethodName:调用DLL文件中的某个方法的方法名。
    LibName: DLL文件名。
    Alias: 别名,当别名为空时,方法名和别名一样(此参数通常为空)。
    ArgType(s): 传入的参数。

    Extern.Declare micLong, "WinExec", "kernel32.dll", "WinExec", micString,micLong
    Extern.WinExec "c est.exe ", test


    3、.Net API DLL 
    DotNetFactory.CreateInstance (TypeName [,Assembly] [,args])
    typename 其实就是命名空间+class名
    assembly 其实就是程序集地址,可以本地路径,也可以是.net命名空间
    args  其实就是class实例时构造函数的参数值

    Set MyMsgBox = DotNetFactory.CreateInstance("System.Windows.Forms.MessageBox","System.Windows.Forms")
    MyMsgBox.Show "Hello World ", "My Custom Message box"

    Set MyMsgBox1 = DotNetFactory.CreateInstance("System.Windows.Forms.MessageBox","D:defineDLL.dll","title")
    MyMsgBox1.Show "Hello World ", "My Custom Message box"


    PS:其中第1种和第3种都可以自定义dll来扩充,其中自定义第一种active dll后在使用前需要在系统中注册一下【regsvr32 dllName】

  • 相关阅读:
    (三)字符串、列表、元组、字典
    (二)判断语句和循环语句
    (一)python基础知识
    Python之禅
    《Vue.js实战》一书 p117 练习 1& 2 (2019.12.19)
    React练习 17:02_11_鼠标移过修改图片路径
    React练习 16:02_10_提示框效果
    React练习 15:02_09_单一按钮显示隐藏
    React练习 14:02_08_简易js年历
    React练习 13:02_07_简易选项卡
  • 原文地址:https://www.cnblogs.com/gdg87813/p/10681674.html
Copyright © 2011-2022 走看看