Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
13.02.2014, 17:50
|
|||
---|---|---|---|
Вернуть процесс по имени файла. |
|||
#18+
Ну проблема простая есть файл, скажем tmp.doc, он занят процессом. Очень хочется вернуть процесс исходя из названия файла, а не приложения которое его держит(в данном случае WINWORD) не юзая ту же Handle. Нигде в свойствах процесса, найти ссылку на полный путь к файлу не удается, хотя MainWindowTitle содержит его название без пути. Желательно, не лезя на уровень CIL. Простите за внимание. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
14.02.2014, 11:01
|
|||
---|---|---|---|
Вернуть процесс по имени файла. |
|||
#18+
Среди этого... желаемого не оказалось? http://stackoverflow.com/questions/317071/how-do-i-find-out-which-process-is-locking-a-file-using-net ... |
|||
:
Нравится:
Не нравится:
|
|||
|
14.02.2014, 11:08
|
|||
---|---|---|---|
|
|||
Вернуть процесс по имени файла. |
|||
#18+
buserСреди этого... желаемого не оказалось? http://stackoverflow.com/questions/317071/how-do-i-find-out-which-process-is-locking-a-file-using-net я в свое время пытался приспособить то, что по ссылке - перепробовал все варианты. Не взлетело. Либо проблемы с правами учетки, под которой запускается, либо с переносимостью между версиями windows, либо просто тупо не работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
14.02.2014, 11:56
|
|||
---|---|---|---|
Вернуть процесс по имени файла. |
|||
#18+
Сон Веры Павловныя в свое время пытался приспособить то, что по ссылке - перепробовал все варианты. Не взлетело. Либо проблемы с правами учетки, под которой запускается, либо с переносимостью между версиями windows, либо просто тупо не работает. Аналогично. Вчера весь день ковырял. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
14.02.2014, 12:09
|
|||
---|---|---|---|
Вернуть процесс по имени файла. |
|||
#18+
ALOTE, а результаты работы Handle Вас устраивают, но не хотся стартовать внешний процесс? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
14.02.2014, 12:28
|
|||
---|---|---|---|
Вернуть процесс по имени файла. |
|||
#18+
buser, Handle меня не устраивает, потому что требует админских прав, а мое приложение используется, в том числе юзерами, которые этих прав не имеют. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
14.02.2014, 12:29
|
|||
---|---|---|---|
Вернуть процесс по имени файла. |
|||
#18+
ПыСы в принципе, если кто знает куда копнуть в сторону CIL, я уже и на это согласен. Заодно покопаюсь в нем, что душеполезно. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
14.02.2014, 12:43
|
|||
---|---|---|---|
Вернуть процесс по имени файла. |
|||
#18+
ALOTE, так чудес-то не бывает... и копать придется, скорее всего в сторону WinAPI ну и... это... можно же крутить отдельный процесс с достаточными привилегиями и общаться клиент будет уже с этим... эээ... сервисом :) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
14.02.2014, 12:47
|
|||
---|---|---|---|
Вернуть процесс по имени файла. |
|||
#18+
Кстати, утро вечера мудренее, посему видать, сейчас удалось, запустить первый вариант из http://stackoverflow.com/questions/860656/using-c-how-does-one-figure-out-what-process-locked-a-file. Пока ругается через раз, поэтому, думаю, потребуется обработка напильником, но все таки работает из под 7-ки, хоть и не стабильно. Надо будет еще под 8-й погонять. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
14.02.2014, 12:49
|
|||
---|---|---|---|
Вернуть процесс по имени файла. |
|||
#18+
Вот еще одна проекция: http://hintdesk.com/c-get-all-files-being-accessed-by-a-process-in-64-bits/ ... |
|||
:
Нравится:
Не нравится:
|
|||
|
14.02.2014, 12:56
|
|||
---|---|---|---|
Вернуть процесс по имени файла. |
|||
#18+
Да процесс убить удалось. Теперь есть вопрос позаковыристей. Когда убивается процесс WINWORD, то закрываются все файлы WORD. Предвкушаю справедливое возмущение юзеров, у которых будут пропадать не сохраненные документы(предупреждение они ступодофф проигнорируют), посему интересно было бы не убивать процесс, а перехватить управление им, и из него закрывать нужный мне файл. По факту нужно получить ссылку на Word.Application из определенного процесса. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
14.02.2014, 13:07
|
|||
---|---|---|---|
Вернуть процесс по имени файла. |
|||
#18+
А, ну получить это легко оказалось Word.Application myWord = new Word.Application(myProcess); Щас копаю, как из него файл закрыть. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
14.02.2014, 14:49
|
|||
---|---|---|---|
Вернуть процесс по имени файла. |
|||
#18+
Забил, вывел предупреждение что бы файлы Word сохраняли, во избежании, а то чую, заказчик не очень доволен будет, если я пару дней себе в удовольствие в WinAPI копаться буду. Но проблема актуальная, если кто знает как закрыть открытый процессом файл, зная и файл и процесс без убийства процесса, телеграфируйте, буду благодарен, при том ни я один. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
14.02.2014, 15:39
|
|||
---|---|---|---|
Вернуть процесс по имени файла. |
|||
#18+
Ну таки снова через API CreateRemotethread ( http://www.codeguru.com/cpp/w-p/files/fileio/article.php/c1287/Deleting-Locked-Files.htm) НО... это не гарантирует вам ничего... ни защиты от возможного креша этой аликухи ни от дедлока... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
14.02.2014, 15:40
|
|||
---|---|---|---|
Вернуть процесс по имени файла. |
|||
#18+
P.S.: и на дебуг привилегии обратите внимание ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=20&mobile=1&tid=1403270]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
38ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
others: | 316ms |
total: | 450ms |
0 / 0 |