<?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=8149&amp;type=atom" />
	<updated>2013-03-14T12:11:08Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=8149</id>
		<entry>
			<title type="html"><![CDATA[Re: VBS определить нажатую кнопку в окне]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=70285#p70285" />
			<content type="html"><![CDATA[<p>Возможно такой вариант подойдёт ? На XP проверить нет возможности.</p>]]></content>
			<author>
				<name><![CDATA[Xameleon]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=8836</uri>
			</author>
			<updated>2013-03-14T12:11:08Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=70285#p70285</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS определить нажатую кнопку в окне]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=70283#p70283" />
			<content type="html"><![CDATA[<p>Я думал над таким вариантом, но он мне не подходит.</p><p>Если пользователь нажмёт кнопку &quot;Отмена&quot;, то cmd не запустится и мы будем вечно ожидать появления процесса.</p>]]></content>
			<author>
				<name><![CDATA[Elusive87]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=29615</uri>
			</author>
			<updated>2013-03-14T09:31:21Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=70283#p70283</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS определить нажатую кнопку в окне]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=70271#p70271" />
			<content type="html"><![CDATA[<p>Предлагаю - скриптом перед стартом этого runas-пинга создать асинхронный обработчик &quot;ожидающий&quot; на машине события создания процессов с именем cmd.exe (поищите в коллекции примеры, лично мне такое делать не приходилось, но по-моему обсуждалось, и не раз). В обработчике контролируйте командные строки появляющихся процессов, чтобы достоверно отсеять свой cmd.exe от возможных других.&nbsp; </p><p>Когда &quot;дождетесь&quot; появления именно своего процесса, проконтролируйте его создателя: если хозяин процесса не отличается от имени текущего (для скрипта) пользователя, значит регистрацию другой у/з не выполняли - можете процесс пинга убить и завершить работу скрипта.</p>]]></content>
			<author>
				<name><![CDATA[Rom5]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=5724</uri>
			</author>
			<updated>2013-03-13T20:54:08Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=70271#p70271</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS определить нажатую кнопку в окне]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=70268#p70268" />
			<content type="html"><![CDATA[<p>Вот пример кода:</p><div class="codebox"><pre><code>With CreateObject(&quot;Shell.Application&quot;)
    .ShellExecute &quot;cmd&quot;, &quot;/c ping mail.ru&quot;, &quot;&quot;, &quot;runas&quot;, 1
End With</code></pre></div><p>В данном примере я запускаю экземпляр командного шела и передаю ему параметр - исполнять пинговку узла mail.ru, причём, я хочу чтобы он запустился от имени другой учётной записи, поэтому я передаю методу ShellExecute параметр &quot;runas&quot;. На ХР это приведёт к тому, что появится окно где предлагается выбрать другую локлаьную учётку и ввести пароль, на 7 - предлагается запустить от имени Админа.</p><p>Вот эти окна - и есть суть моего вопроса. Меня интересует возможность отследить когда пользователь нажмёт в таком окне &quot;Нет&quot;, ведь тогда скрипту продолжать работу нет смысла.</p><div class="quotebox"><blockquote><p>1) на момент ввода регистрационных данных исполняемый файл по сути еще не стартовал?</p></blockquote></div><p>Верно, его запустит ОСь, если польозватель введёт корректные учётные данные.</p><div class="quotebox"><blockquote><p>2) пользователь может отказаться вводить регистрацию и, тот исполняемый файл запустится от пользовательской у/з, а Вам надо обязательно это недопустить?</p></blockquote></div><p>Смысл процедуры, которую я задумал - дать возможность запутисть процессы (в которых может возникнуть необходимость) от имени учётки с админ. правами в случае, если приложение будет запущено под ограниченной учётной записью. Смысла запускать исполняемые файлы под ограниченной учёткой нет.</p><div class="quotebox"><blockquote><p>3) скрипт каким-то образом взаимодействует с запускаемым приложением или ожидает завершения его выполнения чтобы чем-то там воспользоваться, например, неким результатом, без которого дальнейшая работа бессмыслена?</p></blockquote></div><p>Да, скрипт должен будет ждать пока процесс, для которого вводились учётные данные, завершится. Но это не имеет отношения к моему вопросу.</p>]]></content>
			<author>
				<name><![CDATA[Elusive87]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=29615</uri>
			</author>
			<updated>2013-03-13T19:39:58Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=70268#p70268</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS определить нажатую кнопку в окне]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=70265#p70265" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Elusive87 пишет:</cite><blockquote><p>...<br /> запускает исполняемый файл от имени другой учётной записи в результате чего появляется стандартное окно Windows, предлагающее ввести альтернативные логин/пароль. Мне необходимо удостовериться, что в этом окне не была нажата кнопка отмена, либо, если она всё-таки была нажата, то скрипт должен завершиться<br />...</p></blockquote></div><p>Я правильно понимаю, что :<br />1) на момент ввода регистрационных данных исполняемый файл по сути еще не стартовал?<br />2) пользователь может отказаться вводить регистрацию и, тот исполняемый файл запустится от пользовательской у/з, а Вам надо обязательно это недопустить?<br />3) скрипт каким-то образом взаимодействует с запускаемым приложением или ожидает завершения его выполнения чтобы чем-то там воспользоваться, например, неким результатом, без которого дальнейшая работа бессмыслена?</p><br /><p><em>ps. если знаете - как &quot;выглядит&quot; процесс запускаемого приложения, то можете через WMI-запрос получить данные процесса и узнать его имя владельца.</em></p>]]></content>
			<author>
				<name><![CDATA[Rom5]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=5724</uri>
			</author>
			<updated>2013-03-13T17:57:34Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=70265#p70265</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS определить нажатую кнопку в окне]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=70250#p70250" />
			<content type="html"><![CDATA[<div class="quotebox"><blockquote><p>в результате чего появляется стандартное окно Windows,</p></blockquote></div><p>Приведите Ваш код.</p>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2013-03-13T15:27:10Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=70250#p70250</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[VBS определить нажатую кнопку в окне]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=70247#p70247" />
			<content type="html"><![CDATA[<p>Доброго времени суток.</p><p>Помогите решить следующую задачу.</p><p>Мой скрипт в процессе выполнения запускает исполняемый файл от имени другой учётной записи в результате чего появляется стандартное окно Windows, предлагающее ввести альтернативные логин/пароль. Мне необходимо удостовериться, что в этом окне не была нажата кнопка отмена, либо, если она всё-таки была нажата, то скрипт должен завершиться. Каким образом можно определить какую из кнопок нажал пользователь в shellьном окне?</p>]]></content>
			<author>
				<name><![CDATA[Elusive87]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=29615</uri>
			</author>
			<updated>2013-03-13T15:16:44Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=70247#p70247</id>
		</entry>
</feed>
