03.03.2019 17:51
Occul
 
Понадобилось создать видимость набираемого текста на клавиатуре в Windows с помощью штатных средств.

Код:
On Error Resume Next
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.run("notepad")
Set oWrd = CreateObject("Word.Application")
WScript.Sleep 1000
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("readme.txt", 1)
Do Until objFile.AtEndOfStream
if oWrd.NumLock then exit do
if Int( ( 1000 - 200 + 1 ) * Rnd + 1 )=202 then WScript.Sleep Int( ( 60000 - 5000 + 1 ) * Rnd + 1 )
if Int( ( 1000 - 200 + 1 ) * Rnd + 1 )=203 then WshShell.SendKeys("{BACKSPACE}")
strCharacters = objFile.Read(1)
wscript.Sleep Int( ( 500 - 10 + 1 ) * Rnd + 1 )
WshShell.SendKeys strCharacters
Loop
oWrd.Application.Quit True
WshShell.run("taskkill /f /im:notepad.exe")
В директорию со скриптом необходимо положить файл readme.txt с латиницей и желательно побольше размером. Еще раз, если переключитесь на русский, будет лупить по-русски, но в файле должны быть сканкоды. Набивать будет в активное окно. Во избежание для этого запускается Блокнот, но можно переключиться на любое другое. При включенном NumLock скрипт останавливается. Для получения статуса NumLock требуется Word, без него скрипт работать не будет.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.