在win10等高版本windows中,由於UAC權限的限制,無法通過右鍵中的打開方式來註冊動態鏈接庫dll組件和ocx組件,也不能通過普遍cmd窗口註冊,只能以管理員身份運行cmd來註冊。經過摸索,找出一個用windows右鍵菜單來註冊的方法,下面以註冊dll組件爲例,分享給大家。
第一步:創建註冊組件用的批處理文件
將以下腳本保存爲d:\myreg.bat
@echo off
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
if '%errorlevel%' NEQ '0' (
echo 請求管理員權限...
goto UACPrompt
) else ( goto gotAdmin )
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute "%~s0", "%1", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
exit /B
:gotAdmin
echo 註冊%1
regsvr32 "%1"
第二步:創建Windows右鍵菜單【註冊Dll】
打開註冊表,創建項“HKEY_CLASSES_ROOT\dllfile\shell\註冊Dll\Command”,設置默認值爲:"d:\myreg.bat" %1
這樣就好了。
使用方法:
使用時,在dll或ocx文件點擊鼠標右鍵,在彈出的菜單中選擇【註冊Dll】即可完成註冊
延伸
發散一下下,反註冊同理如上。
再延伸
註冊、反註冊ocx組件如上類似處理