![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
Syberex |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 208 Регистрация: 15.9.2006 Где: Украина Репутация: нет Всего: нет |
проблемка такая, необходимо разблокировать хендл открытого фала, а потом удалить файл или переименовать, переместить, как это сделать?
--------------------
whole power in artificial intelligences |
|||
|
||||
Alexey_2007 |
|
||||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 119 Регистрация: 30.12.2006 Репутация: 1 Всего: 1 |
Если файл открыт другим процессом, то простого открытого способа перетянуть его себе я не знаю.
Зато! Есть способ поометить его например на удаление после перезагрузки компьютера, и при желании - эту перезагрузку вызвать.
Пометили на удаление... все ОК вроде... Добавлено @ 10:34 Перезагрузить можно либо так
либо так
Например. --------------------
Святая простота |
||||||
|
|||||||
Syberex |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 208 Регистрация: 15.9.2006 Где: Украина Репутация: нет Всего: нет |
Ну спасибки, ну перезагрузку не очень хочется.
есть програмка http://ccollomb.free.fr/unlocker/unlocker1.8.1.exe , которая позволяет разбокировать хендлы, но думаю это не сложно с++ сделать, но вот как ? --------------------
whole power in artificial intelligences |
|||
|
||||
W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 20 Всего: 121 |
Хэндлы не бывают заблокированные или не заблокированные... А работа с занятыми файлами обсуждалась не раз и были приведены рабочие примеры. Сходи на wasm.ru там вообще этой теме отдельная статья посвящена, 3 способа рассматривается и как раз на С++.
-------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
Damarus |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 671 Регистрация: 6.5.2006 Репутация: 6 Всего: 29 |
|
|||
|
||||
Syberex |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 208 Регистрация: 15.9.2006 Где: Украина Репутация: нет Всего: нет |
typedef struct _SYSTEM_HANDLE { ULONG uIdProcess; UCHAR ObjectType; UCHAR Flags; USHORT Handle; POBJECT pObject; ACCESS_MASK GrantedAccess; } SYSTEM_HANDLE, *PSYSTEM_HANDLE; вот эту штуку не компилит , какую инклюду включить system.h не рулит ![]() --------------------
whole power in artificial intelligences |
|||
|
||||
Любитель |
|
|||
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 24 Всего: 92 |
Syberex, пиши подробней - на что ругается.
Насчёт инклюдов - поставь windows.h. Или winnt.h + windefs.h, но первое надёжней ![]() |
|||
|
||||
Syberex |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 208 Регистрация: 15.9.2006 Где: Украина Репутация: нет Всего: нет |
включил эти файлы
#include "ntdll.h" #include "ntstatus.h" но в ntdll.h при компиляции пишит ошибку , что макрос не правильный строчка 3310 , макрос #define RtlLargeIntegerLessThanZero($a) (($a).HighPart < 0) и что тут не правильно ? ![]() --------------------
whole power in artificial intelligences |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |