<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; AHK: узнать, что обрабатываемый файл занят другим процессом]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=10013</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=10013&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: узнать, что обрабатываемый файл занят другим процессом».]]></description>
		<lastBuildDate>Wed, 01 Oct 2014 17:36:35 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: узнать, что обрабатываемый файл занят другим процессом]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=86932#p86932</link>
			<description><![CDATA[<p>Спасибо, попробую</p>]]></description>
			<author><![CDATA[null@example.com (emmetoya)]]></author>
			<pubDate>Wed, 01 Oct 2014 17:36:35 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=86932#p86932</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: узнать, что обрабатываемый файл занят другим процессом]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=86930#p86930</link>
			<description><![CDATA[<p>Можно попытаться открыть файл на чтение и запись (rw) командой <a href="http://ahkscript.org/docs/commands/FileOpen.htm">FileOpen</a> и проверить, что она возвращает.</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Wed, 01 Oct 2014 16:11:22 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=86930#p86930</guid>
		</item>
		<item>
			<title><![CDATA[AHK: узнать, что обрабатываемый файл занят другим процессом]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=86928#p86928</link>
			<description><![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>]]></description>
			<author><![CDATA[null@example.com (emmetoya)]]></author>
			<pubDate>Wed, 01 Oct 2014 15:39:18 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=86928#p86928</guid>
		</item>
	</channel>
</rss>
