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