FileUnlock — принудительное закрытие файла

Здесь можно обсудить ваш любимый плагин.
User avatar
artemsen
Posts: 752
Joined: Sun 07 Feb, 2010 08:55
Been thanked: 2 times

Re: FileUnlock - принудительное закрытие файла

Post by artemsen » Mon 27 Dec, 2010 16:13

Latest post of the previous page:

artemsen wrote:Ограничение:
Far должен быть запущен с правами пользователя, не ниже чем процесс, открывший файл. Другими словами - если файл открыт под администратором, а плагин вызван из под обычного пользователя - результата не будет.
А драйвер - это режим ядра.

Maximus5
Posts: 3292
Joined: Sun 11 Nov, 2007 02:03
Been thanked: 4 times
Contact:

Re: FileUnlock — принудительное закрытие файла

Post by Maximus5 » Mon 27 Dec, 2010 16:57

Зависает при попытке получить GetFinalPathNameByHandle на очередном дескрипторе (GetFinalPathNameByHandle).
Виснет не сразу, а обработав несколько десятков тыщ дескрипторов за пару секунд. Зависает все время на одном и том же (если список процессов не меняется).

ProcList для них кажет пустой путь. Прибил подряд 3 процесса, на которых зависало. После зависания на far.exe (единственном в системе) надоело :P



особо цинично выглядит DuplicateHandle для самого себя. Hint, (process != currProc) не правильно.

Win7 х64, Far х86

в архив FarFileUnlock_1.0_src.zip попала пустая папка SQLite

User avatar
artemsen
Posts: 752
Joined: Sun 07 Feb, 2010 08:55
Been thanked: 2 times

Re: FileUnlock — принудительное закрытие файла

Post by artemsen » Mon 27 Dec, 2010 17:01

1. Виснет скорее всего на пайпе, поправлю.
2. DuplicateHandle не для себя, там хендл другого процесса
3. (process != currProc) - чем не понравился?
4. SQLite - копипаст, поправлю :-)

Maximus5
Posts: 3292
Joined: Sun 11 Nov, 2007 02:03
Been thanked: 4 times
Contact:

Re: FileUnlock — принудительное закрытие файла

Post by Maximus5 » Mon 27 Dec, 2010 17:16

Как я уже сказал, виснет и на самом фаре. Так что твое условие с currProc не работает. Да и с чего ему работать? OpenProcess никогда не даст то же значение, что GetCurrentProcess

User avatar
artemsen
Posts: 752
Joined: Sun 07 Feb, 2010 08:55
Been thanked: 2 times

Re: FileUnlock — принудительное закрытие файла

Post by artemsen » Mon 27 Dec, 2010 19:03

Да, с GetCurrentProcess я действительно ступил, поправлю.

User avatar
lordmuzer
Posts: 522
Joined: Mon 12 Nov, 2007 22:05
Location: Киев
Contact:

Re: FileUnlock — принудительное закрытие файла

Post by lordmuzer » Tue 28 Dec, 2010 16:47

обновил до версии 1,1,1.
стало работать на XP, спасибо!

попробовал вызвать для своего же каталога (\far2\plugins\fileunlock), когда на пассивной панели был этот же каталог - фар завис намертво.
до сих пор не могу снять задачу )

User avatar
Kerberos464
Posts: 1239
Joined: Wed 29 Jul, 2009 20:24
Location: Saint-Petersburg
Has thanked: 19 times
Been thanked: 1 time

Re: FileUnlock — принудительное закрытие файла

Post by Kerberos464 » Tue 28 Dec, 2010 23:09

версия 1.1.1 и у меня заработала, спасибо :)
но вот что выдаёт для файла:

хотя этот файл заблокирован, его не удаётся удалить.
это разновидность случая, о котором говорил zg?
win7 x86, far 2.0.1768, комп вне домена, права админа, uac выключен.

add. хм, вызываю плагин на папке самого плагина, тоже говорит, что "Open handles not found".
16.09.2012 14:35:28 +0200 - build 2799 - все нативные плагины перестали работать.
30.09.2012 03:26:20 +0200 - build 2851 - все макросы перестали работать.
31.02.2029 25:61:61 +0200 - build 6666 - весь фар перестал работать.

User avatar
artemsen
Posts: 752
Joined: Sun 07 Feb, 2010 08:55
Been thanked: 2 times

