Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   [решено] Посылание текста через Send() целиком, а не набором каждой буквы (http://forum.oszone.net/showthread.php?t=146482)

Str_ani_ck 28-07-2009 18:23 1179968

Посылание текста через Send() целиком, а не набором каждой буквы
 
Подскажите каким способом можно ввести текст в окно, кроме
Send ("Пример ввода текста")
Просто таким образом это выглядит как последовательное нажатие клавишь, а хочется что он просто был введен как текст, а не как нажатие клавишь.

ven00m 28-07-2009 19:33 1180023

Можно так например:
Код:

Run("notepad.exe") 
WinWait("Безымянный") 
ControlSetText("Безымянный", "", "Edit1", "New Text Here" )


Str_ani_ck 28-07-2009 19:35 1180026

Цитата:

Цитата ven00m
Run("notepad.exe")
WinWait("Безымянный")
ControlSetText("Безымянный", "", "Edit1", "New Text Here" ) »

Подсмотрел в справке??? А еще есть варианты?

ven00m 28-07-2009 19:40 1180028

Цитата:

Цитата Str_ani_ck
Подсмотрел в справке??? »

Ога

Можно так еще:
Код:

Opt("SendKeyDelay", 0) 
Opt("SendKeyDelay", 0) 
Opt("SendKeyDownDelay", 0) 
Run("notepad.exe") 
WinWait("Безымянный") 
ControlSend("Безымянный", "", "Edit1", "This is a line of text in the notepad window")

Ненадежный вариант, я бы так не делал.

Creat0R 28-07-2009 21:31 1180112

Цитата:

Цитата Str_ani_ck
А еще есть варианты? »

Используя буфер обмена:

Код:

_SendEx("Пример ввода текста")

;Тут тело скрипта

Func _SendEx($sString)
    Local $sOld_Clip = ClipGet()

    ClipPut($sString)
    Sleep(10)
    Send("+{INSERT}")

    ClipPut($sOld_Clip)
EndFunc

P.S
В загаловке темы не нужно указывать AutoIt, оно и так понятно (этот раздел весь посвящён аутоиту). А также придумайте более содержательный заголовок, «ввод текста» может означать много чего.

Str_ani_ck 06-08-2009 18:20 1187385

Цитата:

Цитата ven00m
Run("notepad.exe")
WinWait("Безымянный")
ControlSetText("Безымянный", "", "Edit1", "New Text Here" ) »

Да действительно наиболее удачный вариант))) Спасибо, как говорится смотрю в книгу вижу фигу

Str_ani_ck 06-08-2009 22:25 1187583

Цитата:

Цитата Creat0R
_SendEx("Пример ввода текста")
;Тут тело скрипта
Func _SendEx($sString)
Local $sOld_Clip = ClipGet()
ClipPut($sString)
Sleep(10)
Send("+{INSERT}")
ClipPut($sOld_Clip)
EndFunc »

Чтото ничего понять из этого не могу

ven00m 06-08-2009 22:40 1187591

А так?
Код:

Run("notepad.exe") 
WinWait("Безымянный")   
ClipPut("Пример ввода текста") 
Send("^v")


Creat0R 09-08-2009 14:48 1189362

Цитата:

Цитата Str_ani_ck
ничего понять из этого не могу »

А что собственно нужно понять? Оно не работает?


Время: 15:56.

Время: 15:56.
© OSzone.net 2001-