Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Клуб программистов > Свободное общение
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.03.2015, 16:49   #1
IceBox
Новичок
Джуниор
 
Регистрация: 17.03.2015
Сообщений: 4
Сообщение VBS - Visual Basic Scripting Edition A&Q

Приветствую вас !
IceBox вне форума Ответить с цитированием
Старый 17.03.2015, 16:51   #2
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Бот что ли?
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 17.03.2015, 17:04   #3
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

он самый Предлагаю банить)
Человек_Борща вне форума Ответить с цитированием
Старый 17.03.2015, 20:16   #4
IceBox
Новичок
Джуниор
 
Регистрация: 17.03.2015
Сообщений: 4
По умолчанию

Нет,не бот. Просто хочется об VBS и об C# поболтать ...

Т.Е. не BS а VBS

Используется VBS код:
Код:
MsgBox "Привет !"
DIM Name
DIM WhatToDo
Set WshShell = CreateObject("WScript.Shell")
Name = InputBox ("Ты кто ?", "")
MsgBox "Привет, "+Name+"!"
WhatToDo = InputBox ("1 = открыть блокнот. 2 = открыть калькулятор. 3 = открыть google.","Что сделать ?")
If WhatToDo = "1" then
WshShell.Run "notepad"
WScript.Sleep 500
WshShell.AppActivate "notepad" 
End If
If WhatToDo = "2" then
WshShell.Run "calc.exe"
WScript.Sleep 500
WshShell.AppActivate "calc" 
End If
If WhatToDo = "3" then
WshShell.Run "http://google.com/"
End If
Известно ли кому, как в VBS сделать следующее:
1. Открыть блокнот ( это понятно)
2. Написать там автоматически РУССКИЙ текст. (у меня раскладка стандартная - англ. т.е. не могу, но можно ли это как-либо обойти ?)

Последний раз редактировалось Stilet; 17.03.2015 в 20:27.
IceBox вне форума Ответить с цитированием
Старый 17.03.2015, 21:16   #5
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

для таких тем существуют спец. разделы форума, и название тоже должно отражать содержание.
Человек_Борща вне форума Ответить с цитированием
Старый 18.03.2015, 06:33   #6
kvitaliy
Участник клуба
 
Регистрация: 17.05.2011
Сообщений: 1,660
По умолчанию

Цитата:
Сообщение от IceBox Посмотреть сообщение
Известно ли кому, как в VBS сделать следующее:
1. Открыть блокнот ( это понятно)
2. Написать там автоматически РУССКИЙ текст. (у меня раскладка стандартная - англ. т.е. не могу, но можно ли это как-либо обойти ?)
Можно сделать так:
Код:
'***************************************
' wscript shell SendKeys
' имитация нажатия клавиш в блокноте
' SendKeys.vbs
'***************************************
Option Explicit
 
Dim WshShell, my_arr(16), index
 
' Создаем ссылку на объект
Set WshShell = WScript.CreateObject("WScript.Shell")
 
'Определяем элементы массива
my_arr(0) = "Э"
my_arr(1) = "т"
my_arr(2) = "о"
my_arr(3) = "{ENTER 2}"
my_arr(4) = "п"
my_arr(5) = "р"
my_arr(6) = "о"
my_arr(7) = "с"
my_arr(8) = "т"
my_arr(9) = "о"
my_arr(10) = "й"
my_arr(11) = "{ENTER 2}"
my_arr(12) = "т"
my_arr(13) = "е"
my_arr(14) = "к"
my_arr(15) = "с"
my_arr(16) = "т"
 
' Запускаем программу блокнот
WshShell.Run "Notepad.exe", 1
 
'Делаем задержку в 2 секунды
WScript.Sleep 2000       
 
' Используем цикл для перебора элементов массива
For each index in my_arr
     ' Имитируем нажатие клавиши
     WshShell.SendKeys(index)
     ' Делаем задержку в 500 миллисекунд
     WScript.Sleep 500
Next
 
MsgBox "Конец теста!"
Хотя если только английская раскладка, то в результате не уверен. Если текущая кириллица, то работает точно.

Последний раз редактировалось kvitaliy; 18.03.2015 в 06:39.
kvitaliy вне форума Ответить с цитированием
Старый 18.03.2015, 10:13   #7
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

что за гемморой с массивами? А записать в строку?
что-то типа такого:
Код:
Dim str,i,c
Set sh = CreateObject("WScript.Shell")
sh.Run "Notepad++"
sh.sleep 500
sh.AppActive "new 1 - Notepad++"

str = "Привет мир! | Это новая строка"

For i=1 to Len(str)
	c = ""
	c = Mid(str,i,1)
	If c == "|" Then
		c = "{ENTER}"
	End If
	sh.SendKeys(c)
	sh.Sleep 500
	next
Человек_Борща вне форума Ответить с цитированием
Старый 18.03.2015, 15:51   #8
IceBox
Новичок
Джуниор
 
Регистрация: 17.03.2015
Сообщений: 4
Печаль

Жаль ... Как в VBS сделать новую строку ? НАПРИМЕР: "TEXTline1 [Чем обозночается] TEXTline2"

Последний раз редактировалось IceBox; 18.03.2015 в 20:10. Причина: Опечатка
IceBox вне форума Ответить с цитированием
Старый 18.03.2015, 15:54   #9
IceBox
Новичок
Джуниор
 
Регистрация: 17.03.2015
Сообщений: 4
Вопрос

Цитата:
Сообщение от Человек_Борща Посмотреть сообщение
для таких тем существуют спец. разделы форума
Ссылку дай пожалуйста .
IceBox вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти сумму произведений цифр целой и дробной частей. Visual Basic 2008 Express Edition Xorigan Помощь студентам 15 24.06.2014 16:17
VBS & JS Artem_Kokos Помощь студентам 0 13.11.2011 12:38
Microsoft Visual Basic 6 Professional Edition DKbelRoma Софт 9 23.08.2010 09:28
Microsoft Visual Basic 6 Professional Edition DKbelRoma Свободное общение 2 05.09.2007 15:34