精华内容
下载资源
问答
  • VBS 调用程序 call

    2010-04-06 18:53:49
    VBS 调用程序VBS 调用程序VBS 调用程序VBS 调用程序VBS 调用程序
  • 结合两篇文章(请先阅读这两篇文章),写了一个示例程序,效果是移动鼠标至桌面左上角。
  • vbs调用外部程序 WSH也就是用来解析Vbs的宿主,本身包含了几个个常用对象: 1、Scripting.FileSystemObject —> 提供一整套文件系统操作函数 2、Scripting.Dictionary —> 用来返回存放键值对的字典对象 3、...
    **vbs调用外部程序**
    

    WSH也就是用来解析Vbs的宿主,本身包含了几个个常用对象:

    1、Scripting.FileSystemObject  —>  提供一整套文件系统操作函数
    
    2、Scripting.Dictionary  —>  用来返回存放键值对的字典对象
    
    3、Wscript.Shell  —>  提供一套读取系统信息的函数,如读写注册表、查找指定文件的路径、读取DOS环境变量,读取链接中的设置
    
    4、Wscript.NetWork  —>  提供网络连接和远程打印机管理的函数。(其中,所有Scripting对象都存放在SCRRUN.DLL文件中,所有的Wscript对象都存放在WSHOM.ocx文件中。)
    

    ———————————————————————————————————

    (打开对应应用如记事本,计算器,文件名或者路径)

    option Explicit  '规范定义告诉计算机先声明后使用
    dim obj   '变量名
    Set obj = CreateObject("Wscript.Shell") 'set将一个对象引用赋给变量
    
    '加true只打开对应的程序,关闭过后才打开下一个
    '不加true,两个同时打开
    obj.Run "notepad",,true      'notepad 记事本  calc 计算器  winword word文件名
    obj.Run """路径名"""   		 '也可以包含路径名,用三个双引号来包含
    
    

    注意

    run 执行程序的路径,窗口的形式,脚本等待还是继续执行 (三个参数)
    run也有返回值,1成功执行,0执行失败

    ———————————————————————————————————
    处理错误

    On Error Resume Next ——如果有错误跳过执行下一条语句
    err 对象

    on error resume next   '如果有错误跳过执行吓一跳
    a=11 
    b=0 
    c=a/b 
    if err.number<>0 then  'err.num 错误的个数
    'description 原因  source来源
    wscript.echo err.number & err.description & err.source 
    end if
    

    创建一个文件

    dim fs,s 
    set fs = wscript.createobject("scripting.filesystemobject")  '创建一个对象 
    if(fs.folderexists("C:\Users\93997\Desktop\练习\1")) then  '判断文件是否存在
    s = "is available"
    else
    s = "not exiet"
    set folder = fs.createfolder("C:\Users\93997\Desktop\练习\1") '不存在创建一个文件
    end if
    wscript.echo s  '窗口提示
    

    ———————————————————————————————————
    打印时间日期

    dim date,clock
    date = "February 6,2020"  '格式也可以写成#2/6/2020,"16:09:53 PM"
    clock = "16:10:59 PM"      '时间也可以这样写
    
    if(isdate(date)) then	  'isdate 用来判断是否可以转换日期
    date = CDate(date)
    else
    msgbox "不能转换"
    end if
    
    clock = CDate(clock)
    msgbox "当前日期为:" & date & " " & clock  '最后打印出来
    

    ———————————————————————————————————
    删除文件

    dim fs
    set fs = createobject("scripting.filesystemobject")
    if(fs.folderexists("xxxxxxxxxxxxxxxxxx")) then  '判断文件是否存在
    fs.deletefolder("xxxxxxxxxxxxxx")
    msgbox "删除成功"
    else
    msgbox "文件不存在"
    end if 
    

    ———————————————————————————————————
    自动创建文本文件

    dim wshshell,autosavetime,txtfilename
    autosavetime = 3000
    set wshshell = createobject("wscript.shell")
    txtfilename = inputbox("请输入你要创建的文件名:")
    '打开激活记事本
    wshshell.run "notepad"
    wscript.sleep 200
    wshshell.appactivate "无标题-记事本"
    '三用输入名字存盘
    wshshell.sendkeys "^s" 'ctrl+s
    wscript.sleep 300
    wshshell.sendkeys txtfilename
    wscript.sleep 300
    wshshell.sendkeys "%s" 'alt+s
    wscript.sleep autosavetime
    '四自动定时存盘
    while wshshell.appactivate (txtfilename) = true  'appactivate 是定位到窗口的名字
    wshshell.sendkeys "%s"
    wscript.sleep autosavetime
    wend
    wscript.quit
    

    ———————————————————————————————————
    刷屏

    dim s
    set s = createobject("wscript.shell")
    s.appactivate "长路呀"  '通过应用标题来找位置
    wscript.sleep 2000
    for i=0 to 20 
    s.sendkeys "1"
    s.sendkeys "{ENTER}"
    next
    
     **查阅:https://www.jb51.net/article/53280.htm**
    
    展开全文
  • 软件安装无管理员权限的user账户的PC客户端只能使用第三方工具,但又担心不安全,本工具是系统自带vbs支持的,简单代码来实现以vbs文件调用runas命令运行需要管理用户授权的程序或批处理文件,并自动输入密码,真正...
  • c#调用VBS脚本

    2018-06-08 16:23:11
    c#(winform)调用VBS脚本 c#(winform)调用VBS脚本
  • 软件安装无管理员权限的user账户的PC客户端只能使用第三方工具,但又担心不安全,本工具是系统自带vbs支持的,简单代码来实现以vbs文件调用runas命令运行需要管理用户授权的程序或批处理文件,并自动输入密码,真正...
  • VBS调用c#编译DLL

    2019-11-28 11:41:24
    VBS调用c#编译dll 因为工作需要用到VBS调用dll,网上贴子看了不少,教程不全,成功率低, 于是我研究了几天,本教程亲测可用 1.新建c#类库,这个不多说了 代码如下 using System; using System.Collections.Generic...

    VBS调用c#编译dll

    因为工作需要用到VBS调用dll,网上贴子看了不少,教程不全,成功率低,
    于是我研究了几天,本教程亲测可用
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/20191128112428856.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTEyNTc3NQ==,size_16,color_FFFFFF,t_70
    1.新建c#类库,这个不多说了

    代码如下

    using System;

    using System.Collections.Generic;

    using System.Text;

    using System.Runtime.InteropServices;

    namespace TestCom
    {

    [ComVisible(true)]
    [Guid("6D7D9956-CB6B-4EF1-BFF2-2ABD0D04CA22")]
    public interface iClass1
    {
    
        int test(int num1,int num2,string str);
    
    }
    
    
    
    [ComVisible(true)]
    
    [ClassInterface(ClassInterfaceType.AutoDual)]     
    //[ClassInterface(ClassInterfaceType.AutoDual)]
    
    public class Class1 : iClass1
    {
        public string test1()
        {
    
            return "ok";
    
        }  
        public int test(int num1, int num2,string str)
        {
            int result = 0;
            switch(str)
            {
                case "x":
                    result = num1* num2;
                    break;
                case "+":
                    result = num1 + num2;
                    break;
                case "-":
                    result = num1 - num2;
                    break;
                case "/":
                    result = num1 / num2;
                    break;
            }
            return result;
    
        }
    
    
    }
    

    }
    2.3.添加强名
    选择开始菜单中Vistual Studio目录下的Vistual Studio Tools下的Vistual Studio 命令提示。使用sn -k c:\myKey.snk生成签名文件

    3.在项目上右键,点击属性,选择签名,选中为程序集签名,选择myKey.snk文件
    在这里插入图片描述
    使程序集Com可见打勾
    在这里插入图片描述
    为Com互操作注册勾上
    在这里插入图片描述
    在这里插入图片描述
    这就我之前一直不成功原因,不选或者默认Any CPU就会报这种错
    在这里插入图片描述
    最后生成dll文件,c#就完成了

    VBS
    在这里插入图片描述
    试验一下
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    OK,成功了

    展开全文
  • [转载]VBS 运行外部程序 VBS 调用外部程序 Vbs只提供了编程的一个基本框架,用户可以使用Vbs来定义变量、过程和函数,vbs也提供了一些内部函数和对象,但是Vbs没有提供任何命令来访问Windows系统内部的部件,但是...

    [转载]VBS 运行外部程序 VBS 调用外部程序

    Vbs只提供了编程的一个基本框架,用户可以使用Vbs来定义变量、过程和函数,vbs也提供了一些内部函数和对象,但是Vbs没有提供任何命令来访问Windows系统内部的部件,但是值得庆幸的是,Vbs虽然不能自己完成这些任务,但是它提供了一条极为方便、功能也相当强的命令——CreateObject,这条命令可以访问windows系统内安装的所有com对象,并且可以调用这些部件中存放的命令。

    于是问题解决了,比如说,[作者:临汾市外事旅游局薛靖澜,转载请注明出处]我手头有1000个小文本,我首先要对每一个文本的语法进行查错和修改,然后按照预先定义好的规则对这些文本进行排序,最后将这些文本合并成为一个文件。正常情况下,我们需要把打开第一个小文本,然后把它复制到WORD中,然后利用里面的除错功能进行除错和修改,然后再导入到EXCEL中进行排序,将这个过程重复1000遍,然后再将所有得到的文本复制到一个大文本中。实在是太枯燥、工作量太大了。有了Vbs和CreateObject,问题得到解决,我只需要找到相应的模块,调用相应的功能就可以了,作为脚本,把一个枯燥的过程重复1000次,本就是它的拿手好戏。

    好了,我们走入正题,从最简单的——只启动一个程序开始。

    WSH也就是用来解析Vbs的宿主,本身包含了几个个常用对象:

    1、Scripting.FileSystemObject —> 提供一整套文件系统操作函数

    2、Scripting.Dictionary —> 用来返回存放键值对的字典对象

    3、Wscript.Shell —> 提供一套读取系统信息的函数,如读写注册表、查找指定文件的路径、读取DOS环境变量,读取链接中的设置

    4、Wscript.NetWork —> 提供网络连接和远程打印机管理的函数。(其中,所有Scripting对象都存放在SCRRUN.DLL文件中,所有的Wscript对象都存放在WSHOM.ocx文件中。)

    现在我们需要的是第三个对象,好了,让我们先连接一下对象看看,在记事本的编辑窗口中输入:

    Set objShell = CreateObject(“Wscript.Shell”)

    objShell.Run “notepad”

    同样,保存执行。那么看到了一个什么样的结果呢?在桌面上又打开了一个记事本。

    说明之一:Set是Vbs指令,凡是将一对象引用赋给变量,就需要使用set关键字。那么什么是对象引用呢?凡是字符串、数值、布尔值之外的变量都是对象引用。Objshell是变量名,可以随意修改。

    说明之二:反是正确引用的对象,其本身内置有函数和变量,其引用方法为在变量后加“. ”,后紧跟其实现功能的函数就可以了。Objshell.run 的意思就是调用Wscript.shell中的运行外部程序的函数——run,notepad是记事本程序的文件名。当然你也可以改成“calc”,这是计算器的文件名,winword是word的文件名,等等吧,所有可执行文件的文件名都可以。但是需要注意的是,如果你要执行的可执行文件存放的地方不是程序安装的常用路径,一般情况下,需要提供合法的路径名,但是run在运行解析时,遇到空格会停止,解决的方法是使用双引号,[作者:临汾市外事旅游局薛靖澜,转载请注明出处]例如:在我的机器上运行qq,代码为:

    objshell.run “”“C:\Program Files\QQ2006\QQ.exe”"" ‘注:三个引号

    好, 我们再进一步,启动两个程序会如何呢?

    输入如下代码:

    Set objShell = CreateObject(“Wscript.Shell”)

    objShell.Run “notepad”

    objShell.Run “calc”

    执行会如何呢?两个程序基本上同时启动了。如果我们需要先启动notepad再启动calc将如何呢?很简单在需要顺序执行的代码后加 , , True参数就可以了。

    好了输入代码:

    Set objShell = CreateObject(“Wscript.Shell”)

    objShell.Run “notepad” ,true

    objShell.Run “calc”

    看看执行的结果怎么样吧!

    总结:run函数有三个参数,第一个参数是你要执行的程序的路径,第二个程序是窗口的形式,0是在后台运行;1表示正常运行;2表示激活程序并且显示为最小化;3表示激活程序并且显示为最大化;一共有10个这样的参数我只列出了4个最常用的。 第三个参数是表示这个脚本是等待还是继续执行,如果设为了true,脚本就会等待调用的程序退出后再向后执行。
    其实,run做为函数,前面还有一个接受返回值的变量,一般来说如果返回为0,表示成功执行,如果不为0,则这个返回值就是错误代码,可以通过这个代码找出相应的错误。OC]

    展开全文
  • 如何使用VBS调用VBA函数

    千次阅读 2020-05-05 22:42:58
    ・截取图片后,截图的图片置于最底层 :调用VBA函数pictureToBack ・Case中的的一些内容,自动截图,并保存到Evidence中 :调用VBA函数 getCaseInfoAsPicture ■VBA的代码 '把图片置于底层 Sub ...

    ■前言

    修改同事大神写的非常好的自动Evidence做成工具,

    添加一些功能

      ・截取图片后,截图的图片置于最底层 :调用VBA函数 pictureToBack

      ・Case中的的一些内容,自动截图,并保存到Evidence中 :调用VBA函数 getCaseInfoAsPicture

     

    ■VBA的代码

    
    '把图片置于底层
    Sub pictureToBack()
    
        Selection.ShapeRange.ZOrder msoSendToBack
    End Sub
    
    
    
    '先当于从case文件中截图,保存到 Ecidence 中
    Sub getCaseInfoAsPicture(ByVal caseNum As Integer)
    
        Dim copyBeginIndex
        copyBeginIndex = 3 + caseNum * 22
    
        Windows("case.xlsx").Activate
        '当于从case文件中截图的区域
        Range("C3:J13").Select
        Selection.Copy
        Windows("EvidenceTemplate.xlsm").Activate
        'Range("C3").Select
        Range("C" & copyBeginIndex).Select
        ActiveSheet.Pictures.Paste.Select
        
    End Sub
    

    ---

    ■VBS代码

    Set excelApp = createobject("Excel.Application")
    excelApp.Visible = true
    excelApp.DisplayAlerts = false
    Set oWorkbooks = excelApp .Workbooks.Open("C:\test\EvidenceTemplate.xlsm")
    
    '...
    Dim count '不能写成 Dim count As Integer,否则报错
    '...
    count = 1 '不能写成 set count = 1, 否则报错
    '运行函数 (含参数传递)
    excelApp.Run "getCaseInfoAsPicture",count
    '...
    '运行函数
    excelApp.Run "pictureToBack"
    '...
    count = count +1
    '...
    
    oWorkbooks.Close
    excelApp.Quit
    Set oWorkbooks = nothing
    Set excelApp = nothing

    ---

    展开全文
  • vbs调用 导入 另一个vbs的 并解释

    千次阅读 2019-05-24 22:26:14
    '引入别的vbs文件并解释 Include “d:/a.vbs” Call addsss(2,3) Function Include(filePath) Set stm = CreateObject(“Adodb.Stream”) stm.Type = 2 stm.mode = 3 stm.charset = “utf-8” stm.Open stm....
  • ‘==========================================================================‘‘ VBScript Source File -- Created with SAPIEN Technologies PrimalScript 4.0‘‘ NAME:‘‘ AUTHOR: Microsoft , Microsoft...
  • windows vbs启动多个应用程序并使程序最小化(显示桌面) CreationTime--2018年7月26日11点18分 Author:Marydon 1.应用场景  每天开机后,都需要打开平常所需要的软件,又不想将程序设为开机启动,能不能开机后...
  • VBS调用Windows API函数

    2017-01-28 21:55:00
    Demon's Blog»程序设计»VBS调用Windows API函数 « 用VBS修改Windows用户密码 在VB中创建和使用VBS的内置WScript对象? » VBS调用Windows API函数 标签:Excel,Excel.Application,VBS,V...
  • 如果你想用递归搜索我也没办法。下面的程序搜索电脑上所有的MP3文件。
  • Vbs 运行外部程序

    千次阅读 2019-08-14 17:23:13
    **Vbs 只提供了编程的一个基本框架,用户可以使用 Vbs 来定义变量、过程和函数, vbs也提供 了一些内部函数和对象,但是 Vbs 没有提供任何命令来访问 Windows 系统内部的部件 ,但是值 得庆幸的是, Vbs 虽然不能...
  • 创建程序快捷方式 (“C:\Users\Administrator\Desktop\asd.exe”)
  • c#(winform)调用VBS脚本

    2017-07-06 16:21:30
    里边有测试的vbs脚本,直接调试即可
  • "freecell" Set WshShell = CreateObject("WScript.Shell") '创建WshShell对象 ScriptComplete = False '初始化程序结束标志 '创建语音识别对象,调用由"Command.XML"所定义的语法,并启动语音识别引擎 Set SR = ...
  • 如何利用Vbs 运行外部程序

    千次阅读 2013-02-21 00:37:54
    如果你要执行的可执行文件存放的地方不是程序安装的常用路径,一般情况下,需要提供合法 的路径名,但是run 在运行解析时,遇到空格会停止,解决的方法是使用双引号,例如:在我 的机器上运行qq,代码为: ...
  • VBS和JS互相调用方法

    2021-06-12 02:30:38
    vbscript和javascript互相调用方法ASP具备管理不同语言脚本程序的能力,能够自动调用合适的脚本引擎以解释脚本代码和执行内置函数。ASP开发环境提供了两种脚本引擎,即VBScript(缺省)和JScript。不过,开发者并没有...
  • 经过折腾发现Qt的QProcess是调用不了.vbs脚本文件的。但是是可以调用.exe可执行文件的,于是想到另外一种方法,看是否能够通过.bat文件去间接调用.vbs文件。结果发现QProcess是能够调用.bat文件的,于是我编辑了一下...
  • 程序怎样调用程序

    千次阅读 2021-04-26 15:02:39
    快速导读:Q1:vbs怎么调用程序?你可以这样操作比如你要调用C:\m.exe Set ws = CreateObject("Wscript.Shell") Set fs = CreateObject("Scripting.FileSystemObject") ws.Run "c:\m.exe" 希望能帮助你!!!!!Q2...
  • VBS调用ping检测ip连通情况

    千次阅读 2015-04-29 17:28:24
    小玩意儿,参考了网上的例子,...文件1:Pingtest.vbs option explicit Function MyPing (oHost) Dim oPing,oRetStatus Set oPing=GetObject("winmgmts:{impersonationLevel=impersonate}").ExecQuery _  ("s
  • vbs实现的调用系统命令执行的函数,可以根据用户选择运行指定的程序
  • 下面这个是先执行程序后,然后再结束程序。 Dim Wsh Set Wsh = WScript.CreateObject("WScript.Shell") '下行是设置延时启动时间 5000等于5秒 WScript.Sleep(5000) '下行引号内填写服务器上批处理文件的共享...
  • WScript.Sleep 500 Wshell.SendKeys "^c" WScript.Sleep 500 Wshell.Run "taskkill /f /im notepad.exe", 0 WScript.Sleep 500 vbhide隐藏该程序窗口 按键有几个特殊的: SHIFT + CTRL ^ ALT % #学习笔记
  • VBS 运行外部程序

    万次阅读 2014-10-11 20:19:38
    VBS 运行外部程序 Vbs只提供了编程的一个基本框架,用户可以使用Vbs来定义变量、过程和函数,vbs也提供了一些内部函数和对象,但是Vbs没有提供任何命令来访问Windows系统内部的部件,但是值得庆幸的是,Vbs虽然...
  • vbs中执行exe文件 createobject("wscript.shell").run """D:\Program Files (x86)\Tencent\QQ\Bin\QQScLauncher.exe""",0 vbs中执行bat文件 createobject("wscript.shell").run "C:\Users\Administrator\Desktop\...
  • 2、按钮“调用函数” 事件 “左键单击”事件 Var.中间变量= Not Var.中间变量   步骤三:新建“Menu”画面  1、主要是用来切换窗口画面的公共页面 2、按钮 “窗口0” 事件 左键单击 Call HMICmd....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 9,004
精华内容 3,601
关键字:

vbs调用程序