Re: FileUnlock — принудительное закрытие файла

Post by artemsen » Wed 29 Dec, 2010 08:03

Да, именно так. Этот файл используется системой, а не пользовательскими приложениями.
По поводу "плагин на папке самого плагина" - в папку нужно войти.

Maximus5
Posts: 3292
Joined: Sun 11 Nov, 2007 02:03
Been thanked: 4 times
Contact:

Re: FileUnlock — принудительное закрытие файла

Post by Maximus5 » Wed 29 Dec, 2010 09:31

artemsen wrote:Да, именно так. Этот файл используется системой, а не пользовательскими приложениями.
Ну, как минимум, можно проверять список загруженных модулей (это ведь тоже "блокировка").
Правда, нужно аккуратно проверять x86модули из x64фара. А для проверки x64модулей из x86фара нужен процесс-враппер (64битный)

User avatar
lordmuzer
Posts: 522
Joined: Mon 12 Nov, 2007 22:05
Location: Киев
Contact:

Re: FileUnlock — принудительное закрытие файла

Post by lordmuzer » Wed 29 Dec, 2010 09:33

artemsen wrote:Да, именно так. Этот файл используется системой, а не пользовательскими приложениями.
может сейчас глупость скажу, но, а нельзя ли хотя бы просто подать признак что файл может быть занять системой ?
artemsen wrote:По поводу "плагин на папке самого плагина" - в папку нужно войти.
а что это даст?
проблема не в том, что плагин не нашел ничего, а в том что повис, причем довольно сильно.
помогла перезагрузка. но больше повторить не смог. пока что ломаю)

User avatar
artemsen
Posts: 752
Joined: Sun 07 Feb, 2010 08:55
Been thanked: 2 times

Re: FileUnlock — принудительное закрытие файла

Post by artemsen » Wed 29 Dec, 2010 09:38

Maximus5 wrote:Ну, как минимум, можно проверять список загруженных модулей (это ведь тоже "блокировка").
Не уловил мысль. WindowsUpdate.log - это не загружаемый модуль.
lordmuzer wrote:проблема не в том, что плагин не нашел ничего, а в том что повис, причем довольно сильно.
помогла перезагрузка. но больше повторить не смог. пока что ломаю)
Так вот я и воспроизвести не могу. XP+Far x32?

Maximus5
Posts: 3292
Joined: Sun 11 Nov, 2007 02:03
Been thanked: 4 times
Contact:

Re: FileUnlock — принудительное закрытие файла

Post by Maximus5 » Wed 29 Dec, 2010 09:54

Не, речь шла не о .log, а о папке плагина. Ведь "из нее" загружена сама ".dll"? Или для .dll/папки и без этого работает?

User avatar
artemsen
Posts: 752
Joined: Sun 07 Feb, 2010 08:55
Been thanked: 2 times

Re: FileUnlock — принудительное закрытие файла

Post by artemsen » Wed 29 Dec, 2010 09:57

Для папки и так работает (должно по крайней мере). А dll пока только в планах.

Maximus5
Posts: 3292
Joined: Sun 11 Nov, 2007 02:03
Been thanked: 4 times
Contact:

Re: FileUnlock — принудительное закрытие файла

Post by Maximus5 » Wed 29 Dec, 2010 10:02

А префикс будет(есть)? Смысл в том, чтобы понять кто блокирует флешку, когда ее отключить не получается.

User avatar
artemsen
Posts: 752
Joined: Sun 07 Feb, 2010 08:55
Been thanked: 2 times

Re: FileUnlock — принудительное закрытие файла

Post by artemsen » Wed 29 Dec, 2010 10:22

Да, префикс добавлю.

User avatar
John Doe
Бюрократ
Posts: 12519
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 33 times
Been thanked: 228 times

Re: FileUnlock — принудительное закрытие файла

Post by John Doe » Wed 29 Dec, 2010 12:50

Хотелось бы более короткий и/или настраиваемый префикс (можно без диалога настройки).

User avatar
artemsen
Posts: 752
Joined: Sun 07 Feb, 2010 08:55
Been thanked: 2 times

Re: FileUnlock — принудительное закрытие файла

Post by artemsen » Wed 29 Dec, 2010 13:16

Готово

Post Reply

Return to “Обсуждение плагинов”