<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK: передача файлов через проводник Windows по FTP серверу]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=15225&amp;type=atom" />
	<updated>2020-03-08T07:20:34Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=15225</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: передача файлов через проводник Windows по FTP серверу]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=138384#p138384" />
			<content type="html"><![CDATA[<p><strong>ypppu</strong><br />Понимаю что это рофл, но будь я торговцем ключей, я бы тут не сидел xd</p>]]></content>
			<author>
				<name><![CDATA[Clannad5]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=39853</uri>
			</author>
			<updated>2020-03-08T07:20:34Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=138384#p138384</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: передача файлов через проводник Windows по FTP серверу]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=138383#p138383" />
			<content type="html"><![CDATA[<p>Так вот кто <a href="https://yandex.ru/search/?text=%D0%BA%D1%83%D0%BF%D0%B8%D1%82%D1%8C%20%D0%BA%D0%BB%D1%8E%D1%87%20%D0%B4%D0%BB%D1%8F%20windows&amp;lr=10742">ключами торгует</a>.</p>]]></content>
			<author>
				<name><![CDATA[ypppu]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=5974</uri>
			</author>
			<updated>2020-03-08T07:10:51Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=138383#p138383</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: передача файлов через проводник Windows по FTP серверу]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=138377#p138377" />
			<content type="html"><![CDATA[<div class="quotebox"><blockquote><p>Не у всех это оповещение появляется, по причине другой системы защиты и передача по FTP просто блокируется.</p></blockquote></div><p>При ошибке подключения надо выдавать сообщение с указанием возможной причины. На всех всё-равно не угодишь, у меня как раз ESET будет требовать разрешения для Проводника.<br /></p><div class="quotebox"><blockquote><div class="codebox"><pre><code>Run explorer.exe ftp://UserName:Password@ServerName,, Hide</code></pre></div></blockquote></div><p>Для работы с Проводником лучше использовать COM-автоматизацию (пример: <a href="http://forum.script-coding.com/viewtopic.php?pid=94655#p94655">http://forum.script-coding.com/viewtopi … 655#p94655</a> до слов в коде «Подстройка вида поиска» и после «Обрабатываем результаты поиска»).<br />Вместо самого Проводника, мне кажется, во многих случаях лучше использовать использующий ту же технологию оболочки Windows COM-объект <em><a href="http://www.script-coding.com/WSH/Shell.html">Shell.Application</a></em>. Вот пример на VBScript копирования c FTP: <a href="http://forum.script-coding.com/viewtopic.php?pid=53#p53">http://forum.script-coding.com/viewtopic.php?pid=53#p53</a>. Можно сделать и в обратном направлении.<br /></p><div class="quotebox"><blockquote><p>лишнее открытие перед пользователем - не очень эстетично.</p></blockquote></div><p>Ну так при работе через оболочку Windows (в том числе через Проводник) очень даже может появиться окошко «Выполняется копирование» (или как там оно называется), так что надо следить за его появлением и сразу же делать невидимым.<br /></p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><div class="quotebox"><blockquote><p>P.S чтобы сразу там отстранить людей, которые думают что это вирус</p></blockquote></div><p>«Оправдываются виновные.»<br /></p><div class="quotebox"><blockquote><p>Я свои скрипты сделал приватными. Скачивается документ из FTP сервера, в нём содержутся все ключи продукта Windows каждого пользователя, котороый туда был добавлен</p></blockquote></div><p>Фуууу. Лучше бы не оправдывался…</p></div></div>]]></content>
			<author>
				<name><![CDATA[wisgest]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=3850</uri>
			</author>
			<updated>2020-03-07T23:05:06Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=138377#p138377</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: передача файлов через проводник Windows по FTP серверу]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=138376#p138376" />
			<content type="html"><![CDATA[<p><strong>teadrinker</strong></p><p>Когда я использовал библиотеку FtpV2<br /><a href="https://github.com/rshipp/ahk-libs/blob/master/FTPv2/FTPv2.ahk">https://github.com/rshipp/ahk-libs/blob … /FTPv2.ahk</a></p><p>То у меня, при запуске скрипта, все равно вылезало менюшка:<br /><span class="postimg"><img src="https://i.imgur.com/a5IpqY8.png" alt="https://i.imgur.com/a5IpqY8.png" /></span></p><p>Почему я хочу избавиться от этого:<br />1. Не у всех это оповещение появляется, по причине другой системы защиты и передача по FTP просто блокируется<br />2. Это раздражает<br />3. Могут тыкнуть не туда и потом говорят: У меня не работает.<br />4. У некоторых попросту не работает передача, опять же видимо из-за блокировки интернет соединения защитой.<br />К примеру на FTP сервере папка создаётся, имя файла создаётся, но содержимое отсутствует.</p><p>P.S чтобы сразу там отстранить людей, которые думают что это вирус и т.д, расскажу принцип и смысл скрипта:</p><p>Принцип простой.. скрипт копирует ключ продукта Windows и передаёт по FTP серверу код продукта Windwos<br />Для чего он? - Я свои скрипты сделал приватными. Скачивается документ из FTP сервера, в нём содержутся все ключи продукта Windows каждого пользователя, котороый туда был добавлен, если ключ Windows совпадает - ему разрешается доступ к моему скрипту. Всё это компилируется через AHK Protector</p><p>Я не знаю как можно передать серверу ключ, чтобы система Windows не ругалась. На ум приходит только Проводник Windows, но лишнее открытие перед пользователем - не очень эстетично.</p>]]></content>
			<author>
				<name><![CDATA[Clannad5]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=39853</uri>
			</author>
			<updated>2020-03-07T18:34:47Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=138376#p138376</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: передача файлов через проводник Windows по FTP серверу]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=138374#p138374" />
			<content type="html"><![CDATA[<p>Если вручную можно скопировать-вставить, тогда проще всего так:<br /></p><div class="codebox"><pre><code>DropFiles(fileList, windowTitle) {
   tempClipboard := ClipboardAll
   Sleep, 50
   ClipboardSetFiles(fileList)
   WinActivate, % windowTitle
   Send ^v
   Sleep, 100
   Clipboard := tempClipboard
}

ClipboardSetFiles(FilesToSet, DropEffect := &quot;Copy&quot;) {
   Static SizeT := A_IsUnicode ? 2 : 1 ; size of a TCHAR
   Static PreferredDropEffect := DllCall(&quot;RegisterClipboardFormat&quot;, &quot;Str&quot;, &quot;Preferred DropEffect&quot;)
   Static DropEffects := {1: 1, 2: 2, Copy: 1, Move: 2}
   ; -------------------------------------------------------------------------------------------------------------------
   ; Count files and total string length
   TotalLength := 0
   FileArray := []
   Loop, Parse, FilesToSet, `n, `r
   {
      If (Length := StrLen(A_LoopField))
         FileArray.Push({Path: A_LoopField, Len: Length + 1})
      TotalLength += Length
   }
   FileCount := FileArray.Length()
   If !(FileCount &amp;&amp; TotalLength)
      Return
   ; -------------------------------------------------------------------------------------------------------------------
   ; Add files to the clipboard
   If DllCall(&quot;OpenClipboard&quot;, &quot;Ptr&quot;, A_ScriptHwnd) &amp;&amp; DllCall(&quot;EmptyClipboard&quot;) {
      ; hMem format ---------------------------------------------------------------------------------------------------
      ; 0x42 = GMEM_MOVEABLE (0x02) | GMEM_ZEROINIT (0x40)
      hMem := DllCall(&quot;GlobalAlloc&quot;, &quot;UInt&quot;, 0x42, &quot;UInt&quot;, 20 + (TotalLength + FileCount + 1) * SizeT, &quot;UPtr&quot;)
      pMem := DllCall(&quot;GlobalLock&quot;, &quot;Ptr&quot;, hMem)
      Offset := 20
      NumPut(Offset, pMem + 0, &quot;UInt&quot;)         ; DROPFILES.pFiles = offset of file list
      NumPut(!!A_IsUnicode, pMem + 16, &quot;UInt&quot;) ; DROPFILES.fWide = 0 --&gt; ANSI, fWide = 1 --&gt; Unicode
      For Each, File In FileArray
         Offset += StrPut(File.Path, pMem + Offset, File.Len) * SizeT
      DllCall(&quot;GlobalUnlock&quot;, &quot;Ptr&quot;, hMem)
      DllCall(&quot;SetClipboardData&quot;, &quot;UInt&quot;, 0x0F, &quot;UPtr&quot;, hMem) ; 0x0F = CF_HDROP
      ; Preferred DropEffect format ------------------------------------------------------------------------------------
      If (DropEffect := DropEffects[DropEffect]) {
         hMem := DllCall(&quot;GlobalAlloc&quot;, &quot;UInt&quot;, 0x42, &quot;UInt&quot;, 4, &quot;UPtr&quot;)
         pMem := DllCall(&quot;GlobalLock&quot;, &quot;Ptr&quot;, hMem)
         NumPut(DropEffect, pMem + 0, &quot;UChar&quot;)
         DllCall(&quot;GlobalUnlock&quot;, &quot;Ptr&quot;, hMem)
         DllCall(&quot;SetClipboardData&quot;, &quot;UInt&quot;, PreferredDropEffect, &quot;Ptr&quot;, hMem)
      }
      DllCall(&quot;CloseClipboard&quot;)
   }
   Return
}</code></pre></div><p>Но со скрытым окном вряд ли сработает.<br />Я бы использовал какую-нибудь AHK-библиотеку для работы с FTP.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2020-03-07T09:21:27Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=138374#p138374</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[AHK: передача файлов через проводник Windows по FTP серверу]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=138373#p138373" />
			<content type="html"><![CDATA[<p>Здравствуйте!<br />Недавно узнал, что у проводника Windows есть возможность заходить на FTP сервер, введя допустим в CMD, через AHK:</p><div class="codebox"><pre><code>
Run explorer.exe ftp://UserName:Password@ServerName,, Hide
</code></pre></div><p>откроется папка(ftp сервер) в скрытом режиме и теперь вопрос..<br />какой командой скопировать уже в это окно файл?</p><br /><p>Почему я не использую FTP.exe - потому что большинство антивирусов жалуется на этот способ передачи данных и блокирует любое соединение с интернетом.<br />Windows проводник - как правило родное и не думаю что этот способ будет блокироваться Антивирусами.</p><p>Открывается что-то типа такого.<br /><span class="postimg"><img src="https://i.imgur.com/DJwsuZQ.png" alt="https://i.imgur.com/DJwsuZQ.png" /></span></p><br /><p>Приведите, пожалуйста, пример как можно скопировать через проводник на FTP сервер, который тоже открыт в проводнике.<br />В ручную копировать вставить - работает<br />Можно ли как-то программно это сделать?</p>]]></content>
			<author>
				<name><![CDATA[Clannad5]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=39853</uri>
			</author>
			<updated>2020-03-07T04:02:36Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=138373#p138373</id>
		</entry>
</feed>
