網路上找到的文章,Ord(‘C’) <==其實轉出來就是ASCII碼,知道後比較可以靈活運用在用變數的方式帶入。
文章出處:http://blog.yam.com/yqbagzdk/article/25791738
======================================================
最近碰到使用 SendMessage 和 PostMessage 機會超級多,無非是因為太多的程式合輯專案需求,如果耗費人力全部自行開發,大概請二、三倍的人力結果也只是為了完成幾個對於圖形處理的動作而已,建築.室內設計.服裝相關軟體因此購買已經寫好的軟體直接使用就行,但畢竟購買是購買,有些畫面或是需求畢竟是套裝軟體無法達成的,於是還是得自己寫控制指令
可以自己寫一個類似按鍵精靈的東東,也就是控制滑鼠自動在畫面上操作東西
滑鼠自動點擊的例子
procedure TForm1.Button1Click(Sender: TObject);
var x,y:integer;
begin
x:= form1.Left+button2.Left+25;
y:= top+button2.Top+27;
SetCursorPos(x,y); // 移到某個點
Mouse_Event(MOUSEEVENTF_LEFTDOWN,X,Y,0,0); // 按下滑鼠左鍵
Mouse_Event(MOUSEEVENTF_LEFTUP,X,Y,0,0); // 放開左鍵
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
showmessage(‘fksj’);
end;
*************************************
其中 mouse_event 這是 WindowsAPI 的指令,xyz軟體補給站
還有下列的幾種
MOUSEEVENTF_MOVE = $0001; { mouse move }
MOUSEEVENTF_LEFTDOWN = $0002; { left button down }
MOUSEEVENTF_LEFTUP = $0004; { left button up }
MOUSEEVENTF_RIGHTDOWN = $0008; { right button down }
MOUSEEVENTF_RIGHTUP = $0010; { right button up }
MOUSEEVENTF_MIDDLEDOWN = $0020; { middle button down }
MOUSEEVENTF_MIDDLEUP = $0040; { middle button up }
MOUSEEVENTF_WHEEL = $0800; { wheel button rolled }
MOUSEEVENTF_ABSOLUTE = $8000; { absolute move }
而下面的這段則是模擬鍵盤
//Ctrl+C:
keybd_event(VK_CONTROL, MapVirtualKey(VK_CONTROL, 0), 0, 0);
keybd_event(Ord('C'), MapVirtualKey(Ord('C'), 0), 0, 0);
keybd_event(Ord('C'), MapVirtualKey(Ord('C'), 0), KEYEVENTF_KEYUP, 0);
keybd_event(VK_CONTROL, MapVirtualKey(VK_CONTROL, 0), KEYEVENTF_KEYUP, 0)
//Ctrl+V:
keybd_event(VK_CONTROL, MapVirtualKey(VK_CONTROL, 0), 0, 0);
keybd_event(Ord('V'), MapVirtualKey(Ord('V'), 0), 0, 0);
keybd_event(Ord('V'), MapVirtualKey(Ord('V'), 0), KEYEVENTF_KEYUP, 0);
keybd_event(VK_CONTROL, MapVirtualKey(VK_CONTROL, 0), KEYEVENTF_KEYUP, 0)
近期留言