|
5472 / 1150 / 50
Регистрация: 15.09.2012
Сообщений: 3,576
|
|
Как узнать, открыт ли нужный файл12.07.2013, 08:57. Показов 2877. Ответов 8
Метки нет (Все метки)
Как узнать, открыт ли нужный файл с помощью API-функций?
В Excel, например, можно скрыть окно книги, в этом случае API-функция "FindWindow" не работает.
0
|
|
| 12.07.2013, 08:57 | |
|
Ответы с готовыми решениями:
8
Как узнать открыт ли файл Excel Как узнать открыт ли Word файл?
|
|
Супер-модератор
|
|
| 12.07.2013, 13:06 | |
|
При чем тут открытый файл, и FindWindow... Можно написать программу, которая будет просто открывать файл, и работать с ним, не показывая никак его содержимое. От этого файл не перестает быть открытым.
Уточни задачу. Тебе надо узнать, открыт ли какой-то конкретный файл Excel-ем? Тогда WinAPI вообще не при делах: проверяй все айтемы в Application.Workbooks, если хоть в одном Item.Name совпадает с нужным тебе - значит, файл открыт.
0
|
|
|
5472 / 1150 / 50
Регистрация: 15.09.2012
Сообщений: 3,576
|
||
| 12.07.2013, 13:34 [ТС] | ||
|
Мне нужно узнать с помощью API-функций: открыт нужный файл или нет. А для чего мне это нужно - это не относится к данной теме.
0
|
||
|
Супер-модератор
|
||||||
| 12.07.2013, 13:52 | ||||||
|
Сага о X, Y и Z..., как раз твой случай...
Еще раз: что значит "открыт файл или нет?" Если я в своей программе делаю
0
|
||||||
|
5472 / 1150 / 50
Регистрация: 15.09.2012
Сообщений: 3,576
|
||
| 12.07.2013, 13:54 [ТС] | ||
|
0
|
||
|
267 / 189 / 33
Регистрация: 15.01.2011
Сообщений: 681
|
||
| 12.07.2013, 14:03 | ||
|
0
|
||
|
5472 / 1150 / 50
Регистрация: 15.09.2012
Сообщений: 3,576
|
|
| 12.07.2013, 14:06 [ТС] | |
|
ssXXss, мне нужно с помощью API-функций.
Если нельзя с помощью API-функций этого сделать, тогда надо будет уже что-нибудь другое думать.
0
|
|
|
Почетный модератор
|
|||||||
| 12.07.2013, 17:28 | |||||||
|
Пример как получить список хендлов можно здесь посмотреть, а там далее копируем дескриптор в свой процесс (NtDuplicateObject), смотрим тип (SYSTEM_HANDLE_ENTRY::ObjectType, если не ошибаюсь файлы это тип 0x1C) и получаем имя объекта (NtQueryObject + ObjectNameInformation) для файла. Преобразовать в нормальный путь имя объекта можно с помощью GetFinalPathNameByHandle/GetFileInformationByHandleEx.
1
|
|||||||
|
78 / 60 / 9
Регистрация: 26.06.2013
Сообщений: 198
|
|
| 12.07.2013, 21:41 | |
|
Думаю поможет это
dwShareMode
If this parameter is zero and CreateFile succeeds, the file or device cannot be shared and cannot be opened again until the handle to the file or device is closed. For more information, see the Remarks section.
Не по теме: Но если получил эксклюзивный доступ, то нафиг это знание. Если хендл закрыл, то через несколько миллисекунд файл может быть уже открыт кем-то другим. Получается тоже нафиг такое знание. Тут, правда, если кто-то другой попытается открыть после или уже открыл с dwDesiredAccess == 0, то хендл все-равно откроется.
0
|
|
| 12.07.2013, 21:41 | |
|
Помогаю со студенческими работами здесь
9
Узнать открыт-закрыт файл в другой программе, можно и по заголовку, как угодно Как узнать версию ОС и выдать нужный файл исходя из этого? Узнать имя пользователя у кого открыт файл Узнать каким пользователем открыт файл на сетевом диске Ошибка Файл не может быть открыт ядром базы данных microsoft jet. Файл уже открыт другим пользователем для монопольного доступа или Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
|
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма).
На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
|
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ *
Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам
Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|