<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; AHK: Самоуничтожение скомпилированого скрипта]]></title>
		<link>http://forum.script-coding.com/viewtopic.php?id=8508</link>
		<atom:link href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=8508&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: Самоуничтожение скомпилированого скрипта».]]></description>
		<lastBuildDate>Thu, 16 Jul 2015 02:12:54 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: Самоуничтожение скомпилированого скрипта]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=95603#p95603</link>
			<description><![CDATA[<p><a href="http://forum.script-coding.com/viewtopic.php?id=10795">Продолжение темы.</a></p>]]></description>
			<author><![CDATA[null@example.com (wisgest)]]></author>
			<pubDate>Thu, 16 Jul 2015 02:12:54 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=95603#p95603</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Самоуничтожение скомпилированого скрипта]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=74221#p74221</link>
			<description><![CDATA[<div class="quotebox"><cite>KepocuH пишет:</cite><blockquote><p>Вроде работает без ошибок.</p></blockquote></div><p>Ничем не лучше самого первого варианта, где вместо проверки существования процесса просто Sleep. Нет гарантии, что данного промежутка времени в любом случае хватит.</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Mon, 05 Aug 2013 13:30:44 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=74221#p74221</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Самоуничтожение скомпилированого скрипта]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=74220#p74220</link>
			<description><![CDATA[<p>Я делал вот так:<br /></p><div class="codebox"><pre><code>    
;
;тут текст скрипта
;
bat = ping 127.0.0.1 &gt; NUL`ndel /F /Q CompiledScript.exe`ndel /F /Q delete.bat
FileDelete, delete.bat
FileAppend %bat%, delete.bat
Run delete.bat, ,Hide 
ExitApp
</code></pre></div><p>Вроде работает без ошибок.</p>]]></description>
			<author><![CDATA[null@example.com (KepocuH)]]></author>
			<pubDate>Mon, 05 Aug 2013 13:11:59 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=74220#p74220</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Самоуничтожение скомпилированого скрипта]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=74050#p74050</link>
			<description><![CDATA[<p>Наверное наиболее целесообразнее будет использовать VBScript от <strong>teadrinker</strong>.</p><p>Благодарю всех!</p><p>Удачи!</p>]]></description>
			<author><![CDATA[null@example.com (avens)]]></author>
			<pubDate>Fri, 26 Jul 2013 10:46:41 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=74050#p74050</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Самоуничтожение скомпилированого скрипта]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=74036#p74036</link>
			<description><![CDATA[<p>Так ты же сам просил силами AHK гг). Исполняемый файл сам себя удалить не может.<br />Твой код выдаёт ошибку потому, что пытается удалить файл, который ещё не завершил работу, нужна проверка существования его процесса:<br /></p><div class="codebox"><pre><code>PID := DllCall(&quot;GetCurrentProcessId&quot;)
OnExit, Exit
ExitApp

Exit:
   Script =
   (
      Set objWMI = GetObject(&quot;winmgmts:&quot;)
      Do
         WScript.Sleep 100
      Loop Until objWMI.ExecQuery(&quot;Select * from Win32_Process Where ProcessId = &#039;%PID%&#039;&quot;).Count = 0
         
      Set FSO = CreateObject(&quot;Scripting.FileSystemObject&quot;)
      FSO.GetFile(&quot;%A_ScriptFullPath%&quot;).Delete
      FSO.GetFile(WScript.ScriptFullName).Delete
   )
   FileAppend, % Script, %A_Temp%\Kill.vbs
   Run, %A_Temp%\Kill.vbs
   ExitApp</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Thu, 25 Jul 2013 14:18:27 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=74036#p74036</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Самоуничтожение скомпилированого скрипта]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=74035#p74035</link>
			<description><![CDATA[<p>Этот вариант хорош если на компьютере установлен AutoHotKey, который запускает файлы с расширением .ahk<br />Мне нужно что бы срабатывало и в тех случаях, когда AHK не установлен на компьютере. И что бы не оставалось больше никаких посторонних файлов.</p>]]></description>
			<author><![CDATA[null@example.com (avens)]]></author>
			<pubDate>Thu, 25 Jul 2013 10:32:18 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=74035#p74035</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Самоуничтожение скомпилированого скрипта]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=74034#p74034</link>
			<description><![CDATA[<p>Вот так примерно:<br /></p><div class="codebox"><pre><code>PID := DllCall(&quot;GetCurrentProcessId&quot;)
OnExit, Exit
ExitApp

Exit:
   Script =
   (
      #NoTrayIcon
      Loop
      {
         Sleep, 100
         Process, Exist, %PID%
         if !ErrorLevel 
            break
      }
      FileDelete, %A_ScriptFullPath%
      FileDelete, `%A_ScriptFullPath`%
      ExitApp
   )
   FileAppend, % Script, %A_Temp%\Kill.ahk
   Run, %A_Temp%\Kill.ahk
   ExitApp</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Thu, 25 Jul 2013 10:22:18 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=74034#p74034</guid>
		</item>
		<item>
			<title><![CDATA[AHK: Самоуничтожение скомпилированого скрипта]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=74033#p74033</link>
			<description><![CDATA[<p>Как можно самоуничтожить скомпилированый скрипт средствами AutoHotKey? Так что бы при завершении скрипта он удалялся из жесткого диска.</p><p>Сделал что то подобное с помощью VBScript:<br /></p><div class="codebox"><pre><code>SetWorkingDir %A_ScriptDir%

OnExit, ExitDelete

Esc::
ExitDelete:
FileAppend,
(
Set FSO = CreateObject(&quot;Scripting.FileSystemObject&quot;)
t = 0: On Error Resume Next
WScript.Sleep(1000)
Set File = FSO.GetFile(&quot;%A_ScriptDir%\%A_ScriptName%&quot;)
File.Delete
Set File = FSO.GetFile(WScript.ScriptFullName)
File.Delete
), %A_ScriptDir%\del.vbs
FileSetAttrib, +H+S, %A_ScriptDir%\del.vbs
Run, del.vbs, , UseErrorLevel
ExitApp</code></pre></div><p>Но в некоторых случаях этот VBScript почему то выдает ошибку сценария, что не есть хорошо и надежно.</p><p>Хотелось бы знать можно ли это реализовать как то средствами AHK.</p>]]></description>
			<author><![CDATA[null@example.com (avens)]]></author>
			<pubDate>Thu, 25 Jul 2013 09:59:18 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=74033#p74033</guid>
		</item>
	</channel>
</rss>
