Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.08.2012, 12:14   #1
davidoff_pk
Пользователь
 
Регистрация: 08.04.2011
Сообщений: 21
По умолчанию Признак запущенного файла

Добрый день.

Возникла такая проблема. Есть у меня программа-архвиатор, которая бегает по сетевым ресурсам и выполняет свою работу. Программа работает в тихом режиме на шедулере и все хорошо... Но радость заканчивается, когда программа натыкается на файл, который в данный момент запущен каким-то юзером. WinRar выдает ошибку и требует ручного вмешательства.

Вопрос: наверняка у файла есть какой-то атрибут открытия или блокировки... подскажите пожалуйста ключевые слова, а еще лучше пример нахождения этого атрибута, конечно)
davidoff_pk вне форума Ответить с цитированием
Старый 03.08.2012, 12:28   #2
davidoff_pk
Пользователь
 
Регистрация: 08.04.2011
Сообщений: 21
По умолчанию

В принципе, я посмотрел, меня устраивает сочетание ключей -y -inul винрара. Но все равно, если кто знает, буду благодарен за ответ на вопрос.
davidoff_pk вне форума Ответить с цитированием
Старый 03.08.2012, 12:59   #3
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

проверить запущен exe файл или нет очень легко: надо попытаться открыть его (CreateFile) с доступом на запить, если не открывается значит exe файл запущен
rpy3uH вне форума Ответить с цитированием
Старый 03.08.2012, 14:16   #4
davidoff_pk
Пользователь
 
Регистрация: 08.04.2011
Сообщений: 21
По умолчанию

Ну там не ехе файл, там xls или txt, но суть наверное от этого не меняется. Попробовать открыть файл и ловить эксепшн. А чего-нить красивее нету? Неужели нет атрибута какого-нить или параметра?
davidoff_pk вне форума Ответить с цитированием
Старый 03.08.2012, 15:31   #5
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

нету никакого аттрибута, и не должно быть.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 03.08.2012, 16:38   #6
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,330
По умолчанию

Попробуйте сначала сделать копию файла - похоже архиватор пытается открыть файл в режиме чтение/запись тогда как запущеныйе программы можно открывать только в режиме чтения.
waleri вне форума Ответить с цитированием
Старый 04.08.2012, 07:13   #7
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

Цитата:
тогда как запущеныйе программы можно открывать только в режиме чтения
Не совсем верно... зависит от того с какими параметры открывался файл. Но т.к. много программистов этим не заморачивается, то условно можно и так.
p51x вне форума Ответить с цитированием
Старый 04.08.2012, 12:01   #8
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,330
По умолчанию

Ну и как мы меняем параметры открывания файла у операционки - это вы про swaprun?
waleri вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как узнать путь запущенного exe файла (С# WPF) Яр|/||< (^_^) WPF, UWP, WinRT, XAML 3 04.09.2010 16:37
Составить программу формирования массива из 15 элементов, в которой используется признак р anksunamun Помощь студентам 7 12.11.2009 23:35
Как снять с файла признак что он занят другим пользователем Chelentano Microsoft Office Excel 1 12.08.2009 10:56
Признак переполнения Dayne Общие вопросы C/C++ 9 19.03.2009 18:26