作者UndeadSion (UndeadSion)
看板EzHotKey
标题Re: [请问] 怎麽送出input1的文字-autoit
时间Sat Jun 27 14:17:06 2009
※ 引述《ledup (我是男子汉)》之铭言:
: 我想要按f8 然後 会在记事本 自动输出 我打在
: $input1里面的文字,不过怎麽只有 打出3 而以
: 而且我里面也没有打3啊,超奇怪
: 程式码要怎麽改,麻烦高手帮帮我
以下参考看看,如果是要逐字送出的话,请按 F9
---------------->8---------------->8---------------- 请沿此线剪下 ----
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
HotKeySet("{F8}","keyit") ; F8 一次贴上
HotKeySet("{F9}","keyit2") ; F9 逐字送出
$Form1 = GUICreate("GUI 设计编辑区", 620, 407, -1, -1)
$Edit1 = GUICtrlCreateEdit("", 20, 10, 580, 380) ; 改用 Edit 比较方便
GuiSetState()
While 1
$Msg = GUIGetMsg()
Switch $Msg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Func keyit()
If Not WinExists("[TITLE:未命名 - 记事本; CLASS:Notepad]") Then Return
$Text = GUICtrlRead($Edit1)
ControlCommand("[LAST]", "", "Edit1", "EditPaste", $Text)
EndFunc
Func keyit2()
If Not WinExists("[TITLE:未命名 - 记事本; CLASS:Notepad]") Then Return
$hNotepad = ControlGetHandle("[LAST]", "", "Edit1")
$Text = StringSplit(StringReplace(GUICtrlRead($Edit1), @CR, ""), "")
For $i = 1 To $Text[0]
DllCall("user32.dll", "int", "PostMessageW", "hwnd", $hNotepad, _
"uint", 0x286, "wparam", AscW($Text[$i]), "lparam", 0)
Sleep(100)
Next
EndFunc
---------------->8---------------->8---------------- 请沿此线剪下 ----
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 60.248.159.124
1F:推 ledup:感谢 06/27 15:18