Nie można przeciągać plików z Eksploratora do Notepad ++ uruchomionego jako administrator w systemie Windows 8


22

Jeśli mam Notepad ++ działający jako administrator, nie mogę przeciągać do niego plików z Eksploratora (są one odrzucane za pomocą kursora „stop”) i jeśli spróbuję użyć rozszerzenia Eksploratora, kliknij prawym przyciskiem myszy „Edytuj za pomocą Notepad ++”, spowoduje to błąd .

Otwieranie plików za pomocą okna dialogowego „Otwórz” Notepad ++ lub nawet dwukrotne kliknięcie ich w Eksploratorze działa tak, jak powinno. (Uwaga: podwójne kliknięcie nie jest rozwiązaniem, ponieważ bardzo niewiele plików, które chcę otworzyć, to domyślnie Notepad ++)

Ustawiłem UAC na „nigdy nie powiadamiaj”.

Użycie hacka przy wyłączonym „trybie zatwierdzania administratora” przez UAC rozwiązuje problem, ale zabija możliwość korzystania z aplikacji Metro.


Dlaczego korzystasz z Notepad ++ jako administrator?
kinokijuf

1
Nie jestem już, ale w momencie pytania chodziło o łatwą edycję pliku hosts (coś, czego nie muszę teraz tak często dotykać)
Luke F

1
Działa również jako administrator po aktualizacji wtyczki. Skończyłem tu wcześniej, a potem spojrzałem na pasek tytułu okna. Yup Admin. Poprawka: po prostu uruchom go ponownie.
CAD zepsuł się

Odpowiedzi:


31

Procesy o niższej integralności nie mogą przekazywać komunikatów do komunikatów wyższego poziomu.

Przekonasz się, że tak jest w przypadku każdego podwyższonego procesu od wersji Windows Vista.

Procesy działają w ramach określonych tokenów dostępu do zabezpieczeń i poziomów integralności. Eksplorator działa pod ograniczonym tokenem konta użytkownika ze średnim poziomem integralności, a gdy podniesiesz poziom procesu, uruchamiając się jako administrator, użyje innego, nieograniczonego tokena bezpieczeństwa o wysokim poziomie integralności.

Częścią przeglądu bezpieczeństwa dostarczonego z Vistą było izolowanie uprawnień interfejsu użytkownika , które uniemożliwia procesom niższego poziomu wysyłanie wiadomości do tych wyższych (ponieważ wiadomości mogą być złośliwe, jak w przypadku ataków typu shatter).

W takim przypadku system Windows nie zezwoli Eksploratorowi na wysłanie wiadomości przeciągnij i upuść do Notepad ++ (faktycznie zwraca „sukces”, ale upuszcza wiadomość).

Aby uzyskać bardziej szczegółowe informacje o tokenach dostępu, poziomach integralności i UIPI, zobacz Projektowanie mechanizmu integralności systemu Windows .


7

Louis wyjaśnił, dlaczego nie można przeciągnąć z Eksploratora innego niż tryb administratora do Notatnika ++ w trybie administratora, a magicandre powiedział ci, jak to zrobić, uruchamiając Eksploratora w trybie administratora.

Po tym, jak sam doświadczyłem podobnego problemu, muszę zapytać dalej: dlaczego przede wszystkim używasz Notepad ++ w trybie administratora? W moim przypadku było tak, ponieważ wtyczka HTML Tidy, której lubię używać, musi zaktualizować plik cfg w folderze Program Files Notepad ++, aby działał; a Windows 8 ma zablokowane pliki programu jak szalone.

W końcu odblokowałem folder Notepad ++ Program Files, jak opisano tutaj: http://forums.auran.com/trainz/entry.php?115-Removing-the-security-restrictions-from-a-folder-in-the -Program-Folder plików

Następnie z przyjemnością uruchomiłbym Notepad ++ jako zwykły użytkownik, a następnie mogłem przeciągnąć i upuścić lub użyć zawsze przydatnego menu kontekstowego, z eksploratora innego niż tryb administratora do Notatnika ++ poza trybem administratora.

Mam nadzieję, że to ci w jakiś sposób pomoże.


