<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; VBScript: сценарий входа, выполнение только 1й программы]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=3437&amp;type=atom" />
	<updated>2009-07-30T09:09:37Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=3437</id>
		<entry>
			<title type="html"><![CDATA[Re: VBScript: сценарий входа, выполнение только 1й программы]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=26595#p26595" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Temasik пишет:</cite><blockquote><p>...а оно динамичное, т.е. изменяется в процессе работы да и название у него не 2 слова <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p></blockquote></div><p>Temasik,</p><p>а эта программа - Ваша7 Вы можете её модифицировать?<br />Зачем Вам вообще операционная система, жесткий диск? Переделайте её так, чтобы она загружалась с CD и работала абсолютно автономно.</p>]]></content>
			<author>
				<name><![CDATA[Slav]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=16491</uri>
			</author>
			<updated>2009-07-30T09:09:37Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=26595#p26595</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBScript: сценарий входа, выполнение только 1й программы]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=26594#p26594" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Temasik пишет:</cite><blockquote><p>По поводу приобрести мс офис только для скрипта не вариант...</p></blockquote></div><p>Temasik,</p><p>действительно не стоит - для скрипта приобретать МС Офис. <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /><br />Если Вы внимательно посмотрели для чего собственно нужен Офис в моем варианте - то только для легкого и прозрачного вызова API-функций. Вызвать их можно и без Офиса - написать свою DLL, например, на любом известном Вам языке (благо, теперь МС выкладывает бесплатные студии самых популярных языков). Вызов DLL затем производится rundll32.exe.</p>]]></content>
			<author>
				<name><![CDATA[Slav]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=16491</uri>
			</author>
			<updated>2009-07-30T09:02:13Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=26594#p26594</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBScript: сценарий входа, выполнение только 1й программы]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=26591#p26591" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Temasik пишет:</cite><blockquote><p>скрипт на АХК не подходит, т.к. обращается к названию окна, а оно динамичное, т.е. изменяется в процессе работы да и название у него не 2 слова</p></blockquote></div><p>А что скажете насчёт класса окна (посмотреть можно с помощью «AU3_Spy.exe» из комплекта AutoHotKey или «Au3Info.exe» из комплекта AutoIt, а также многих прочих утилит, включая Microsoft Spy++, WinspectorU и т.п.)? Класс, надеюсь, постоянно не меняется (хотя бывает и так) или, хотя бы, имеет некую постоянную часть?</p>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2009-07-30T07:57:51Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=26591#p26591</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBScript: сценарий входа, выполнение только 1й программы]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=26590#p26590" />
			<content type="html"><![CDATA[<p>Так не обязательно к названию. Можно к классу окна или хэндлу. Насчёт двух слов вообще не понял. При чём тут количество слов? <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p>]]></content>
			<author>
				<name><![CDATA[YMP]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=81</uri>
			</author>
			<updated>2009-07-30T07:51:26Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=26590#p26590</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBScript: сценарий входа, выполнение только 1й программы]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=26588#p26588" />
			<content type="html"><![CDATA[<p>По поводу приобрести мс офис только для скрипта не вариант, скрипт на АХК не подходит, т.к. обращается к названию окна, а оно динамичное, т.е. изменяется в процессе работы да и название у него не 2 слова <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p>]]></content>
			<author>
				<name><![CDATA[Temasik]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=3669</uri>
			</author>
			<updated>2009-07-30T07:08:53Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=26588#p26588</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBScript: сценарий входа, выполнение только 1й программы]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=26575#p26575" />
			<content type="html"><![CDATA[<p>Вот так будет лучше - добавлено:<br />1. Ведение протокола.<br />2. Нормальное завершение (через реестр).</p><p>OneTask.vbs :<br /></p><div class="codebox"><pre><code>&#039;
&#039; Неубиваемый блокнот
&#039;

Dim objTask

Const ForWriting = 2

appExe = &quot;notepad.exe&quot;     &#039;  старт приложения
appWndSufix = &quot;- Блокнот&quot;  &#039;  суффикс окна приложения
ParentWindow = &quot;ParentWindow:&quot;  &#039;  префикс для идентификации что активное окно родительское
myHKCU = &quot;HKEY_CURRENT_USER\Software\Slav\OneTask&quot;

rootDir = Left(WScript.ScriptFullName, instrrev(WScript.ScriptFullName,&quot;\&quot;))

Set objWord = CreateObject(&quot;Word.Application&quot;)
objWord.Documents.Add()

Set WshShell = WScript.CreateObject(&quot;WScript.Shell&quot;)
&#039; запрещаем пользователю выход из приложения
WshShell.RegWrite myHKCU &amp; &quot;\StopApplication&quot;, &quot;0&quot;, &quot;REG_DWORD&quot;

Set objFSO = CreateObject(&quot;Scripting.FileSystemObject&quot;)
&#039; файл протокола
Set myProtocol = objFSO.OpenTextFile(rootDir &amp; &quot;_Protocol.log&quot;, ForWriting, True)


Do While True  &#039;  глобальный цикл - повторный запуск если приложение будет закрыто

&#039; запускаем приложение
WshShell.Run appExe

&#039; ждем первого появления окна - хотя тут возможны нюансы
retVal_str = &quot;Start my program&quot;
Do While True
   retVal_str = objWord.Application.Run(&quot;CheckActiveWindowStr&quot;, ParentWindow)
   if (InStr(1, retVal_str, ParentWindow) = 1) and (InStr(1, retVal_str, appWndSufix) &gt; 1) then Exit Do
   Wscript.Sleep 1000  &#039; проверка каждую секунду
Loop

&#039; режим мониторинга
Do While True

  retVal_str  = objWord.Application.Run(&quot;CheckActiveWindowStr&quot;, ParentWindow)
  retVal_bool = MyTask()

  if (InStr(1, retVal_str, ParentWindow) = 1) and (InStr(1, retVal_str, appWndSufix) &lt; 1) then
     if retVal_bool then 
        myProtocol.WriteLine Now() &amp; vbTab &amp; retVal_str &amp; vbCrLf
        objTask.Activate
     else
        Exit Do
     end if
  end if

  if retVal_bool then
     if (objTask.WindowState &lt;&gt; 1) then objTask.WindowState = 1  &#039; wdWindowStateMaximize
  end if

  Wscript.Sleep 1000  &#039; опрос каждую секунду
Loop

&#039; проверка на разрешенное завершение приложения
  retVal = WshShell.RegRead(myHKCU &amp; &quot;\StopApplication&quot;) 
  if (retVal = 0) then 
     myProtocol.WriteLine Now() &amp; vbTab &amp; &quot;Close application&quot; &amp; vbCrLf
  else
     Exit Do
  end if

Loop  &#039;  глобальный цикл

&#039; завершение работы приложения
myProtocol.Close
Set myProtocol = Nothing
Set objFSO = Nothing

Set WshShell = Nothing

objWord.Quit
Set objWord = Nothing

WScript.Echo &quot;Приложение закрыто&quot;

WScript.Quit 0

&#039; *** функция определения нашего задания
Function MyTask()
  MyTask = False
  For Each objTask in objWord.Tasks
    if (InStr(1, objTask.Name, appWndSufix) &gt;= 1) then
       MyTask = True
       Exit For
    End If
  Next
End Function</code></pre></div><p>VBA-функция (включить в NORMAL.DOT) :</p><div class="codebox"><pre><code>Declare Function GetForegroundWindow Lib &quot;user32&quot; () As Long

Declare Function GetParent Lib &quot;user32&quot; (ByVal hwnd As Long) As Long

Declare Function GetWindowTextLength Lib &quot;user32&quot; Alias &quot;GetWindowTextLengthA&quot; _
(ByVal hwnd As Long) As Long

Declare Function GetWindowText Lib &quot;user32&quot; Alias &quot;GetWindowTextA&quot; _
(ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long



Function CheckActiveWindowStr(ByVal ParentWindow As String) As String
  Dim hwnd As Long
  Dim MyStr As String
  
  CheckActiveWindowStr = &quot;ChildWindow&quot;
  
  hwnd = GetForegroundWindow
  If GetParent(hwnd) = 0 Then
     MyStr = String(GetWindowTextLength(hwnd) + 1, Chr$(0))
     GetWindowText hwnd, MyStr, Len(MyStr)
     CheckActiveWindowStr = ParentWindow + MyStr
  End If

End Function</code></pre></div><p>OneTask.reg : команда на выполнение regedit /s d:\script\onetask.reg.<br />Если этот reg-файл выполнен, то при закрытии приложения происходит нормальное завершение скрипта.</p><div class="codebox"><pre><code>Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Slav\OneTask]
&quot;StopApplication&quot;=dword:00000001</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Slav]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=16491</uri>
			</author>
			<updated>2009-07-29T12:47:20Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=26575#p26575</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBScript: сценарий входа, выполнение только 1й программы]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=26558#p26558" />
			<content type="html"><![CDATA[<p>Совсем небольшое дополнение в программе повысит психологическую мотивацию пользователя даже не пытаться запустить что-нибудь, кроме основной проги. В том случае, если активное окно любое отличное от требуемого, то перед переключением название левого окна записывается в лог-файл. Также как и попытки закрыть программу.<br />На основании лога можно поинтересоваться у пользователя: &quot;А зачем это Вы пытались несколько раз запустить игру?&quot;</p>]]></content>
			<author>
				<name><![CDATA[Slav]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=16491</uri>
			</author>
			<updated>2009-07-29T05:09:39Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=26558#p26558</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBScript: сценарий входа, выполнение только 1й программы]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=26528#p26528" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Slav пишет:</cite><blockquote><p>Да и еще - хотите я скажу как из того же notepad запустить что угодно? Вы эту проблему до сих пор не решили</p></blockquote></div><p>Почему не решили, ведь был предложен вариант отключения запуска приложений через локальные политики безопасности плюс проверка размера файла. Тем более на терминальном компьютере можно повыкидывать все лишнее и запускать будет особо нечего <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /> </p><p>Интересно, а что будет если окно основного приложения сделать дочерним по отношению к окну SysListView32 Рабочего стола (без удаления проводника, конечно-же)?</p>]]></content>
			<author>
				<name><![CDATA[Poltergeyst]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=83</uri>
			</author>
			<updated>2009-07-28T13:16:21Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=26528#p26528</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBScript: сценарий входа, выполнение только 1й программы]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=26527#p26527" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>alexii пишет:</cite><blockquote><p>...<br />Вы бы сами попробовали что ли, а то Вы пока как-то беспредметно рассуждаете (перед этим желательно заиметь какой-нибудь LiveCD, чтобы вернуть стандартный shell).</p></blockquote></div><p>alexii,</p><p>попробовал что именно? <br />Вы же не предлагаете - пока - ни одного конкретного скрипта, ни инструкции как заменить shell хотя бы обычным notepad.<br />Кстати, насчет LiveCD - это не мне совет надо давать, а тем, кто пойдет по предложенному Вами пути. Рекомендую включить в комплект еще и вазелин - если что-то серьезно сбойнет, LiveCD не окажется под рукой, и руководство захочет отметить Ваше решение. Шутко. <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /><br />Да и еще - хотите я скажу как из того же notepad запустить что угодно? Вы эту проблему до сих пор не решили - а ведь уже 3-я страница темы.</p><p>Предлагаю перейти к предметному обсуждению.<br />Вот мой подход. Он состоит из двух частей - VBS-скрипта и маленькой функции на VBA. VBA -функцию можно оформить как динамически формируемую. Полюбому - для реализации моего подхода необходим установленный MS Офис. Это его главное и единственное ограничение.<br />Как всегда - готов услышать конкретные замечания, советы, конструктивную критику.</p><p>VBS-скрипт:</p><div class="codebox"><pre><code>&#039;
&#039; Неубиваемый блокнот
&#039;

appExe = &quot;notepad.exe&quot;     &#039;  старт приложения
appWndSufix = &quot;- Блокнот&quot;  &#039;  суффикс окна приложения

Set objWord = CreateObject(&quot;Word.Application&quot;)
objWord.Documents.Add()

Set WshShell = WScript.CreateObject(&quot;WScript.Shell&quot;)

Do While True  &#039;  глобальный цикл - повторный запуск если приложение будет закрыто

&#039; запускаем приложение
WshShell.Run appExe

&#039; ждем первого появления окна - хотя тут возможны нюансы
retVal = False
Do While not retVal
   retVal = objWord.Application.Run(&quot;CheckActiveWindow&quot;, appWndSufix)
Loop

&#039; определяем наш Task
For Each objTask in objWord.Tasks
    if (InStr(1, objTask.Name, appWndSufix) &gt; 1) then
       objTask.Activate         &#039; первый раз - нафсякей
       objTask.WindowState = 1  &#039; wdWindowStateMaximize
       Exit For
    End If
Next

On Error resume next  &#039;  если приложение будет закрыто

&#039; режим мониторинга
Do While True

  retVal = objWord.Application.Run(&quot;CheckActiveWindow&quot;, appWndSufix)
  if (not retVal) then objTask.Activate
  if (objTask.WindowState &lt;&gt; 1) then objTask.WindowState = 1  &#039; wdWindowStateMaximize

  if (Err.Number = 5825) then Exit Do  &#039;  приложение было закрыто, номер ошибки для WINDOWS2000
  
  Wscript.Sleep 1000  &#039; опрос каждую секунду
Loop

Err.Clear
On Error Goto 0

Loop  &#039;  глобальный цикл

&#039; придумать критерий нормального выхода
Set WshShell = Nothing

objWord.Quit
Set objWord = Nothing

WScript.Echo &quot;Приложение закрыто&quot;

WScript.Quit 0</code></pre></div><p>VBA-функция (сохранить в NORMAL.DOT):</p><div class="codebox"><pre><code>Declare Function GetForegroundWindow Lib &quot;user32&quot; () As Long

Declare Function GetParent Lib &quot;user32&quot; (ByVal hwnd As Long) As Long

Declare Function GetWindowTextLength Lib &quot;user32&quot; Alias &quot;GetWindowTextLengthA&quot; _
(ByVal hwnd As Long) As Long

Declare Function GetWindowText Lib &quot;user32&quot; Alias &quot;GetWindowTextA&quot; _
(ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long



Function CheckActiveWindow(ByVal TitleWindow As String) As Boolean
  Dim hwnd As Long
  Dim MyStr As String
  
  CheckActiveWindow = False
  
  hwnd = GetForegroundWindow
  If GetParent(hwnd) = 0 Then
     MyStr = String(GetWindowTextLength(hwnd) + 1, Chr$(0))
     GetWindowText hwnd, MyStr, Len(MyStr)
     If InStr(MyStr, TitleWindow) &gt; 0 Then
        CheckActiveWindow = True
     End If
  End If

End Function</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Slav]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=16491</uri>
			</author>
			<updated>2009-07-28T12:49:03Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=26527#p26527</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBScript: сценарий входа, выполнение только 1й программы]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=26514#p26514" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Slav пишет:</cite><blockquote><p>Если это не совсем оффтоп, то прошу пояснить последнюю мысль. Отнюдь не спора ради, а исключительно с целью самообразования. Что собственно имеется ввиду?</p></blockquote></div><p>Доберусь до терминала, опишу подробно.</p><p>OFF:<br /></p><div class="quotebox"><cite>Slav пишет:</cite><blockquote><p>если это камешек в мой огород - то напрасно.</p></blockquote></div><p><strong>Slav</strong>, разве я упоминал кого-то конкретно?<br /></p><div class="quotebox"><cite>Slav пишет:</cite><blockquote><p>Подменяйте на здоровье что угодно чем угодно. Так жизнь приобретет новые краски - особенно для пользователей. Корячиться -то ведь им в конце концов.</p></blockquote></div><p>Вы бы сами попробовали что ли, а то Вы пока как-то беспредметно рассуждаете (перед этим желательно заиметь какой-нибудь LiveCD, чтобы вернуть стандартный shell).</p>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2009-07-28T07:51:16Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=26514#p26514</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBScript: сценарий входа, выполнение только 1й программы]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=26512#p26512" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Temasik пишет:</cite><blockquote><p>так и не понял, почему могу реализовать &quot;деактивацию&quot; кнопки &quot;закрыть&quot;, но не могу &quot;деактивировать кнопку &quot;свернуть&quot;.</p></blockquote></div><p>Вот пример на АНК, который запускает Блокнот, ждёт появления его окна и деактивирует кнопку &quot;Свернуть&quot;.<br /></p><div class="codebox"><pre><code>WS_MINIMIZEBOX = 0x20000

Run, notepad.exe
WinWait, Безымянный - Блокнот
WinSet, Style, -%WS_MINIMIZEBOX%, Безымянный - Блокнот</code></pre></div>]]></content>
			<author>
				<name><![CDATA[YMP]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=81</uri>
			</author>
			<updated>2009-07-28T07:24:38Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=26512#p26512</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBScript: сценарий входа, выполнение только 1й программы]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=26511#p26511" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>alexii пишет:</cite><blockquote><p>...<br />P.S. На всякий случай, для любителей поспорить насчёт кривости и глючности «подмены shell&#039;а», добавлю, что аналогичным же образом реализуется сеанс на сервере терминалов с назначенным приложением в качестве задачи.</p></blockquote></div><p>alexii,</p><p>если это камешек в мой огород - то напрасно. Подменяйте на здоровье что угодно чем угодно.<br />Так жизнь приобретет новые краски - особенно для пользователей. Корячиться -то ведь им в конце концов. <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p><p>Если это не совсем оффтоп, то прошу пояснить последнюю мысль. Отнюдь не спора ради, а исключительно с целью самообразования. Что собственно имеется ввиду?<br />Спасибо.</p>]]></content>
			<author>
				<name><![CDATA[Slav]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=16491</uri>
			</author>
			<updated>2009-07-28T07:04:24Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=26511#p26511</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBScript: сценарий входа, выполнение только 1й программы]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=26447#p26447" />
			<content type="html"><![CDATA[<p>Я пробовал с помощью скрипта который есть на даном форуме убрать &quot;кнопчки управления окном&quot;, но т.к. я в AHK полный нуб, то так и не понял, почему могу реализовать &quot;деактивацию&quot; кнопки &quot;закрыть&quot;, но не могу &quot;деактивировать кнопку &quot;свернуть&quot;. С AHK мне нужно будет так сломать голову... <img src="//forum.script-coding.com/img/smilies/sad.png" width="15" height="15" /></p>]]></content>
			<author>
				<name><![CDATA[Temasik]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=3669</uri>
			</author>
			<updated>2009-07-27T07:58:42Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=26447#p26447</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBScript: сценарий входа, выполнение только 1й программы]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=26442#p26442" />
			<content type="html"><![CDATA[<p>Напрямую — никак. Можно получить аналогичный результат, используя сторонние библиотеки и те же операции, что в AHK, так что, не стоит даже и заморачиваться.</p><p>Подход, я думаю, у Вас верный. Я бы так и делал: скомпилированный скрипт на AHK/AutoIt, который загружается в качестве shell&#039;а вместо Проводника. Этот скрипт запускает требуемое приложение, дожидается появления окна запущенного приложения, блокирует функции сворачивания/закрытия (и чего ещё потребуется); далее он следит за запущенным приложением (я не уверен насчёт закрытия, но можно в скрипте предусмотреть, что при закрытии отслеживаемого приложения происходит его повторный запуск из скрипта по вышеописанному варианту).</p><p>Правда, опять не очень понятно, что делать, если Ваше приложение (СПС ГАРАНТ) использует вышеуказанные Common Dialog Controls.</p><p>P.S. На всякий случай, для любителей поспорить насчёт кривости и глючности «подмены shell&#039;а», добавлю, что аналогичным же образом реализуется сеанс на сервере терминалов с назначенным приложением в качестве задачи.</p>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2009-07-27T07:21:11Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=26442#p26442</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBScript: сценарий входа, выполнение только 1й программы]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=26441#p26441" />
			<content type="html"><![CDATA[<p>Можно тогда задам более конкретный вопрос, а то глобальная задача заводит всех в тупик, т.к. имеет одно решение, но разными дорогами и никто не хочет идти одной, как камешек налево пойдешь и т.д. только у камешка вот я стою <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /><br />я поискал по форуму и нашел только для AHK скрипт позволяющий убрать кнопки закрыть свернуть... как в VBS добиться аналогичного результата? а еще лучше, чтоб даже не было окна заголовка. Спасибо.<br />P.S.<br />У меня нет большого опыта и знаний программирования, пользуюсь скриптами и этим форумом для решения локальных прикладных задач.</p>]]></content>
			<author>
				<name><![CDATA[Temasik]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=3669</uri>
			</author>
			<updated>2009-07-27T06:44:09Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=26441#p26441</id>
		</entry>
</feed>
