網(wǎng)上有很多關(guān)于pos機(jī)鍵盤(pán)說(shuō)明,獲取句柄并模擬鍵盤(pán)或鼠標(biāo)事件的知識(shí),也有很多人為大家解答關(guān)于pos機(jī)鍵盤(pán)說(shuō)明的問(wèn)題,今天pos機(jī)之家(m.shineka.com)為大家整理了關(guān)于這方面的知識(shí),讓我們一起來(lái)看下吧!
本文目錄一覽:
pos機(jī)鍵盤(pán)說(shuō)明
模擬鍵盤(pán)鼠標(biāo)事件有兩種方法:
SendMessage or PostMessage
keybd_event,mouse_event
前者更強(qiáng)大,指定hwnd后可以后臺(tái)發(fā)送,而后者只能夠發(fā)送前臺(tái)信息,也就是必須窗口最前。
對(duì)于keybd_event,mouse_event,可以用一個(gè)簡(jiǎn)單的實(shí)例說(shuō)明一下:
SetCursorPos(x,y);
mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);
keybd_event(k,0,0,0);
keybd_event(k,0,KEYEVENTF_KEYUP,0);
模擬按鈕單擊事件如有以下對(duì)話框:
編輯框關(guān)連了一個(gè)CString變量m-var。按鈕定義了一個(gè)單擊事件:
void CMyDlg::OnButton1()
{
UpdateData(1);
m_var = "simulation of Mouse single-click event!";
UpdateData(0);
}
在對(duì)話框類函數(shù)的OnInitDialog事件加入如下代碼:
BOOL CMyDlg::OnInitDialog()
{
CDialog::OnInitDialog();
HWND hWnddlg = AfxGetMainWnd()->m_hWnd; //主窗口句柄
HWND hwnd2=::GetDlgItem(hWnddlg,IDC_BUTTON1);//子窗口(或控件)句柄
::SendMessage(hwnd2,WM_LBUTTONDOWN,0,0);
::SendMessage(hwnd2,WM_LBUTTONUP,0,0);
……
}
對(duì)話框運(yùn)行后,即可在編輯框中輸入以下文字:simulation of Mouse single-click event!
自動(dòng)向打開(kāi)的記事本文件中輸入一個(gè)字母//需要先打開(kāi)記事本
int main()
{
HWND hWnd = ::FindWindowW(L"Notepad",NULL); //搜索記事本程序主窗口句柄
HWND hWndc = ::GetWindow(hWnd,GW_CHILD); //獲得記事本客戶區(qū)句柄(該窗口是記事本主窗口的子窗口,即那個(gè)白色的可編輯區(qū)域) 。
if(hWndc) //如果獲得了該句柄
::SendMessage(hWndc,WM_CHAR,\'keyboard input!\',NULL);//發(fā)送按鍵消息
system("pause");
return 0;
}
上面控制臺(tái)程序運(yùn)行后,即可在打開(kāi)的詞本中添加"keyboard input!"文本。
-End-
以上就是關(guān)于pos機(jī)鍵盤(pán)說(shuō)明,獲取句柄并模擬鍵盤(pán)或鼠標(biāo)事件的知識(shí),后面我們會(huì)繼續(xù)為大家整理關(guān)于pos機(jī)鍵盤(pán)說(shuō)明的知識(shí),希望能夠幫助到大家!
