'lockusbport=4为禁用,3为启用
'Dim OnlyReadUsb
Dim lockusbport
Dim PermissionLevel
Dim CurrentUser
Set PermissionLevel=HMIRuntime.Tags("PermissionLevel")
Set CurrentUser = HMIRuntime.Tags("@CurrentUser")'OnlyReadUsb=CreateObject("WScript.Shell").RegWrite("HKLMSYSTEMCurrentControlSetControlStorageDevicePoliciesWriteProtect",0,"REG_DWORD")'lockusbport=createobject("Wscript.shell").RegWrite("HKCRSYSTEMCurrentControlSetServicesUSBSTOR",Default)
If PermissionLevel.Read=1 Then
If CurrentUser.Read=""Then
lockusbport=CreateObject("Wscript.shell").RegWrite("HKLMSYSTEMCurrentControlSetServicesUSBSTORstart",4,"REG_DWORD")
MsgBox"USB设备已禁用,重新插入USB存储器后失效"
Else
lockusbport=CreateObject("Wscript.shell").RegWrite("HKLMSYSTEMCurrentControlSetServicesUSBSTORstart",3,"REG_DWORD")
MsgBox"USB设备已启用,请重新插入USB存储器生效"
End If
Else
lockusbport=CreateObject("Wscript.shell").RegWrite("HKLMSYSTEMCurrentControlSetServicesUSBSTORstart",4,"REG_DWORD")
MsgBox"USB设备已禁用,重新插入USB存储器后失效"
End If
简要说明:PermissionLevel变量为自己建做确定是否具有启用USB存储的权限变量。该脚本通过用户名变量的改变执行。以下为C脚本通过WINCC的 ODT接口资料编写以下C全局脚本#include "apdefap.h"int gscAction( void )
![WINCCvbs操作注册表(以用户权限决定是否启用USB存储)原创 wincc用vbs读写数据库](http://img.aihuau.com/images/31101031/31033140t01d448ef41bc99298a.png)
{
#pragma option(mbcs)
#pragma code ("useadmin.dll")
#include "PWRT_api.h"
#pragma code()
SetTagFloat("PermissionLevel",PWRTCheckPermission(18,TRUE));return 0;
}通过PWRTCheckPermission函数判断编号为18的权限在当前用户下是否具有。权限在用户管理器中进行设置,编号自定义。通过以上的两个脚本可以实现具有某种特性权限的用户实现对USB存储器的启用权限。以上程序均已完美运行欢迎交流心得!QQ:275578306 柳叶亲月夜!2012年4月10日