1
Kiedy napotkałem ten problem, to była prawdziwa odpowiedź, której szukałem. Nie wiem, co się stało, ale NPP nie stało się tak aż do ostatniej aktualizacji sprzed kilku dni.
darkpbj

Jako programista i administrator systemów często muszę edytować pliki o różnych uprawnieniach / własności. Uruchamianie mojego edytora jako administrator jest znacznie wygodniejsze niż modyfikowanie uprawnień przed i resetowanie po.
Alex McMillan


2

W większości przypadków (gdy użytkownik ma dostęp do odczytu, ale nie ma dostępu jako zwykły użytkownik), istnieje lepsze podejście niż uruchamianie Notepad ++ jako administrator:

Zainstaluj wtyczkę „Zapisz jako administrator” (patrz Menedżer wtyczek Notepad ++).

Teraz wystarczy uruchomić Notepad ++ jako zwykły użytkownik i otworzyć pliki, które chcesz edytować. Ponieważ masz dostęp do odczytu, będzie to działać bez problemów.

Teraz za każdym razem, gdy próbujesz zapisać plik, ale nie masz uprawnień do zapisu, wtyczka „Zapisz jako administrator” podnosi uprawnienia do zapisywania. Dlatego jeśli teraz wykonasz polecenie zapisu, zostanie wyświetlone okno dialogowe UAC, a jeśli wybierzesz opcję „tak” w tym oknie dialogowym, plik zostanie zapisany przy użyciu uprawnień administratora.


1

Innym obejściem jest użycie autonomicznej (skompresowanej) wersji Notepad ++ zamiast wersji instalatora.

  1. Odinstaluj / Usuń Notepad ++
  2. Przejdź do strony pobierania Notepad ++ i pobierz pakiet .zip lub .7z (nie exe)
  3. Rozpakuj zawartość tego pakietu gdzieś w katalogu użytkownika

Wadą tego obejścia jest oczywiście konieczność utworzenia własnych skrótów i ręcznej aktualizacji domyślnego edytora tekstu, jeśli to konieczne. I nie będziesz mieć pozycji menu kontekstowego dla notatnika, chyba że sam go tam włamiesz.


0

Zmiana uprawnień do podniesionego zadania zainstalowanego przez usługę podwyższonych instalatorów jest co najmniej trudna. Windows 7 x64. Podjąłem sugerowaną ścieżkę. Użyłem Panelu sterowania »Programy i funkcje do odinstalowania Notepad ++.

Następnie udałem się na stronę Notepad ++ i pobrałem wersję spakowaną bez instalatora .

Następnie użył Eksploratora Windows, aby wyodrębnić wszystkie pliki do ścieżki C:\Program Files (x86)\Notepad++- tak samo jak oryginalna ścieżka instalatora.

Następnie utworzyłem grupę folderów w sekcji Wszystkie programy w menu Start.

  • Kliknij menu Start
  • Kliknij prawym przyciskiem Wszystkie programy
  • Otwórz wszystkich użytkowników
  • Kliknij Programy
  • Kliknij prawym przyciskiem myszy, Nowy »Folder , wprowadźNotepad++

Następnie użyłem innego okna Eksploratora, aby utworzyć skrót do notepad++.exe, a następnie przeciągnąłem i upuściłem ten skrót do C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Notepad++, odpowiadając w oknie dialogowym Odmowa dostępu do folderu docelowego za pomocą Kontynuuj .

Następnie wyłącz funkcję AutoUpdate dla wtyczek w Notepad ++, podobnie jak większość oprogramowania w dzisiejszych czasach „Aktualizacje” są często „wrogie” i wiążą się z dużym ryzykiem. W przypadku aplikacji wolę wiedzieć, kiedy nastąpi aktualizacja ... nie jest to usługa, więc bardziej zaufać programistom, aby poprawnie przetestować swój kod.

Idź »Wtyczki» Menedżer wtyczek »Pokaż wtyczki» Ustawienia (lewy dolny róg), tam odznacz Powiadom o aktualizacjach wtyczek przy uruchomieniu .

Teraz mogę ponownie przeciągnąć i upuścić.

Teraz proces Notepad ++ nie jest uruchamiany jako podwyższone zadanie, a inne aplikacje, takie jak Explorer, mogą przeciągać i upuszczać pliki w otwartym oknie programu Notepad ++, aby je otworzyć.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.