全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1154
推到 Plurk!
推到 Facebook!

請問為何使用連續貼上的API,結果卻是不對的

尚未結案
fengcheng
一般會員


發表:17
回覆:21
積分:7
註冊:2002-04-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-02-12 01:06:10 IP:61.64.xxx.xxx 未訂閱
edit1.text := 'ABC'; edit1.SelectAll; edit1.CopyToClipboard; keybd_event(VK_CONTROL, 0, 0, 0); keybd_event(Ord('V'), 0, 0, 0); keybd_event(Ord('V'), 0, KEYEVENTF_KEYUP, 0); keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0); edit1.text := 'test'; edit1.SelectAll; edit1.CopyToClipboard; keybd_event(VK_CONTROL, 0, 0, 0); keybd_event(Ord('V'), 0, 0, 0); keybd_event(Ord('V'), 0, KEYEVENTF_KEYUP, 0); keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0); 執行結果卻是 testtest 而不是ABCTEST
qoo1234
版主


發表:256
回覆:1167
積分:659
註冊:2003-02-24

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-02-12 03:10:21 IP:218.163.xxx.xxx 未訂閱
假設:Edit1資料為ABC,剪貼簿資料為TEST,實現連續貼上! 不知道是不是你要的方式?    
procedure TForm1.Button1Click(Sender: TObject);
begin
 Edit1.SetFocus;
 keybd_event(VK_END, 0, 0, 0);
 keybd_event(VK_CONTROL, 0, 0, 0);
 keybd_event(Ord('V'), 0, 0, 0);
 keybd_event(Ord('V'), 0, KEYEVENTF_KEYUP, 0);
 keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0);
end; 
網海無涯,學無止境! 發表人 - qoo1234 於 2004/02/12 03:15:23
fengcheng
一般會員


發表:17
回覆:21
積分:7
註冊:2002-04-23

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-02-12 09:43:54 IP:61.64.xxx.xxx 未訂閱
Sorry 可能是我表達的不清楚 我是要寫一個ap, 可以自動在其它ap輸入代碼密碼 有試過全部都使用keybd_event, 但是只有代碼密碼皆為英數才沒有問題 只要是中文字就完全失效了 所以才想要複制貼上的方式, 結果試了一下,即使增加keybd_event(VK_END, 0, 0, 0); 的方式 一樣只要連續貼上,結果帳號及密碼的資料, 全部都變成了密碼 但是用debug去看, 當貼上帳號時是沒有問題, 但是一複制密碼時 其怪的是剛剛複制上去的帳號,就變成密碼資料... UserEdit.SelectAll; UserEdit.CopyToClipboard; keybd_event(VK_END, 0, 0, 0); keybd_event(VK_CONTROL, 0, 0, 0); keybd_event(Ord('V'), 0, 0, 0); keybd_event(Ord('V'), 0, KEYEVENTF_KEYUP, 0); keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0); keybd_event(VK_TAB, 0, 0, 0); //換行 keybd_event(VK_TAB, 0, KEYEVENTF_KEYUP, 0); ServerEdit.SelectAll; UserEdit.CopyToClipboard; keybd_event(VK_END, 0, 0, 0); keybd_event(VK_CONTROL, 0, 0, 0); keybd_event(Ord('V'), 0, 0, 0); keybd_event(Ord('V'), 0, KEYEVENTF_KEYUP, 0); keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0);
Miles
尊榮會員


發表:27
回覆:662
積分:622
註冊:2002-07-12

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-02-12 15:13:13 IP:218.160.xxx.xxx 未訂閱
Hi fengcheng 您好: 修改如下
UserEdit.SelectAll;
UserEdit.CopyToClipboard;    keybd_event(VK_TAB, 0, 0, 0); //換行
keybd_event(VK_TAB, 0, KEYEVENTF_KEYUP, 0);    keybd_event(VK_END, 0, 0, 0);
keybd_event(VK_CONTROL, 0, 0, 0);
keybd_event(Ord('V'), 0, 0, 0);
keybd_event(Ord('V'), 0, KEYEVENTF_KEYUP, 0);
keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0);
我不是高手, 高手是正在銀幕前微笑的人.
------


我不是高手, 高手是正在銀幕前微笑的人.
系統時間:2024-05-01 19:18:11
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!