請問為何使用連續貼上的API,結果卻是不對的 |
尚未結案
|
fengcheng
一般會員 發表:17 回覆:21 積分:7 註冊:2002-04-23 發送簡訊給我 |
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 發送簡訊給我 |
假設: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 發送簡訊給我 |
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 發送簡訊給我 |
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);我不是高手, 高手是正在銀幕前微笑的人.
------
我不是高手, 高手是正在銀幕前微笑的人. |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |