<?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="http://forum.script-coding.com/extern.php?action=feed&amp;tid=8508&amp;type=atom" />
	<updated>2015-07-16T02:12:54Z</updated>
	<generator>PunBB</generator>
	<id>http://forum.script-coding.com/viewtopic.php?id=8508</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Самоуничтожение скомпилированого скрипта]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=95603#p95603" />
			<content type="html"><![CDATA[<p><a href="http://forum.script-coding.com/viewtopic.php?id=10795">Продолжение темы.</a></p>]]></content>
			<author>
				<name><![CDATA[wisgest]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=3850</uri>
			</author>
			<updated>2015-07-16T02:12:54Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=95603#p95603</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Самоуничтожение скомпилированого скрипта]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=74221#p74221" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>KepocuH пишет:</cite><blockquote><p>Вроде работает без ошибок.</p></blockquote></div><p>Ничем не лучше самого первого варианта, где вместо проверки существования процесса просто Sleep. Нет гарантии, что данного промежутка времени в любом случае хватит.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2013-08-05T13:30:44Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=74221#p74221</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Самоуничтожение скомпилированого скрипта]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=74220#p74220" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[KepocuH]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=28557</uri>
			</author>
			<updated>2013-08-05T13:11:59Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=74220#p74220</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Самоуничтожение скомпилированого скрипта]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=74050#p74050" />
			<content type="html"><![CDATA[<p>Наверное наиболее целесообразнее будет использовать VBScript от <strong>teadrinker</strong>.</p><p>Благодарю всех!</p><p>Удачи!</p>]]></content>
			<author>
				<name><![CDATA[avens]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=24487</uri>
			</author>
			<updated>2013-07-26T10:46:41Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=74050#p74050</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Самоуничтожение скомпилированого скрипта]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=74036#p74036" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2013-07-25T14:18:27Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=74036#p74036</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Самоуничтожение скомпилированого скрипта]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=74035#p74035" />
			<content type="html"><![CDATA[<p>Этот вариант хорош если на компьютере установлен AutoHotKey, который запускает файлы с расширением .ahk<br />Мне нужно что бы срабатывало и в тех случаях, когда AHK не установлен на компьютере. И что бы не оставалось больше никаких посторонних файлов.</p>]]></content>
			<author>
				<name><![CDATA[avens]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=24487</uri>
			</author>
			<updated>2013-07-25T10:32:18Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=74035#p74035</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Самоуничтожение скомпилированого скрипта]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=74034#p74034" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2013-07-25T10:22:18Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=74034#p74034</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[AHK: Самоуничтожение скомпилированого скрипта]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=74033#p74033" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[avens]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=24487</uri>
			</author>
			<updated>2013-07-25T09:59:18Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=74033#p74033</id>
		</entry>
</feed>
