<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; AHK: Определение подлючения определенного USB устройства]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=16149</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=16149&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: Определение подлючения определенного USB устройства».]]></description>
		<lastBuildDate>Sun, 07 Mar 2021 11:00:54 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: Определение подлючения определенного USB устройства]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=146662#p146662</link>
			<description><![CDATA[<div class="codebox"><pre><code>msgbox,% checkDevice(&quot;HID-совместимое устройство&quot;)
msgbox,% checkDevice(&quot;HID-сов устройство&quot;)


checkDevice(DevName)
{
  q:=&quot;Select * from Win32_PnPEntity Where Name = &#039;&quot; DevName &quot;&#039;&quot;
  For device in ComObjGet(&quot;winmgmts:&quot;).ExecQuery(q)
    return 1
  return 0
}
</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Alectric)]]></author>
			<pubDate>Sun, 07 Mar 2021 11:00:54 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=146662#p146662</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Определение подлючения определенного USB устройства]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=146660#p146660</link>
			<description><![CDATA[<p><strong>stealzy</strong><br />Благодарю! Теперь все как нужно.</p>]]></description>
			<author><![CDATA[null@example.com (sim8783)]]></author>
			<pubDate>Sun, 07 Mar 2021 04:44:39 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=146660#p146660</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Определение подлючения определенного USB устройства]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=146654#p146654</link>
			<description><![CDATA[<div class="quotebox"><cite>Alectric пишет:</cite><blockquote><p>переполнение выдачи</p></blockquote></div><div class="codebox"><pre><code>Text := &quot;&quot;
For device in ComObjGet(&quot;winmgmts:&quot;).ExecQuery(&quot;Select * from Win32_PnPEntity&quot;)
 Text .= device.name &quot;`n&quot;</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (stealzy)]]></author>
			<pubDate>Sat, 06 Mar 2021 20:49:57 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=146654#p146654</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Определение подлючения определенного USB устройства]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=146644#p146644</link>
			<description><![CDATA[<div class="quotebox"><cite>sim8783 пишет:</cite><blockquote><p>Теперь все портит переполнение выдачи от каждого запроса</p></blockquote></div><p>&quot;Код в студию.&quot;</p>]]></description>
			<author><![CDATA[null@example.com (Alectric)]]></author>
			<pubDate>Sat, 06 Mar 2021 18:09:20 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=146644#p146644</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Определение подлючения определенного USB устройства]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=146637#p146637</link>
			<description><![CDATA[<p>Круто! Спасибо. Теперь есть список подключенных устройств, это хорошо. <br />Сейчас мне как то нужно это выразить в if и else, что бы задать действия открытия и закрытия программы в зависимости от наличия определенной строки. Я так понял только один вариант, нужно список сохранить в фаил, затем прочесть его через ReadLine, и присвоить состояние ошибки на If&nbsp; и else. Но чувствую, что есть способ без лишних файлов..&nbsp; Можно как то прочесть этот список в переменной Text напрямую? В моём случае при сканировании списка можно ведь обойтись без шаблонов регулярных выражений, т.к. имя одно и тоже &quot;Axiom 61&quot;?</p><p>Upd: удалось при помощи подсказки Alectric сократить список до одной строки: Axiom 61 (посредством ExecQuery(&quot;Select * from Win32_PnPEntity Where Name = &#039;Axiom 61&#039;&quot;)). Но выявил ньюанс, что при каждом запросе в выдачу дублируется эта же строка, т.к. планирую ставить проверку активности устройства&nbsp; на таймер с периодом около 2 секунд, то не вызовет ли это в какой то момент переполнения? Если было отключение устройства, то список обнуляется.</p><p>Upd2: Сделал через errorlevel, без возни с поиском конкретных слов. Теперь все портит переполнение выдачи от каждого запроса по ComObjGet, какой командой можно очистить память? Перезагрузка AHK помогает, но у меня и другие таймеры есть в скрипте, нужно что то другое.</p>]]></description>
			<author><![CDATA[null@example.com (sim8783)]]></author>
			<pubDate>Sat, 06 Mar 2021 10:51:32 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=146637#p146637</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Определение подлючения определенного USB устройства]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=146630#p146630</link>
			<description><![CDATA[<p>Ещё лучше так:<br /></p><div class="codebox"><pre><code>For device in ComObjGet(&quot;winmgmts:&quot;).ExecQuery(&quot;Select * from Win32_PnPEntity&quot;)
   Text .= device.name &quot;`n&quot;
Gui Add, Edit, vTxt w500 h1000
Sort, Text
GuiControl,, Txt, % Text
Gui Show,, Инфо:
Send, ^{Home}
Return

GuiClose:
   ExitApp</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Fri, 05 Mar 2021 21:49:57 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=146630#p146630</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Определение подлючения определенного USB устройства]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=146629#p146629</link>
			<description><![CDATA[<p>Уж лучше так выводить большое количество строк:</p><div class="codebox"><pre><code>For device in ComObjGet(&quot;winmgmts:&quot;).ExecQuery(&quot;Select * from Win32_PnPEntity&quot;)
 Text .= device.name &quot;`n&quot;
Gui Add, Edit, vTxt w500 h1000
GuiControl,, Txt, % Text
Gui Show,, Инфо:
Return</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (__Михаил__)]]></author>
			<pubDate>Fri, 05 Mar 2021 18:35:50 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=146629#p146629</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Определение подлючения определенного USB устройства]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=146627#p146627</link>
			<description><![CDATA[<p>serzh82saratov когда-то давал мне такой <a href="http://forum.script-coding.com/viewtopic.php?pid=115694#p115694">код</a>.</p><p>Можно попробовать так:<br /></p><div class="codebox"><pre><code>For device in ComObjGet(&quot;winmgmts:&quot;).ExecQuery(&quot;Select * from Win32_PnPEntity&quot;)
{
   MsgBox % device.name
}
</code></pre></div><p>Скорее всего можно отсеять лишнее заранее, но я не знаю какой фильтр нужно прописать ( Where ClassGuid = &#039;{??????????}&#039;).</p>]]></description>
			<author><![CDATA[null@example.com (Alectric)]]></author>
			<pubDate>Fri, 05 Mar 2021 17:36:56 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=146627#p146627</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Определение подлючения определенного USB устройства]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=146626#p146626</link>
			<description><![CDATA[<p>Спасибо! А есть ли проще методы, без задействования стороннего ПО? (хоть и от майкрософт). Мне не нужен список, а состояние одного конкретного устройства, которое подключается даже в один и тот же порт USB. Может есть команда проверки активности порта USB? Через DDcall, или реестр как-нибудь?</p>]]></description>
			<author><![CDATA[null@example.com (sim8783)]]></author>
			<pubDate>Fri, 05 Mar 2021 16:49:09 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=146626#p146626</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Определение подлючения определенного USB устройства]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=146622#p146622</link>
			<description><![CDATA[<p><a href="https://www.autohotkey.com/boards/viewtopic.php?f=76&amp;t=41546&amp;p=189305&amp;hilit=devmgmt.msc#p189305">Тема на оф. форуме, как получить список устройств</a>.</p>]]></description>
			<author><![CDATA[null@example.com (ypppu)]]></author>
			<pubDate>Fri, 05 Mar 2021 14:27:30 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=146622#p146622</guid>
		</item>
		<item>
			<title><![CDATA[AHK: Определение подлючения определенного USB устройства]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=146619#p146619</link>
			<description><![CDATA[<p>Здравствуйте!<br />Есть задача, что бы скрипт чекал подключена ли миди-клавиатура по USB, или отключена. (вернее автивна ли она, т.к. USB всегда подключен, я выключаю ее по кнопке, что так же windows видит как подкление устройства).<br />При собитии включения скрипт должен запустить определенную программу, или закрыть ее при отключении миди-клавиатуры.<br />Собственно все что требуется. <br />С самим чеком через Settimer и открытием/закрытием ясно программы ясно, а вот с определением активности устройства не могу сообразить(очень новичёк). <br />Нашел код по теме:<br /></p><div class="codebox"><pre><code>OnMessage(0x219, &quot;notify_change&quot;)
Return

notify_change(wParam, lParam, msg, hwnd)
{
MsgBox, %wParam% %lParam% %msg% %hwnd%
} </code></pre></div><p>Но он ищет вообще любые устройства.&nbsp; DriveGet только для дисков к сожалению.&nbsp; Еще находил чекер второго монитора, но это уж совсем не то.&nbsp; <br />Есть ли функция по определению активности драйвера по UID / PID например ? Или устроит код по определению состояния ветки в реестре.</p>]]></description>
			<author><![CDATA[null@example.com (sim8783)]]></author>
			<pubDate>Fri, 05 Mar 2021 11:09:04 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=146619#p146619</guid>
		</item>
	</channel>
</rss>
