<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK: узнать, что обрабатываемый файл занят другим процессом]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=10013&amp;type=atom" />
	<updated>2014-10-01T17:36:35Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=10013</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: узнать, что обрабатываемый файл занят другим процессом]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=86932#p86932" />
			<content type="html"><![CDATA[<p>Спасибо, попробую</p>]]></content>
			<author>
				<name><![CDATA[emmetoya]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=32585</uri>
			</author>
			<updated>2014-10-01T17:36:35Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=86932#p86932</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: узнать, что обрабатываемый файл занят другим процессом]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=86930#p86930" />
			<content type="html"><![CDATA[<p>Можно попытаться открыть файл на чтение и запись (rw) командой <a href="http://ahkscript.org/docs/commands/FileOpen.htm">FileOpen</a> и проверить, что она возвращает.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2014-10-01T16:11:22Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=86930#p86930</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[AHK: узнать, что обрабатываемый файл занят другим процессом]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=86928#p86928" />
			<content type="html"><![CDATA[<p>Всем привет!<br />При помощи AHK запускаю Minicap, которая делает скрин рабочего стола и перезаписывает один и тот же файл с частотой около 4000 мс. Этот же файл периодически обрабатывается скриптом другой программы (1 раз в 500, 1 3500 мс, т.е. в какие-то моменты есть совпадения). <br />Из-за этого периодически вылетает ошибка &quot;процесс не может получить доступ к файлу так как файл занят другим процессом&quot;. Логичным решением будет проверять не занят ли файл другим процессом перед тем как запускать Minicap.</p><p>Как это сделать? В голову приходит только что-то вроде следующего алгоритма:<br />1. Берем исходный файл<br />2. Делаем его копию<br />3. Пробуем перезаписать копию в оригинал<br />4. Если ошибка - ждем какое-то время, повторяем<br />5. Если ошибки нет - запускаем Minicap и уже &quot;на боевую&quot; скриншотим с перезаписью</p><p>Проблема в том что делается 20 скринов (по 10 каждой из двух областей с периодичностью около 3700 мс) и нагромождать на каждый вызов конструкцию с проверкой приведет к увеличению общей длительности, что нежелательно.</p><p>Может посоветуете что-то более экологичное? Среди функционала не нашел готовой функции для такой задачи.<br />p.s. сейчас запустил на прогон с использованием RunAs, пока ошибок одновременного доступа нет, но этот вариант не подходит для постоянного использования.</p>]]></content>
			<author>
				<name><![CDATA[emmetoya]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=32585</uri>
			</author>
			<updated>2014-10-01T15:39:18Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=86928#p86928</id>
		</entry>
</feed>
