<?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="http://forum.script-coding.com/extern.php?action=feed&amp;tid=6145&amp;type=atom" />
	<updated>2023-05-20T18:53:24Z</updated>
	<generator>PunBB</generator>
	<id>http://forum.script-coding.com/viewtopic.php?id=6145</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: создание новой папки в Проводнике по горячей клавише]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=158313#p158313" />
			<content type="html"><![CDATA[<p>Через RegisterShellHookWindow надежней отлавливать:<br /><a href="https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-registershellhookwindow">https://learn.microsoft.com/en-us/windo … hookwindow</a><br /><a href="https://learn.microsoft.com/en-us/previous-versions/windows/desktop/legacy/ms644991(v=vs.85)">https://learn.microsoft.com/en-us/previ … 1(v=vs.85)</a></p>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2023-05-20T18:53:24Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=158313#p158313</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: создание новой папки в Проводнике по горячей клавише]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=158306#p158306" />
			<content type="html"><![CDATA[<p>Да, у меня тоже постоянно S_FALSE возвращается.</p>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2023-05-18T14:57:30Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=158306#p158306</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: создание новой папки в Проводнике по горячей клавише]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=158305#p158305" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Malcev пишет:</cite><blockquote><p>А не было бы правильнее хендл по cookie через FindWindowSW получать?</p></blockquote></div><p>Было бы, но у меня не вышло. <a href="https://stackoverflow.com/questions/8882910/how-to-get-ishellwindows-findwindowsw-to-work-with-swfo-cookiepassed">Тут</a> говорят, баг.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2023-05-17T19:37:47Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=158305#p158305</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: создание новой папки в Проводнике по горячей клавише]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=158304#p158304" />
			<content type="html"><![CDATA[<p>Я этот разговор начал, потому что пока новое окно рисовалось, другое успело закрыться, вот и задумался как правильно должно быть.<br />Подход с shellWindows.count - 1 неправильный, как минимум надо собирать хэндлы имеющихся и ожидать с новым хэндлом, но мало ли появится другое, тогда смотреть заголовки, ожидая в нём запущенную папку, огород в общем.</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2023-05-17T18:27:09Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=158304#p158304</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: создание новой папки в Проводнике по горячей клавише]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=158303#p158303" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>teadrinker пишет:</cite><blockquote><p>Shell_WindowRegistered(cookie, shellWindows) {<br />&nbsp; &nbsp;hwnd := shellWindows.Item(shellWindows.count - 1).hwnd<br />&nbsp; &nbsp;ToolTip % Format(&quot;{:#x}&quot;, hwnd)<br />}</p></blockquote></div><p>А не было бы правильнее хендл по cookie через FindWindowSW получать?</p>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2023-05-17T18:04:28Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=158303#p158303</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: создание новой папки в Проводнике по горячей клавише]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=158302#p158302" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>teadrinker пишет:</cite><blockquote><p>Ну, тут его точно не могло быть, это объект ShellWindows.</p></blockquote></div><p>Я <a href="https://learn.microsoft.com/en-us/windows/win32/shell/shellwindows-item">отсюда по ссылке</a> перешёл, не пойму я их справку, зачем туда отправили.</p><div class="quotebox"><blockquote><p>Retrieves an <span style="color: #FF0000">InternetExplorer</span> object that represents the Shell window.</p></blockquote></div>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2023-05-17T17:49:14Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=158302#p158302</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: создание новой папки в Проводнике по горячей клавише]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=158301#p158301" />
			<content type="html"><![CDATA[<p>Ну, тут его точно не могло быть, это объект <a href="https://learn.microsoft.com/en-us/windows/win32/shell/shellwindows">ShellWindows</a>.<br />Я просто посмотрел, какие приходят:<br /></p><div class="codebox"><pre><code>#Persistent

shellWindows := ComObjCreate(&quot;Shell.Application&quot;).Windows
ComObjConnect(shellWindows, new Sink)

class Sink {
   __Call(event, params*) {
      static s := &quot;&quot;
      ToolTip % s .= event . &quot;`n&quot;
   }
}</code></pre></div><p>А описаны <a href="https://learn.microsoft.com/en-us/windows/win32/shell/dshellwindowsevents">здесь</a>.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2023-05-17T16:38:57Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=158301#p158301</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: создание новой папки в Проводнике по горячей клавише]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=158300#p158300" />
			<content type="html"><![CDATA[<p>Кстати а где ты взял WindowRegistered? Я его тут не нашёл.<br /><a href="https://learn.microsoft.com/ru-ru/previous-versions/windows/internet-explorer/ie-developer/platform-apis/aa752084(v=vs.85)">https://learn.microsoft.com/ru-ru/previ … 4(v=vs.85)</a></p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2023-05-17T14:52:29Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=158300#p158300</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: создание новой папки в Проводнике по горячей клавише]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=158299#p158299" />
			<content type="html"><![CDATA[<p>6 количество попыток при ожидании.<br />Событие хорошо, но хотелось бы в синхронном виде, так запись намного проще.<br />Тоже самое с Navigate, если открыть в существующем окне другую папку, то просто ждать пока окно &quot;прогрузится&quot;, а не ставить на это событие и прекращать вызывающий поток, или мотать цикл на проверку не пришло ли сообщение, чтобы поток не прекращать.</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2023-05-17T14:12:24Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=158299#p158299</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: создание новой папки в Проводнике по горячей клавише]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=158298#p158298" />
			<content type="html"><![CDATA[<p>Не очень понял код, что там за 6. Можно отловить событие создания окна:<br /></p><div class="codebox"><pre><code>#Persistent

shellWindows := ComObjCreate(&quot;Shell.Application&quot;).Windows
ComObjConnect(shellWindows, &quot;Shell_&quot;)

Shell_WindowRegistered(cookie, shellWindows) {
   hwnd := shellWindows.Item(shellWindows.count - 1).hwnd
   ToolTip % Format(&quot;{:#x}&quot;, hwnd)
}</code></pre></div>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2023-05-17T12:12:07Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=158298#p158298</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: создание новой папки в Проводнике по горячей клавише]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=158297#p158297" />
			<content type="html"><![CDATA[<p>Например сейчас это делается так.</p><p>Кусок из функции:<br /></p><div class="codebox"><pre><code>
	Count := ShellWindows.Count, i := 0
	Run, %A_WinDir%\explorer.exe /select`, &quot;%FilePath%&quot;, , UseErrorLevel 
	Loop  { 
		Sleep 300
		If (ShellWindows.Count &lt;= Count) {
			++i  
			If (i &gt; 6)
				Return 0
			Continue
		} 
		break
	}
	tmphwnd := ShellWindows.Item(ShellWindows.Count - 1).hwnd
</code></pre></div>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2023-05-17T07:18:46Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=158297#p158297</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: создание новой папки в Проводнике по горячей клавише]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=158296#p158296" />
			<content type="html"><![CDATA[<p>Создать окно проводника, например для просмотра папки, получив его Windows.Item, а не перебирать окна в ожидании появления нового.</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2023-05-17T07:14:15Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=158296#p158296</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: создание новой папки в Проводнике по горячей клавише]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=158295#p158295" />
			<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>2023-05-17T02:24:48Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=158295#p158295</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: создание новой папки в Проводнике по горячей клавише]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=158293#p158293" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>serzh82saratov пишет:</cite><blockquote><p>Надо создать окно проводника</p></blockquote></div><p>Неужели за 12 лет не появилось метода, вроде задача востребованная должна быть.</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2023-05-16T20:54:57Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=158293#p158293</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: создание новой папки в Проводнике по горячей клавише]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=158292#p158292" />
			<content type="html"><![CDATA[<p>Да, видимо на тесте где-то там пробовал, в других работает. А почему так, скрипт от админа, shell по идее должен делать тоже самое что и из под окна проводника.</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2023-05-16T20:52:20Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=158292#p158292</id>
		</entry>
</feed>
