Access911.net   |   a9BBS   |   OTaA System  
  搜索文章:  
Access911欢迎您光临  
   主页      上传      繁體版       论坛     
设为首页  |  加入收藏   
  
你现在的位置:文章索引 -> 文章分类 -> 其他语言  
 首页|  近日更新|  下载  |  文章索引  |  搜索|  术语|  承接工程|  
 
系统正在加载内容,请耐心等待...
 
 查询
 窗体
 报表
 
 
 VBA
 函数
 ADO/DAO/ADO.NET
 API
 ADP
 安全
 发布
 OA
 ASP/ASP.NET
 其他语言
 控件
 DELPHI
 C#/.Net
 本站
 其他
 小例程
 常用软件
 参考文档
 业主作品
 网友大作
 
 
友情链接
 access911.net
 
访问人次
 1887447
 
站长 E-Mail
 net911@sina.com
 access911@gmail.com
 
RSS 订阅

显示附加信息 >>>

WScript如何以管理员权限启动

作者:cg1  摘自:access911.net  :cg1  更新日期:2022-5-5  浏览人次:

 

问题:

如何以管理员权限启动 WScript 程序?windows 10中默认方式下双击 *.vbs 是以当前用户权限启动 VBS 运行的,如果在 WScript 中想复制一些文件到系统目录可能会遇到权限问题无法复制成功。

 


回答:


可以在程序中检测启动参数,如果 VBS 不带参数被启动则表示为当前用户双击启动。这个时候再用 Shell.Application .ShellExecute 启动 VBS 本身,并附带 "runas",1 参数即可。

const strCmdArg = " /c "        '     " /c " 是执行完cmd后关闭窗口,注意前后带空格的。              " /k "  是保持执行结果,调试的时候用。
set ws =createobject("wscript.shell")
set objArgs = wscript.Arguments

for i=0 to objArgs.Count-1
    'msgbox objArgs(i)
next

'wscript 对象参考文档:http://www.netbox.cn/document/html/wsobjwscript.htm

'如果启动时没有带参数,就判断为非管理员权限启动,则以管理员方式启动后关闭当前进程。带的参数名叫 argAA
if objArgs.Count=0 then
    '启动截图软件。截图软件不要以管理员权限启动,如果以管理员权限启动,当用普通用户登录的时候
    '右键点击图片进行编辑的时候没办法自动打开picpick.exe
    'ws.run """D:\Program Files\PicPick_5.1.1_PortableSoft\PicPickPortable\picpick.exe"""

    ws.run """D:\Program Files\picpick_6_portable\picpick.exe"""
    
    '当直接双击的时候是没有带参数的,以管理员再启动一次
    CreateObject("Shell.Application").ShellExecute WScript.FullName, Chr(34) & WScript.ScriptFullName & Chr(34) & " argAA", "", "runas", 1
    WScript.Quit
elseif objArgs(0)<>"argAA" then
    '可能有会有将其他文件拖动到 vbs 上
    CreateObject("Shell.Application").ShellExecute WScript.FullName, Chr(34) & WScript.ScriptFullName & Chr(34) & " argAA", "", "runas", 1
    WScript.Quit
end if


 


本站文章旨在为该问题提供解决思路及关键性代码,并不能完成应该由网友自己完成的所有工作,请网友在仔细看文章并理解思路的基础上举一反三、灵活运用。

access911.net 原创文章,作者本人对文章保留一切权利。
如需转载必须征得作者同意并注明本站链接

 

 
相关文章
     没有手动相关文章
     如何控制不同用户能够读取、写入表的不同字段的权限?
     Microsoft Office 2003 中的信息权限管理
     用户、用户权限等如何用程序定义?
 
评论
     查看或发表更多的评论,请单击这里。
 
 
 
 
 
   
  Access911.net   |   a9BBS   |   OTaA System   |
建站日期:2000年4月2日  |  设计施工:陈格 ( access911 & cg1 )
 Copyright © 2000 - 2003 COMET, 陈格 保留所有权利