<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=148997&amp;view=findpost&amp;p=2922476</guid>
        <pubDate>Mon, 27 Jun 2011 15:59:21 +0000</pubDate>
        <title>Как выделить файлы в Проводнике</title>
        <link>https://forum.sources.ru/index.php?showtopic=148997&amp;view=findpost&amp;p=2922476</link>
        <description><![CDATA[VahaC: копай в сторону  SHOpenFolderAndSelectItems]]></description>
        <author>VahaC</author>
        <category>Delphi: Система, Windows API</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=148997&amp;view=findpost&amp;p=2922149</guid>
        <pubDate>Mon, 27 Jun 2011 10:09:15 +0000</pubDate>
        <title>Как выделить файлы в Проводнике</title>
        <link>https://forum.sources.ru/index.php?showtopic=148997&amp;view=findpost&amp;p=2922149</link>
        <description><![CDATA[estra: А как выделить несколько файлов?]]></description>
        <author>estra</author>
        <category>Delphi: Система, Windows API</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=148997&amp;view=findpost&amp;p=1203863</guid>
        <pubDate>Fri, 04 Aug 2006 07:59:53 +0000</pubDate>
        <title>Как выделить файлы в Проводнике</title>
        <link>https://forum.sources.ru/index.php?showtopic=148997&amp;view=findpost&amp;p=1203863</link>
        <description><![CDATA[Rouse_: Кстати, с этим флагом можно добавить в меню Tools дельфи очень удобный пункт, который открывает папку текущего юнита и подсвечивает его. См. аттач.]]></description>
        <author>Rouse_</author>
        <category>Delphi: Система, Windows API</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=148997&amp;view=findpost&amp;p=1203554</guid>
        <pubDate>Thu, 03 Aug 2006 21:56:09 +0000</pubDate>
        <title>Как выделить файлы в Проводнике</title>
        <link>https://forum.sources.ru/index.php?showtopic=148997&amp;view=findpost&amp;p=1203554</link>
        <description><![CDATA[Mechanic: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=148997&view=findpost&p=1197633'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Rouse_ &#064; <time class="tag-quote__quoted-time" datetime="2006-07-31T07:03:57+00:00">31.07.06, 07:03</time></span><div class='quote '><div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">function OpenExplorerAndSelectFile(Path: String): Boolean;</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script></div></div><br>
<br>
<strong class='tag-b'>Rouse_</strong>, Спасибо огромное&#33; Такой финт хвостом отлично срабатывает.  :yes: <br>
А ить и не подозревал об <strong class='tag-b'>IWebBrowserApp</strong>.. Исчо раз Пасиб&#33;]]></description>
        <author>Mechanic</author>
        <category>Delphi: Система, Windows API</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=148997&amp;view=findpost&amp;p=1197633</guid>
        <pubDate>Mon, 31 Jul 2006 07:03:57 +0000</pubDate>
        <title>Как выделить файлы в Проводнике</title>
        <link>https://forum.sources.ru/index.php?showtopic=148997&amp;view=findpost&amp;p=1197633</link>
        <description><![CDATA[Rouse_: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=148997&view=findpost&p=1196596'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Mechanic &#064; <time class="tag-quote__quoted-time" datetime="2006-07-29T15:13:04+00:00">29.07.06, 15:13</time></span><div class='quote '>Именно это и использовал. Только есть одна досадная вещь в таком вызове: когда папка уже открыта в окне, то позиционирования не происходит. </div></div><br>
Да в принципе путь то нам известен? Известен, посему делаем финт хвостом:<br>
<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">uses ..., SHDocVw;</div><div class="code_line">&nbsp;</div><div class="code_line">function OpenExplorerAndSelectFile(Path: String): Boolean;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp;function ParceURLName(const Value: String): String;</div><div class="code_line">&nbsp;&nbsp;const</div><div class="code_line">&nbsp;&nbsp; &nbsp;scFilePath: array [0..7] of Char = (&#39;f&#39;, &#39;i&#39;, &#39;l&#39;, &#39;e&#39;, &#39;:&#39;, &#39;/&#39;, &#39;/&#39;, &#39;/&#39;);</div><div class="code_line">&nbsp;&nbsp;begin</div><div class="code_line">&nbsp;&nbsp; &nbsp;if CompareMem(@scFilePath[0], @Value[1], 8) then</div><div class="code_line">&nbsp;&nbsp; &nbsp;begin</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;Result := Copy(Value, 9, Length(Value));</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;Result := StringReplace(Result, &#39;/&#39;, &#39;\&#39;, [rfReplaceAll]);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;Result := StringReplace(Result, &#39;%20&#39;, &#39; &#39;, [rfReplaceAll]);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;Result := IncludeTrailingBackslash(Result);</div><div class="code_line">&nbsp;&nbsp; &nbsp;end</div><div class="code_line">&nbsp;&nbsp; &nbsp;else</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;Result := Value;</div><div class="code_line">&nbsp;&nbsp;end;</div><div class="code_line">&nbsp;</div><div class="code_line">var</div><div class="code_line">&nbsp;&nbsp;iShellWindow: IShellWindows;</div><div class="code_line">&nbsp;&nbsp;iWB: IWebBrowserApp;</div><div class="code_line">&nbsp;&nbsp;spDisp: IDispatch;</div><div class="code_line">&nbsp;&nbsp;I: Integer;</div><div class="code_line">&nbsp;&nbsp;S, FilePath, FileName: String;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;Result := FileExists(Path);</div><div class="code_line">&nbsp;&nbsp;if not Result then Exit;</div><div class="code_line">&nbsp;&nbsp;FilePath := AnsiUpperCase(ExtractFilePath(Path));</div><div class="code_line">&nbsp;&nbsp;FileName := ExtractFileName(Path);</div><div class="code_line">&nbsp;&nbsp;iShellWindow := CoShellWindows.Create;</div><div class="code_line">&nbsp;&nbsp;for I := 0 to iShellWindow.Count - 1 do</div><div class="code_line">&nbsp;&nbsp;begin</div><div class="code_line">&nbsp;&nbsp; &nbsp;spDisp := iShellWindow.Item(I);</div><div class="code_line">&nbsp;&nbsp; &nbsp;if spDisp = nil then Continue;</div><div class="code_line">&nbsp;&nbsp; &nbsp;spDisp.QueryInterface(IWebBrowserApp, iWB);</div><div class="code_line">&nbsp;&nbsp; &nbsp;if iWB &#60;&#62; nil then</div><div class="code_line">&nbsp;&nbsp; &nbsp;begin</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;S := ParceURLName(iWB.LocationURL);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;if AnsiUpperCase(S) = FilePath then</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;begin</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;SendMessage(iWB.HWnd, WM_SYSCOMMAND, SC_CLOSE, 0);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;Break;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;end;</div><div class="code_line">&nbsp;&nbsp; &nbsp;end;</div><div class="code_line">&nbsp;&nbsp;end;</div><div class="code_line">&nbsp;&nbsp;ShellExecute(0, &#39;open&#39;, &#39;explorer.exe&#39;,</div><div class="code_line">&nbsp;&nbsp; &nbsp;PChar(&#39;/select, &#39; + FileName), PChar(FilePath), SW_SHOWNORMAL);</div><div class="code_line">end;</div><div class="code_line">&nbsp;</div><div class="code_line">procedure TForm18.Button4Click(Sender: TObject);</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;if not OpenExplorerAndSelectFile(&#39;c:\windows\notepad.exe&#39;) then</div><div class="code_line">&nbsp;&nbsp; &nbsp;ShowMessage(&#39;Файл не найден.&#39;);</div><div class="code_line">end;</div></ol></div></div></div></div><br>
<br>
Это проще чем искать по заголовку.]]></description>
        <author>Rouse_</author>
        <category>Delphi: Система, Windows API</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=148997&amp;view=findpost&amp;p=1197016</guid>
        <pubDate>Sun, 30 Jul 2006 10:39:53 +0000</pubDate>
        <title>Как выделить файлы в Проводнике</title>
        <link>https://forum.sources.ru/index.php?showtopic=148997&amp;view=findpost&amp;p=1197016</link>
        <description><![CDATA[Алексей: да не, найти по заголовк, закрыть, а потом новое с помощью ShellExecute(...]]></description>
        <author>Алексей</author>
        <category>Delphi: Система, Windows API</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=148997&amp;view=findpost&amp;p=1196897</guid>
        <pubDate>Sun, 30 Jul 2006 06:27:45 +0000</pubDate>
        <title>Как выделить файлы в Проводнике</title>
        <link>https://forum.sources.ru/index.php?showtopic=148997&amp;view=findpost&amp;p=1196897</link>
        <description><![CDATA[Mechanic: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=148997&view=findpost&p=1196799'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Алексей &#064; <time class="tag-quote__quoted-time" datetime="2006-07-29T19:05:15+00:00">29.07.06, 19:05</time></span><div class='quote '>а ты перед этим закрывай окно</div></div><br>
Красиво сказано.. ;) Только как это окно найти потом?<br>
<br>
<img class='tag-img' src='http://forum.vingrad.ru/html/emoticons/sample.gif' alt='user posted image'>]]></description>
        <author>Mechanic</author>
        <category>Delphi: Система, Windows API</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=148997&amp;view=findpost&amp;p=1196799</guid>
        <pubDate>Sat, 29 Jul 2006 19:05:15 +0000</pubDate>
        <title>Как выделить файлы в Проводнике</title>
        <link>https://forum.sources.ru/index.php?showtopic=148997&amp;view=findpost&amp;p=1196799</link>
        <description><![CDATA[Алексей: а ты перед этим закрывай окно]]></description>
        <author>Алексей</author>
        <category>Delphi: Система, Windows API</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=148997&amp;view=findpost&amp;p=1196596</guid>
        <pubDate>Sat, 29 Jul 2006 15:13:04 +0000</pubDate>
        <title>Как выделить файлы в Проводнике</title>
        <link>https://forum.sources.ru/index.php?showtopic=148997&amp;view=findpost&amp;p=1196596</link>
        <description><![CDATA[Mechanic: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=148997&view=findpost&p=1187085'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Rouse_ &#064; <time class="tag-quote__quoted-time" datetime="2006-07-21T13:48:16+00:00">21.07.06, 13:48</time></span><div class='quote '><div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">ShellExecute(Handle, &#39;open&#39;, &#39;explorer.exe&#39;, &#39;/select, hh.exe&#39;, &#39;c:\windows&#39;, SW_SHOWNORMAL);</div></ol></div></div></div></div></div></div><br>
<br>
Пасиб. Именно это и использовал. Только есть одна досадная вещь в таком вызове: когда папка уже открыта в окне, то позиционирования не происходит. Просто идёт реюз окна с сохранением текущего выделения в нём.<br>
В принципе, с этим можно жить.. :) Вопрос решен.]]></description>
        <author>Mechanic</author>
        <category>Delphi: Система, Windows API</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=148997&amp;view=findpost&amp;p=1187085</guid>
        <pubDate>Fri, 21 Jul 2006 13:48:16 +0000</pubDate>
        <title>Как выделить файлы в Проводнике</title>
        <link>https://forum.sources.ru/index.php?showtopic=148997&amp;view=findpost&amp;p=1187085</link>
        <description><![CDATA[Rouse_: <div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">ShellExecute(Handle, &#39;open&#39;, &#39;explorer.exe&#39;, &#39;/select, hh.exe&#39;, &#39;c:\windows&#39;, SW_SHOWNORMAL);</div></ol></div></div></div></div>]]></description>
        <author>Rouse_</author>
        <category>Delphi: Система, Windows API</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=148997&amp;view=findpost&amp;p=1185970</guid>
        <pubDate>Fri, 21 Jul 2006 01:16:07 +0000</pubDate>
        <title>Как выделить файлы в Проводнике</title>
        <link>https://forum.sources.ru/index.php?showtopic=148997&amp;view=findpost&amp;p=1185970</link>
        <description><![CDATA[Mechanic: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=148997&view=findpost&p=1185941'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Тестировщица &#064; <time class="tag-quote__quoted-time" datetime="2006-07-20T22:45:27+00:00">20.07.06, 22:45</time></span><div class='quote '>http://www.sources.ru/cpp/mfc/t5774.htm не поможет?  </div></div><br>
Похоже на то, что может. Только это не шибко похоже на простой путь..  :o <br>
Мало того, что мне нужно открыть окно, потом найти в нём ещё сам CListCtrl, потом нужно ещё найти соответствующий моему файлу Item (итерачиться через все with GetNextItem  :unsure: )...<br>
<br>
Ну, ежели ничего другого не нарисуется, то можно и это будет попробовать.<br>
Пасиб, <strong class='tag-b'>Тестировщица</strong>.]]></description>
        <author>Mechanic</author>
        <category>Delphi: Система, Windows API</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=148997&amp;view=findpost&amp;p=1185941</guid>
        <pubDate>Thu, 20 Jul 2006 22:45:27 +0000</pubDate>
        <title>Как выделить файлы в Проводнике</title>
        <link>https://forum.sources.ru/index.php?showtopic=148997&amp;view=findpost&amp;p=1185941</link>
        <description><![CDATA[Тестировщица: http://www.sources.ru/cpp/mfc/t5774.htm не поможет?  :blink:]]></description>
        <author>Тестировщица</author>
        <category>Delphi: Система, Windows API</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=148997&amp;view=findpost&amp;p=1185927</guid>
        <pubDate>Thu, 20 Jul 2006 22:05:47 +0000</pubDate>
        <title>Как выделить файлы в Проводнике</title>
        <link>https://forum.sources.ru/index.php?showtopic=148997&amp;view=findpost&amp;p=1185927</link>
        <description><![CDATA[Mechanic: Сабж?<br>Просто открыть окно - не вопрос. И открыть файл тоже. А вот на пол-пути чтоб остановиться?<br>Нужно открыть окно &quot;Мой компьютер&quot; или &quot;Проводник&quot;, в котором будет выбран нужный файл (или группа).]]></description>
        <author>Mechanic</author>
        <category>Delphi: Система, Windows API</category>
      </item>
	
      </channel>
      </rss>
	