<?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="https://forum.script-coding.com/extern.php?action=feed&amp;tid=7059&amp;type=atom" />
	<updated>2012-04-10T07:52:59Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=7059</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Получение информации о диске]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=59089#p59089" />
			<content type="html"><![CDATA[<div class="codebox"><pre><code>loop, parse, list
   MsgBox Drive: %A_LoopField%</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Irbis]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27384</uri>
			</author>
			<updated>2012-04-10T07:52:59Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=59089#p59089</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Получение информации о диске]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=59084#p59084" />
			<content type="html"><![CDATA[<p>О_о&nbsp; а я вот так вот решал данную особенность с <strong>DriveGet</strong>:</p><div class="codebox"><pre><code>#NoTrayIcon
FileSelectFolder, OKnaid, , 3, Выберите съемный носитель:

if folder =
sleep, 200

DriveGet, serial, serial, %OKnaid%

          MsgBox, 64, Внимание, SN: %serial% 
 ExitApp</code></pre></div><p>Может в чем то и не прав...<br />хотел сделать чтобы при подключении съемного устройства программа автоматом проверяла <strong>S/N</strong>.&nbsp; </p><p>Знаю что класс у устройства <strong>REMOVABLE</strong>, но вместе с съёмником он захватывает диск <strong>А:\ B:\ </strong>((<br /></p><div class="codebox"><pre><code>DriveGet, list, list, REMOVABLE</code></pre></div><p>результат выводит как: <strong>&quot;ABG&quot;</strong> (КАК их разъединить и обработать отдельно?)</p>]]></content>
			<author>
				<name><![CDATA[VlaDOS]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26748</uri>
			</author>
			<updated>2012-04-10T05:01:42Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=59084#p59084</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Получение информации о диске]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=58939#p58939" />
			<content type="html"><![CDATA[<p>Через WMI можно получить, только не Win32_DiskDrive нужен, а <a href="http://msdn.microsoft.com/en-us/library/windows/desktop/aa394175%28v=vs.85%29.aspx">Win32_LogicalDiskToPartition</a>(по-моему это вполне очевидно из названия <img src="//forum.script-coding.com/img/smilies/big_smile.png" width="15" height="15" />).</p>]]></content>
			<author>
				<name><![CDATA[Александр_]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24888</uri>
			</author>
			<updated>2012-04-06T19:14:04Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=58939#p58939</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Получение информации о диске]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=58934#p58934" />
			<content type="html"><![CDATA[<p>Плагиат конечно но сам я не селен в dllcall понял только 50% написаного))</p><div class="codebox"><pre><code>
var:=GetDeviceID(&quot;I:&quot;)
 MsgBox %var%

GetDeviceID(Disk_Lit)
{
Drv := &quot;\\.\&quot;Disk_lit
hVol := DllCall( &quot;CreateFile&quot;, Str,Drv, UInt,0xC0000000, UInt,0x3, UInt,0, UInt,0x3 , UInt,0x0, UInt,0 )
VarSetCapacity( VDE,1024,0 ) 
If DllCall( &quot;DeviceIoControl&quot;, UInt,hVol, UInt,0x560000, UInt,0, UInt,0, UInt,&amp;VDE, UInt,1024, UIntP,BR, UInt,0 )
DllCall(&quot;CloseHandle&quot;, UInt,hVol )
   return	 &quot;\\.\PhysicalDrive&quot; NumGet( VDE,8 )
 }</code></pre></div><p>Поправки будут?<br />Как будет работать без прав администратора?</p>]]></content>
			<author>
				<name><![CDATA[the_grin]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27064</uri>
			</author>
			<updated>2012-04-06T17:56:56Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=58934#p58934</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Получение информации о диске]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=58875#p58875" />
			<content type="html"><![CDATA[<p>Я видно не так выразился, требуется например по букве диска определить его номер.<br />Типа входная переменная I:\&nbsp; выходная \\.\phisicalDrive2<br />И обратный: входная- phisicalDrive2, выходная I:,H:<br />Хотя примеры несколько развеяли туман;)</p>]]></content>
			<author>
				<name><![CDATA[the_grin]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27064</uri>
			</author>
			<updated>2012-04-05T15:57:12Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=58875#p58875</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Получение информации о диске]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=58873#p58873" />
			<content type="html"><![CDATA[<p>В контексте «маленькой функции»:<br /></p><div class="codebox"><pre><code>GetPDriveSerial(needleName) {
    For Drive in ComObjGet(&quot;winmgmts:&quot;).ExecQuery(&quot;SELECT Name, SerialNumber FROM Win32_DiskDrive&quot;)
        If Drive.Name = needleName
            return Drive.SerialNumber
}
MsgBox % GetPDriveSerial(&quot;\\.\PHYSICALDRIVE0&quot;)</code></pre></div><p>Сделать проще не вышло, уместен был бы вариант «в одну строку», надеюсь кто-то заинтересуется.</p>]]></content>
			<author>
				<name><![CDATA[creature.ws]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26105</uri>
			</author>
			<updated>2012-04-05T15:08:21Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=58873#p58873</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Получение информации о диске]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=58869#p58869" />
			<content type="html"><![CDATA[<div class="codebox"><pre><code>for Drive in ComObjGet(&quot;winmgmts:&quot;).ExecQuery(&quot;SELECT Name, FirmwareRevision, SerialNumber, Signature FROM Win32_DiskDrive&quot;)
    o .=    Drive.Name . &quot;`n&quot;
          . Drive.FirmwareRevision . &quot;`n&quot;
          . Drive.SerialNumber . &quot;`n&quot;
          . Drive.Signature . &quot;`n`n&quot;
MsgBox, % Clipboard := o</code></pre></div><p><a href="http://msdn.microsoft.com/en-us/library/windows/desktop/aa394132%28v=vs.85%29.aspx">Win32_DiskDrive</a><br /><a href="http://msdn.microsoft.com/en-us/library/windows/desktop/aa394592%28v=vs.85%29.aspx">Пример внизу</a></p><p>Только не говорите, что выше — много кода <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p>]]></content>
			<author>
				<name><![CDATA[creature.ws]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26105</uri>
			</author>
			<updated>2012-04-05T13:58:59Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=58869#p58869</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[AHK: Получение информации о диске]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=58866#p58866" />
			<content type="html"><![CDATA[<p>Стандартная функция DriveGet не удовлетворяет потребности. В часности интересует номер у-ва вида \\.\phisicalDrive2<br />Пробовал и через WMI и API но получается слишком много кода и выходных не нужных переменных для такой маленькой функции. Может существует более элегантный способ?</p>]]></content>
			<author>
				<name><![CDATA[the_grin]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27064</uri>
			</author>
			<updated>2012-04-05T13:16:56Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=58866#p58866</id>
		</entry>
</feed>
