<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK: класс окна Afx:%x:%x:%x:%x:%x]]></title>
	<link rel="self" href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=9022&amp;type=atom" />
	<updated>2017-09-09T18:07:05Z</updated>
	<generator>PunBB</generator>
	<id>http://forum.script-coding.com/viewtopic.php?id=9022</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: класс окна Afx:%x:%x:%x:%x:%x]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=119214#p119214" />
			<content type="html"><![CDATA[<p>В общем, то ли, то ли, как говорится).<br />Уже все варианты перепробовал, ни в какую не находит через classnn.<br /></p><div class="codebox"><pre><code>SetTitleMatchMode Regex
ControlGet, OutputVar, Visible, , Internet Explorer_Server*, ahk_class IEFrame
ControlGet, OutputVar, Visible, , Internet Explorer_Server[0-9][{1}, ahk_class IEFrame
</code></pre></div><p>Там обычно в конце 1 или 8. <br />Это как пример. Вариантов много было, с разными приложениями, ни один не сработал.</p><p>Пока разбирался в причине, нашел другой способ. Он немного громоздкий и дольше будет выполняться, но как вариант тоже хорош.<br /></p><div class="codebox"><pre><code>WinGet, ControlList, ControlList, A</code></pre></div><p>И потом с помощью парсинга проверить все строки переменной.</p><p>Но первый способ явно попроще будет, только почему-то не срабатывает.</p>]]></content>
			<author>
				<name><![CDATA[Stepnoy]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=38030</uri>
			</author>
			<updated>2017-09-09T18:07:05Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=119214#p119214</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: класс окна Afx:%x:%x:%x:%x:%x]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=119181#p119181" />
			<content type="html"><![CDATA[<div class="codebox"><pre><code>SetTitleMatchMode Regex
title := &quot;^Afx:\d{8}:\S+&quot;</code></pre></div>]]></content>
			<author>
				<name><![CDATA[stealzy]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=31937</uri>
			</author>
			<updated>2017-09-08T22:05:37Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=119181#p119181</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: класс окна Afx:%x:%x:%x:%x:%x]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=119180#p119180" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Вадя пишет:</cite><blockquote><p>При каждом перезапуске программы последний блок %x ее класса меняется.<br />Вопрос: насколько однозначно можно определить приложение по такой маске<br />Afx:%x:%x:%x:%x:.*</p></blockquote></div><p>У меня вопрос, по сути, такой же, только чуть измененно-дополненный). Можно ли по маске определить, существует ли конкретное окно (приложение определять не нужно)?<br />Что-то типа: </p><div class="codebox"><pre><code>x := &quot;Afx:0000000140000000:8:0000000000010003:0000000000000000:*&quot; 
ControlGet, OutputVar, Visible, , % x, ahk_class класс любого окна</code></pre></div><p>Или, если возможно, перебором всех открытых окон конкретного приложения, вытянуть класс окна в переменную, дальше уже проще будет.</p>]]></content>
			<author>
				<name><![CDATA[Stepnoy]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=38030</uri>
			</author>
			<updated>2017-09-08T22:00:51Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=119180#p119180</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[AHK: класс окна Afx:%x:%x:%x:%x:%x]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=78130#p78130" />
			<content type="html"><![CDATA[<p>Многие окна приложений винды имеют ahk_class вида&nbsp; Afx:%x:%x:%x:%x:%x<br />например: Afx:0000000140000000:8:0000000000010003:0000000000000000:0000000011020B75<br />(нагугли что это структура MFC Window Class Names, насколько понял в х64 системах юзается наиболее активно)<br />При каждом перезапуске программы последний блок %x ее класса меняется.<br />Вопрос: насколько однозначно можно определить приложение по такой маске<br />Afx:%x:%x:%x:%x:.*</p><p>Вот например эти окна будут отличаться:<br />Afx:0000000140000000:b:0000000000010003:0000000000000006:0000000001090E59 ;ACDSee Pro 7<br />Afx:0000000140000000:8:0000000000010003:0000000000000000:0000000011020B75 ;Solidworks 2013</p><p>Короче пока писал понял что придется запустить все приложения и посмотреть самому ))<br />Но может кто-то даст теоретическое обоснование все таки. В доках написано что %x заполняется из WNDCLASS,<br />но синтаксиса этого заполнения я нигде не нашел. Что означает каждый блок %x непонятно в корне.</p>]]></content>
			<author>
				<name><![CDATA[Вадя]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=31324</uri>
			</author>
			<updated>2013-12-14T23:28:39Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=78130#p78130</id>
		</entry>
</feed>
