W tym poście opisano sposób dodawania poleceń rejestrowania i wyrejestrowywania do menu prawym przyciskiem myszy dla plików DLL i OCX w systemie Windows Vista, 7, 8 i 10.
Aby zarejestrować plik DLL lub OCX, zwykle musisz uruchomić regsvr32.exe z wiersza polecenia z podwyższonym poziomem uprawnień. Rejestrowanie systemowych bibliotek DLL z poziomu nie podwyższonego może powodować błąd. Na przykład spróbuj zarejestrować moduł systemowy JScript.dll w Start, polu wyszukiwania (tzn. Bez podnoszenia go). Zobaczysz wtedy błąd 0x80004005 lub 0x80007005 („DOSTĘP ZABLOKOWANY ”).
Metoda 1: Zarejestruj biblioteki DLL za pomocą menu kontekstowego - czasownik „runas”
Aby dodać polecenie Zarejestruj w menu kontekstowym, które uruchomi polecenie Regsvr32.exe na podwyższonych prawach, możesz użyć specjalnego czasownika runas . Oto utworzony przeze mnie plik REG, dodaje czasownik runas dla typów plików DLL i OCX w następujących kluczach rejestru:
HKEY_CLASSES_ROOT \ dllfile \ runas HKEY_CLASSES_ROOT \ ocxfile \ runas
- Pobierz plik register_runas.reg i zapisz na pulpicie.
- Kliknij plik prawym przyciskiem myszy i wybierz polecenie Scal.
- Kliknij Tak, gdy zostaniesz poproszony o potwierdzenie.
Powinieneś teraz zobaczyć polecenie Zarejestruj (jako administrator) w menu prawym przyciskiem myszy dla typów plików DLL i OCX.
Metoda 2: Ustaw Regsvr32.exe, aby zawsze działał z podwyższonym poziomem uprawnień
Ponieważ możesz użyć czasownika „runas” tylko dla jednego elementu, aby dodać polecenie „Wyrejestruj”, musisz użyć innej metody niż powyższa. Oto inny sposób dodania poleceń „Zarejestruj” i „Wyrejestruj” do menu kontekstowego dla plików DLL, bez użycia czasownika „runas”.
Ta metoda instruuje system, aby zawsze uruchamiał program Regsvr32.exe z podwyższonym poziomem, dodając wpis rejestru AppCompatFlags\Layers
, i implementuje wpisy menu kontekstowego „Zarejestruj” i „Wyrejestruj” w zwykły sposób.
Plik REG
Edytor rejestru systemu Windows w wersji 5.00 [HKEY_CURRENT_USER \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ AppCompatFlags \ Layers] „C: \\ Windows \\ System32 \\ regsvr32.exe” = "~ RUNASADMIN" [HKEY_CLASSES_ROOT \ DllFile \ Shell \ Register] "HasLUAShield" = "" [HKEY_CLASSES_ROOT \ DllFile \ Shell \ Register \ command] @ = "C: \\ Windows \\ System32 \\ regsvr32.exe \"% 1 \ "" [HKEY_CLASSES_ROOT \ DllFile \ Shell \ Unregister] " HasLUAShield "=" "[HKEY_CLASSES_ROOT \ DllFile \ Shell \ Unregister \ command] @ =" C: \\ Windows \\ System32 \\ regsvr32.exe -u \ "% 1 \" "[HKEY_CLASSES_ROOT \ OcxFile \ Shell \ Register] "HasLUAShield" = "" [HKEY_CLASSES_ROOT \ OcxFile \ Shell \ Register \ command] @ = "C: \\ Windows \\ System32 \\ regsvr32.exe \"% 1 \ "" [HKEY_CLASSES_ROOT \ OcxFile \ Shell \ Unregister] " HasLUAShield "=" "[HKEY_CLASSES_ROOT \ OcxFile \ Shell \ Unregister \ command] @ =" C: \\ Windows \\ System32 \\ regsvr32.exe -u \ "% 1 \"
Skopiuj powyższe wiersze do Notatnika i zapisz plik z rozszerzeniem .reg. Kliknij dwukrotnie, aby uruchomić plik .reg. Dodaje to polecenia „Zarejestruj” i „Wyrejestruj” do menu kontekstowego dla plików DLL i OCX.
Aby usunąć (cofnąć) polecenia Zarejestruj i wyrejestruj z menu kontekstowego, użyj następującego pliku .reg:
Edytor rejestru systemu Windows w wersji 5.00 [HKEY_CURRENT_USER \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ AppCompatFlags \ Layers] „C: \\ Windows \\ System32 \\ regsvr32.exe” = - [-HKEY_CLASSES_ROOT \ DllFile \ Shell \ Register] [- HKEY_CLASSES_ROOT \ DllFile \ Shell \ Unregister] [-HKEY_CLASSES_ROOT \ OcxFile \ Shell \ Register] [-HKEY_CLASSES_ROOT \ OcxFile \ Shell \ Unregister]
Otóż to!