<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK: WinMenuSelectItem не воспринимает меню с пробелами]]></title>
	<link rel="self" href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=10980&amp;type=atom" />
	<updated>2015-10-01T07:22:18Z</updated>
	<generator>PunBB</generator>
	<id>http://forum.script-coding.com/viewtopic.php?id=10980</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: WinMenuSelectItem не воспринимает меню с пробелами]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=97803#p97803" />
			<content type="html"><![CDATA[<p>Вот и добрался я до работы...<br />В принципе картинка поменялась, но вывод тот-же, что и другими скриптами, грубо говоря ничего нового или того, что могло хоть немного прояснить ситуацию. Но спасибо за помощь <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p>]]></content>
			<author>
				<name><![CDATA[unKn0wn]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=27432</uri>
			</author>
			<updated>2015-10-01T07:22:18Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=97803#p97803</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: WinMenuSelectItem не воспринимает меню с пробелами]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=97756#p97756" />
			<content type="html"><![CDATA[<p>Попробуй навести на пункт меню той программы и через скрипт который ниже, нажать средней кнопкой мыши.Должен показаться тултип. Есть ли там имя пункта?<br /></p><div class="codebox"><pre><code>DllCall(&quot;LoadLibrary&quot;,&quot;Str&quot;,&quot;oleacc&quot;,&quot;Ptr&quot;)

Acc_ObjectFromPoint(ByRef _idChild_ = &quot;&quot;, x = &quot;&quot;, y = &quot;&quot;)
{
    If    DllCall(&quot;oleacc\AccessibleObjectFromPoint&quot;, &quot;Int64&quot;, x==&quot;&quot;||y==&quot;&quot;?0*DllCall(&quot;GetCursorPos&quot;,&quot;Int64*&quot;,pt)+pt:x&amp;0xFFFFFFFF|y&lt;&lt;32, &quot;Ptr*&quot;, pacc, &quot;Ptr&quot;, VarSetCapacity(varChild,8+2*A_PtrSize,0)*0+&amp;varChild)=0
    Return    ComObjEnwrap(9,pacc,1), _idChild_:=NumGet(varChild,8,&quot;UInt&quot;)
}
Acc_Parent(Acc) { 
    try parent:=Acc.accParent
    return parent?Acc_Query(parent):
}
Acc_Query(Acc) { ; thanks Lexikos - www.autohotkey.com/forum/viewtopic.php?t=81731&amp;p=509530#509530
    try return ComObj(9, ComObjQuery(Acc,&quot;{618736e0-3c3d-11cf-810c-00aa00389b71}&quot;), 1)
}

MButton::
try tooltip % &quot;1`t&quot; Acc_ObjectFromPoint(c).AccName(c)
        . &quot;`n2`t&quot; Acc_Parent(Acc_ObjectFromPoint(c)).AccName(0)
        . &quot;`n3`t&quot; Acc_Parent(Acc_Parent(Acc_ObjectFromPoint(c))).AccName(0)
        . &quot;`n4`t&quot; Acc_Parent(Acc_Parent(Acc_Parent(Acc_ObjectFromPoint(c)))).AccName(0)
        . &quot;`n&quot;
        . &quot;5`t&quot; Acc_ObjectFromPoint(c).AccValue(c)
        . &quot;`n6`t&quot; Acc_Parent(Acc_ObjectFromPoint(c)).AccValue(0)
        . &quot;`n7`t&quot; Acc_Parent(Acc_Parent(Acc_ObjectFromPoint(c))).AccValue(0)
        . &quot;`n8`t&quot; Acc_Parent(Acc_Parent(Acc_Parent(Acc_ObjectFromPoint(c)))).AccValue(0)</code></pre></div>]]></content>
			<author>
				<name><![CDATA[yalanne]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=32850</uri>
			</author>
			<updated>2015-09-29T06:13:03Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=97756#p97756</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: WinMenuSelectItem не воспринимает меню с пробелами]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=97754#p97754" />
			<content type="html"><![CDATA[<p>Видимо наши программисты накрутили, перехитрили или пере ленились <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /> Жалко, что не побороть эту гадость.</p>]]></content>
			<author>
				<name><![CDATA[unKn0wn]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=27432</uri>
			</author>
			<updated>2015-09-29T01:27:32Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=97754#p97754</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: WinMenuSelectItem не воспринимает меню с пробелами]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=97753#p97753" />
			<content type="html"><![CDATA[<p>Ну, значит ничего не понятно. <img src="//forum.script-coding.com/img/smilies/lol.png" width="15" height="15" /></p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2015-09-29T01:21:07Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=97753#p97753</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: WinMenuSelectItem не воспринимает меню с пробелами]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=97752#p97752" />
			<content type="html"><![CDATA[<p>В основном выводит MFT_SEPARATOR. Кое-где проскакивают названия, но в основном именно этот вывод, и количество строк с&nbsp; MFT_SEPARATOR не совпадает с количеством субменю в софте. Если не присваивать значений то выводит: &quot;подменю не найдено&quot;.</p>]]></content>
			<author>
				<name><![CDATA[unKn0wn]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=27432</uri>
			</author>
			<updated>2015-09-29T01:17:38Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=97752#p97752</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: WinMenuSelectItem не воспринимает меню с пробелами]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=97751#p97751" />
			<content type="html"><![CDATA[<p>Там последний пункт — крестик, нужно порядковый номер указать (от 1 до 12, если пункт «?» имеет порядковый номер 12).</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2015-09-29T00:53:50Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=97751#p97751</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: WinMenuSelectItem не воспринимает меню с пробелами]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=97750#p97750" />
			<content type="html"><![CDATA[<p>В Notepad++ (английская версия) у меня пишет - &quot;подменю не найдено&quot;.</p>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2015-09-29T00:52:10Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=97750#p97750</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: WinMenuSelectItem не воспринимает меню с пробелами]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=97749#p97749" />
			<content type="html"><![CDATA[<p>Ну ради интереса такой код запустите:<br /></p><div class="codebox"><pre><code>NumberOfMenuItem := &quot;&quot;   ; если оставить пустое значение, выдаст информацию о пунктах последнего подменю оконного меню
                         ; если присвоить номер — выдаст информацию о пунктах подменю с этим номером
                         
MIIM_FTYPE := 0x100, MIIM_STRING := 0x40, oType := {0: &quot;MFT_STRING&quot;, 0x800: &quot;MFT_SEPARATOR&quot;, 0x4: &quot;MFT_BITMAP&quot;}

F11::
   InfoString := &quot;&quot;
   if !hMenu := DllCall(&quot;GetMenu&quot;, Ptr, WinExist(&quot;A&quot;), Ptr)  {
      MsgBox, Окно использует нестандартное меню
      Return
   }
   count := DllCall(&quot;GetMenuItemCount&quot;, Ptr, hMenu)
   if !hMenu := DllCall(&quot;GetSubMenu&quot;, Ptr, hMenu, Int, NumberOfMenuItem = &quot;&quot; ? count - 1 : NumberOfMenuItem - 1)  {
      MsgBox, Подменю не найдено
      Return
   }
   count := DllCall(&quot;GetMenuItemCount&quot;, Ptr, hMenu)
   Loop % count  {
      Gosub, IniMII
      NumPut(MIIM_FTYPE, &amp;MENUITEMINFO + 4)
      DllCall(&quot;GetMenuItemInfo&quot;, Ptr, hMenu, UInt, A_Index - 1, UInt, true, Ptr, &amp;MENUITEMINFO)
      type := oType[NumGet(&amp;MENUITEMINFO + 8, &quot;UInt&quot;)]
      InfoString .= (InfoString = &quot;&quot; ? &quot;&quot; : &quot;`n&quot;)
      if (type != &quot;MFT_STRING&quot;)
         InfoString .= type
      else  {
         Gosub, IniMII
         NumPut(MIIM_STRING, &amp;MENUITEMINFO + 4)
         DllCall(&quot;GetMenuItemInfo&quot;, Ptr, hMenu, UInt, A_Index - 1, UInt, true, Ptr, &amp;MENUITEMINFO)
         TextLength := NumGet(&amp;MENUITEMINFO + 4*4 + A_PtrSize*6, &quot;UInt&quot;)
         VarSetCapacity(TextBuff, TextLength * (A_IsUnicode ? 2 : 1), 0)
         NumPut(&amp;TextBuff, &amp;MENUITEMINFO + 4*4 + A_PtrSize*5)
         NumPut(++TextLength, &amp;MENUITEMINFO + 4*4 + A_PtrSize*6)
         DllCall(&quot;GetMenuItemInfo&quot;, Ptr, hMenu, UInt, A_Index - 1, UInt, true, Ptr, &amp;MENUITEMINFO)
         InfoString .= StrGet(&amp;TextBuff)
      }
   }
   MsgBox, % InfoString
   Return
      
IniMII:
   VarSetCapacity(MENUITEMINFO, size := 4*4 + A_PtrSize*8, 0)
   NumPut(size, MENUITEMINFO)
   Return</code></pre></div><p>Активируйте нужное окно и нажмите F11. Какое сообщение выдаёт?</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2015-09-29T00:22:33Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=97749#p97749</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: WinMenuSelectItem не воспринимает меню с пробелами]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=97748#p97748" />
			<content type="html"><![CDATA[<p>Да, даже в связке: Сервис, 1&amp;, 7&amp;.</p>]]></content>
			<author>
				<name><![CDATA[unKn0wn]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=27432</uri>
			</author>
			<updated>2015-09-29T00:18:17Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=97748#p97748</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: WinMenuSelectItem не воспринимает меню с пробелами]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=97747#p97747" />
			<content type="html"><![CDATA[<p>А те пункты, которые без пробелов, работают по названиям?</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2015-09-28T23:23:01Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=97747#p97747</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: WinMenuSelectItem не воспринимает меню с пробелами]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=97746#p97746" />
			<content type="html"><![CDATA[<p>Было бы здорово, но всё-равно этими знаниями не воспользоватся с WinMenuSelectItem.</p>]]></content>
			<author>
				<name><![CDATA[unKn0wn]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=27432</uri>
			</author>
			<updated>2015-09-28T22:46:31Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=97746#p97746</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: WinMenuSelectItem не воспринимает меню с пробелами]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=97745#p97745" />
			<content type="html"><![CDATA[<p>Ясно, речь уже не о Notepad++ идёт. Скорее всего, меню действительно не с текстом, а с картинками. Если хотите, могу написать код, который это проверит.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2015-09-28T22:41:06Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=97745#p97745</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: WinMenuSelectItem не воспринимает меню с пробелами]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=97744#p97744" />
			<content type="html"><![CDATA[<p>Вполне может быть, просто подумал сталкивался кто с таким чудом. Я бы использовал номера, но программа дорабатывается постоянно, и новые менюшки вполне могут появляться, потому хотелось бы так, чтобы по названию в меню скрипт ориентировался.</p>]]></content>
			<author>
				<name><![CDATA[unKn0wn]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=27432</uri>
			</author>
			<updated>2015-09-28T22:33:00Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=97744#p97744</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: WinMenuSelectItem не воспринимает меню с пробелами]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=97743#p97743" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>unKn0wn пишет:</cite><blockquote><p>В пример блокнот взял чтобы не на &quot;пальцах&quot; рассказывать, да и суть ода.</p></blockquote></div><p>Почему же &quot;ода&quot;? Меню разные бывают, стандартные и «самописные».</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2015-09-28T22:28:03Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=97743#p97743</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: WinMenuSelectItem не воспринимает меню с пробелами]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=97742#p97742" />
			<content type="html"><![CDATA[<p><a href="http://forum.script-coding.com/viewtopic.php?pid=97702#p97702">http://forum.script-coding.com/viewtopi … 702#p97702</a><br /></p><div class="quotebox"><blockquote><p>Странно, с блокнотом работает, а с <strong>КОРПОРАТИВНОЙ</strong> программой нет... И, в чем-же может быть загвоздка-то? Я уверен был, что проблема была в пробелах(даже не протестил на блокноте), а сейчас даже не знаю что думать. Явно не в кодировке дело, другие меню без пробела нормально открываются.</p></blockquote></div><p>В пример блокнот взял чтобы не на &quot;пальцах&quot; рассказывать, да и суть одна.</p>]]></content>
			<author>
				<name><![CDATA[unKn0wn]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=27432</uri>
			</author>
			<updated>2015-09-28T22:23:40Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=97742#p97742</id>
		</entry>
</feed>
