|
|
|
Вернуть процесс по имени файла.
|
|||
|---|---|---|---|
|
#18+
Ну проблема простая есть файл, скажем tmp.doc, он занят процессом. Очень хочется вернуть процесс исходя из названия файла, а не приложения которое его держит(в данном случае WINWORD) не юзая ту же Handle. Нигде в свойствах процесса, найти ссылку на полный путь к файлу не удается, хотя MainWindowTitle содержит его название без пути. Желательно, не лезя на уровень CIL. Простите за внимание. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2014, 17:50:27 |
|
||
|
Вернуть процесс по имени файла.
|
|||
|---|---|---|---|
|
#18+
Среди этого... желаемого не оказалось? http://stackoverflow.com/questions/317071/how-do-i-find-out-which-process-is-locking-a-file-using-net ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2014, 11:01:54 |
|
||
|
Вернуть процесс по имени файла.
|
|||
|---|---|---|---|
|
#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:08:56 |
|
||
|
Вернуть процесс по имени файла.
|
|||
|---|---|---|---|
|
#18+
Сон Веры Павловныя в свое время пытался приспособить то, что по ссылке - перепробовал все варианты. Не взлетело. Либо проблемы с правами учетки, под которой запускается, либо с переносимостью между версиями windows, либо просто тупо не работает. Аналогично. Вчера весь день ковырял. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2014, 11:56:56 |
|
||
|
Вернуть процесс по имени файла.
|
|||
|---|---|---|---|
|
#18+
ALOTE, а результаты работы Handle Вас устраивают, но не хотся стартовать внешний процесс? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2014, 12:09:33 |
|
||
|
Вернуть процесс по имени файла.
|
|||
|---|---|---|---|
|
#18+
buser, Handle меня не устраивает, потому что требует админских прав, а мое приложение используется, в том числе юзерами, которые этих прав не имеют. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2014, 12:28:31 |
|
||
|
Вернуть процесс по имени файла.
|
|||
|---|---|---|---|
|
#18+
ПыСы в принципе, если кто знает куда копнуть в сторону CIL, я уже и на это согласен. Заодно покопаюсь в нем, что душеполезно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2014, 12:29:39 |
|
||
|
Вернуть процесс по имени файла.
|
|||
|---|---|---|---|
|
#18+
ALOTE, так чудес-то не бывает... и копать придется, скорее всего в сторону WinAPI ну и... это... можно же крутить отдельный процесс с достаточными привилегиями и общаться клиент будет уже с этим... эээ... сервисом :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2014, 12:43:51 |
|
||
|
Вернуть процесс по имени файла.
|
|||
|---|---|---|---|
|
#18+
Кстати, утро вечера мудренее, посему видать, сейчас удалось, запустить первый вариант из http://stackoverflow.com/questions/860656/using-c-how-does-one-figure-out-what-process-locked-a-file. Пока ругается через раз, поэтому, думаю, потребуется обработка напильником, но все таки работает из под 7-ки, хоть и не стабильно. Надо будет еще под 8-й погонять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2014, 12:47:30 |
|
||
|
Вернуть процесс по имени файла.
|
|||
|---|---|---|---|
|
#18+
Вот еще одна проекция: http://hintdesk.com/c-get-all-files-being-accessed-by-a-process-in-64-bits/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2014, 12:49:42 |
|
||
|
Вернуть процесс по имени файла.
|
|||
|---|---|---|---|
|
#18+
Да процесс убить удалось. Теперь есть вопрос позаковыристей. Когда убивается процесс WINWORD, то закрываются все файлы WORD. Предвкушаю справедливое возмущение юзеров, у которых будут пропадать не сохраненные документы(предупреждение они ступодофф проигнорируют), посему интересно было бы не убивать процесс, а перехватить управление им, и из него закрывать нужный мне файл. По факту нужно получить ссылку на Word.Application из определенного процесса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2014, 12:56:06 |
|
||
|
Вернуть процесс по имени файла.
|
|||
|---|---|---|---|
|
#18+
А, ну получить это легко оказалось Word.Application myWord = new Word.Application(myProcess); Щас копаю, как из него файл закрыть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2014, 13:07:26 |
|
||
|
Вернуть процесс по имени файла.
|
|||
|---|---|---|---|
|
#18+
Забил, вывел предупреждение что бы файлы Word сохраняли, во избежании, а то чую, заказчик не очень доволен будет, если я пару дней себе в удовольствие в WinAPI копаться буду. Но проблема актуальная, если кто знает как закрыть открытый процессом файл, зная и файл и процесс без убийства процесса, телеграфируйте, буду благодарен, при том ни я один. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2014, 14:49:33 |
|
||
|
Вернуть процесс по имени файла.
|
|||
|---|---|---|---|
|
#18+
Ну таки снова через API CreateRemotethread ( http://www.codeguru.com/cpp/w-p/files/fileio/article.php/c1287/Deleting-Locked-Files.htm) НО... это не гарантирует вам ничего... ни защиты от возможного креша этой аликухи ни от дедлока... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2014, 15:39:39 |
|
||
|
Вернуть процесс по имени файла.
|
|||
|---|---|---|---|
|
#18+
P.S.: и на дебуг привилегии обратите внимание ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2014, 15:40:38 |
|
||
|
|

start [/forum/topic.php?fid=20&msg=38560755&tid=1403270]: |
0ms |
get settings: |
9ms |
get forum list: |
20ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
214ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
73ms |
get tp. blocked users: |
2ms |
| others: | 251ms |
| total: | 595ms |

| 0 / 0 |
