Что нового

Разблокировать файл

  • Автор темы VitAl2013
  • Дата начала
V

VitAl2013

Гость
Как рзлочить файл. Самаже программа его создаёт, но иногда не может его удалить. Уж не знаю почему, может антивир его кушает в это время... Задача разлочить. Ибо его перезаписать надо.
 
Автор
V

VitAl2013

Гость
Re: Разлочить файл

Я знаю, у меня такая есть. Но я хотел бы чтоб autoit скрипт это делал. Через WinAPI или ещё как, но чтоб без сторонних программ.
закрывать дескриптор
FileClose? есть такой, просто эта проблема возникает время от времени, грубо говоря 1 раз из 50.
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Re: Разлочить файл

Suppir
Предупреждение За нарушение правил форума (пункт А.7):
Запрещается обсуждение незаконного “ПО” в любой форме, как прямые, так и косвенные указания на возможность нахождения такового.


С уважением, Администратор форума.






Добавлено:
Сообщение автоматически объединено:

VitAl2013 [?]
Задача разлочить
У меня в словарном запасе нет такого слова, да и у perevodov.net тоже.

Если файл создан твоей же программой, то его нужно закрыть, либо программа использует некий внешний модуль который обращается к файлу.
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
Re: Разлочить файл

OffTopic:
В программе Unlocker, если мне не изменяет память, нет ничего противозаконного. В противном случае, мне было бы очень интересно почитать, где конкретно говорится об обратном.
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Re: Разлочить файл

OffTopic:
Kaster [?]
В программе Unlocker, если мне не изменяет память, нет ничего противозаконного.
А кто сказал что есть? Предупреждение касается обсуждения взлома. Возможно пункт в правилах не помешало бы немного изменить...
 
Автор
V

VitAl2013

Гость
Re: Разлочить файл

При чём тут взлом и хакерские программы? :blink: :suicide:
Я создаю фйал программой своей (всё своей и создаю и удаляю и перезапиываю), кидаю на него FileClose и пытаюсь его удалить. Один раз из 50 процесс хавает 99% проца и не удаляет файл (максимальное ожидание 20 мин), при этом застревает именно на этой операции (врублен Opt("TrayIconDebug", 1) - слежу по нему).Такое, в современности, может возникнуть на ровном месте, особенно в Windows.

OffTopic:
Unlocker оффициальный фриварный продукт. Использует WinAPI для всего что делает. Предназначен как раз для случаев когда какая-то программа держит файлы и надо их освободить (Бывает Adobe Reader не закрывается до конца, только GUI свой закроет, а файл держит; Антивирусы за постоянку держат пачку файлов для себя). От него и берёт своё начало слово разлочить - это слэнговая интерпритация слова. Lock -> лок -> лочить -> заперать-закрывать, Unlock -> обратное локу -> разлочить -> отпереть-открыть. У меня это вторая программа после Пунто которую я втыкаю на комп.
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Re: Разлочить файл

VitAl2013
Unlocker командную строку поддерживает. Справка по ней Unlocker -H или Unlocker /H.
Код:
Run(@ComSpec & " /c...
 
Автор
V

VitAl2013

Гость
Re: Разлочить файл

Я знаю, но:
я хотел бы чтоб autoit скрипт это делал
Мне надо будет пользователям и unlocker втюхать.
OffTopic:
Не проинсталить, а именно втюхать, так как программа моя не предусматривает установку. Состоит из одного exe. По сути подразумевает маленький размер. По крайней мере она почти такая же по размеру как Unlocker. И копировать себе её они будут сами. Поэтому мне её надо будет втюхать, как продавцы в магазинах какую-нибудь залежалую рухлядь к основному продукту дают.
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Re: Разлочить файл

VitAl2013
Посмотрите функции _WinAPI_LockFile, _WinAPI_UnlockFile в библиотеке WinAPIEx. Может быть поможет.
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
Re: Разлочить файл

VitAl2013
ставь цикл на FileClose с условием выхода из цикла успешное выполнение операции. например
Код:
Do
   $result = FileClose($handle)
   Sleep(10); чтобы не вешать проц если вдруг понадобится несколько операций
Until $result = 1
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Re: Разлочить файл

Kaster
Я у себя один раз такой цикл ставил, правда на FileDelete(), и скрипт зависал надолго.
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Re: Разлочить файл

VitAl2013 [?]
При чём тут взлом и хакерские программы?
Это было направлено к Suppir, который удалил свой пость с намёком на декомпилирование unlocker'а.

P.S
Без скрипта будет сложно определить почему это происходит.


Добавлено:
Сообщение автоматически объединено:

Я бы на крайний случай использовал OpenedFilesView, он прост в использований, поддерживает ком. строку, и сам exe'шник весит всего 40 kb.
 
Автор
V

VitAl2013

Гость
Re: Разлочить файл

Дело в том, что, я полагаю, сам скрипт файл разлочивает, но его перехватывает другая программа типа антивируса. Вот у него и надо отобрать наш файл (отобрать у всех кто посигнул, сказать "руки прочь, я его ща удалять буду"). Другими словами FileClose проходит, но тут же начинается его проверка (или ещё что-то, это просто моя догадка) сторонней программой которой до всего есть дело.

А лицензия OpenedFilesView предусматривает возможность использования внутри другого совта?
К сожалению OpenedFilesView работает не корректно, показывает что файл ничего не держит, а на самом деле я его ни удалить ни переименовать не могу.
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Re: Разлочить файл

VitAl2013 [?]
К сожалению OpenedFilesView работает не корректно
Он просто не всё поддерживает:

Known Issues
OpenedFilesView cannot close files opened by Windows kernel.

и на сколько мне известно, нет такой утлиты которая может определить и закрыть любой файл.


Добавлено:
Сообщение автоматически объединено:

VitAl2013 [?]
сам скрипт файл разлочивает
Что такое “разлочивает”? :blink:
 
Верх