<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; VBS: Не получается активировать окно внутри запущенной программы]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=11161&amp;type=atom" />
	<updated>2015-12-21T10:38:11Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=11161</id>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Не получается активировать окно внутри запущенной программы]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=99835#p99835" />
			<content type="html"><![CDATA[<p>Пришёл на работу, то же самое, окно не активирует и успешно вставляет в блокнот, если он активен</p>]]></content>
			<author>
				<name><![CDATA[palexa]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=33554</uri>
			</author>
			<updated>2015-12-21T10:38:11Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=99835#p99835</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Не получается активировать окно внутри запущенной программы]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=99832#p99832" />
			<content type="html"><![CDATA[<p><strong>palexa</strong><br />На <a href="http://forum.script-coding.com/viewtopic.php?pid=96400#p96400">основе</a> попробуйте.</p>]]></content>
			<author>
				<name><![CDATA[Flasher]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27593</uri>
			</author>
			<updated>2015-12-21T09:48:36Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=99832#p99832</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Не получается активировать окно внутри запущенной программы]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=99816#p99816" />
			<content type="html"><![CDATA[<p>Возможно это правильный вариант, хоть и не идеальный, можно подловить момент, но у меня из 10 раз получилось только 1, <br />на всякий случай запишу здесь<br /></p><div class="codebox"><pre><code>Dim objShell
set objShell = Wscript.CreateObject(&quot;WScript.Shell&quot;)
PassWord = &quot;PaSSw0rd1234&quot;

objShell.Run &quot;&quot;&quot;c:\Progra~1\x2goclient\x2goclient.exe&quot;&quot; --session=internet --no-menu --no-session-edit&quot;&quot;&quot;

Do Until Success = True
    Success = objShell.AppActivate(+ &quot;@192.168.100.101:22&quot;)
Loop

If Activated = 0 Then
    Set WshShell = WScript.CreateObject(&quot;WScript.Shell&quot;)
    WshShell.AppActivate (&quot;X2Go Client&quot;) , true 
    WshShell.Sendkeys PassWord &amp; &quot;{ENTER}&quot;
End If

Wscript.Quit</code></pre></div>]]></content>
			<author>
				<name><![CDATA[palexa]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=33554</uri>
			</author>
			<updated>2015-12-20T20:10:06Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=99816#p99816</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Не получается активировать окно внутри запущенной программы]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=99812#p99812" />
			<content type="html"><![CDATA[<p>Запускаю первый скрипт<br />start1.vbs<br /></p><div class="codebox"><pre><code>Dim objShell
set objShell = Wscript.CreateObject(&quot;WScript.Shell&quot;)

objShell.Run &quot;&quot;&quot;c:\Progra~1\x2goclient\x2goclient.exe&quot;&quot; --session=internet&quot;&quot;&quot;
Do Until Success = True
    Success = objShell.AppActivate(+ &quot;@192.168.100.101:22&quot;)
Loop

Wscript.Quit
</code></pre></div><p>Для чистоты эксперемента открываю блокнот (активное окно)</p><p>Запускаю второй скрипт</p><p>start2.vbs<br /></p><div class="codebox"><pre><code>PassWord = &quot;PaSSw0rd1234&quot;

Set WshShell = WScript.CreateObject(&quot;WScript.Shell&quot;)
WshShell.AppActivate (&quot;X2Go Client&quot;) , true 

WshShell.Sendkeys PassWord &amp; &quot;{ENTER}&quot;

Wscript.Quit</code></pre></div><p>Скрипт активирует окно X2Go Client и вставляет пароль</p><p>Вот только уже голову сломал как объединить эти файлы в один VBS</p><p>Точнее если объединить, то всё опять повторяется, вставляет в блокнот</p>]]></content>
			<author>
				<name><![CDATA[palexa]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=33554</uri>
			</author>
			<updated>2015-12-20T19:13:01Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=99812#p99812</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Не получается активировать окно внутри запущенной программы]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=99806#p99806" />
			<content type="html"><![CDATA[<p>Не работает на простейшем примере</p><div class="codebox"><pre><code>Set WshShell = CreateObject(&quot;WScript.Shell&quot;) 
Set WshExec = WshShell.Exec(&quot;calc&quot;) 

WScript.Sleep 10000 

Res = WshShell.AppActivate(WshExec.ProcessID) 
If Res Then WshShell.SendKeys(&quot;2*2=&quot;)</code></pre></div><p>Открывается калькулятор<br />пауза на 10 секунд<br />Открываю блокнот (он теперь активный)</p><p>По идее, после паузы, должен стать активным калькулятор, в который вставляется 2*2=</p><p>Но увы, калькулятор не активируется и 2*2= вставляется в блокнот</p>]]></content>
			<author>
				<name><![CDATA[palexa]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=33554</uri>
			</author>
			<updated>2015-12-20T17:44:23Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=99806#p99806</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Не получается активировать окно внутри запущенной программы]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=99804#p99804" />
			<content type="html"><![CDATA[<p>Если мышкой активировать главное окно, то активным стаёт дочерное окно</p><p>Но не работает скрипт</p>]]></content>
			<author>
				<name><![CDATA[palexa]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=33554</uri>
			</author>
			<updated>2015-12-20T17:19:20Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=99804#p99804</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Не получается активировать окно внутри запущенной программы]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=99798#p99798" />
			<content type="html"><![CDATA[<p>2<strong>palexa</strong><br />AppActivate работает только если в качестве параметра задано имя или ProcessId <span class="bbu">основного окна</span> приложения. Тебе же надо писать в дочернее окно.<br />Не факт что оно активируется при активации основного окна (но попробовать можно).<br />Да и функция SendKeys может вместо заданного пароля вставить всякую ерунду, т.к. текст зависит от текущей раскладки клавиатуры.<br />Я бы посоветовал использовать AutoIt или AutoHotkey - они заточены под такие задачи. Или, самое простое и доступное - замечательную утилитку <a href="http://www.nirsoft.net/utils/nircmd.html">nircmd</a>.</p>]]></content>
			<author>
				<name><![CDATA[mozers]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=4112</uri>
			</author>
			<updated>2015-12-20T14:36:52Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=99798#p99798</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[VBS: Не получается активировать окно внутри запущенной программы]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=99796#p99796" />
			<content type="html"><![CDATA[<p>Привет!</p><p>Надо запустить программу и вставить автоматически пароль, но не получается</p><p>Вот код файла vbs<br /></p><div class="codebox"><pre><code>Dim objShell
set objShell = Wscript.CreateObject(&quot;WScript.Shell&quot;)

&#039;Пароль который надо вставить
PassWord = &quot;PaSSw0rd1234&quot;

&#039;запуск программы с ключом
objShell.Run &quot;&quot;&quot;c:\Progra~1\x2goclient\x2goclient.exe&quot;&quot; --session=internet&quot;&quot;&quot;
&#039;После запуска программы отрывается основное окно программы с заголовком X2Go Client

Do Until Success = True
&#039;После успешного соединения с сервером поверх основного окна отрывается окошко с именем user@192.168.100.101:22
&#039;Надо активировать это окншко, (на случай, если будет поверх открыт блокнот для перехвата пароля) и вставить пароль в нужное окошко
    Success = objShell.AppActivate(&quot;user@192.168.100.101:22&quot;)
Loop
objShell.Sendkeys PassWord &amp; &quot;{ENTER}&quot;

Wscript.Quit</code></pre></div><p>Окно не активируется, и пароль успешно вставляется в блокнот, который отрыт поверх программы</p><p>Скриншот в файле</p><p>Может поможете ?</p>]]></content>
			<author>
				<name><![CDATA[palexa]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=33554</uri>
			</author>
			<updated>2015-12-20T12:53:02Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=99796#p99796</id>
		</entry>
</feed>
