Bitte um Hilfe
-
Ich habe ein programm geschrieben mit denen ich mittels tasten 1-5 mausklicks generieren kann. jede taste holt sich von einer variablen die position.
siehe:
BOOL CLosDososZielwasserDlg::OnInitDialog() { CDialog::OnInitDialog(); m_nIDHotKey1 = GlobalAddAtom("1"); m_nIDHotKey2 = GlobalAddAtom("2"); m_nIDHotKey3 = GlobalAddAtom("3"); m_nIDHotKey4 = GlobalAddAtom("4"); m_nIDHotKey5 = GlobalAddAtom("5"); RegisterHotKey(m_hWnd, m_nIDHotKey1, 0, '1'); RegisterHotKey(m_hWnd, m_nIDHotKey2, 0, '2'); RegisterHotKey(m_hWnd, m_nIDHotKey3, 0, '3'); RegisterHotKey(m_hWnd, m_nIDHotKey4, 0, '4'); RegisterHotKey(m_hWnd, m_nIDHotKey5, 0, '5'); return TRUE; } LRESULT CLosDososZielwasserDlg::OnHotKey(WPARAM wp, LPARAM lp) { TRACE(_T("OnHotKey\n")); if (wp == m_nIDHotKey1) { ::SetCursorPos(m_pos1h, m_pos1v); Sleep(30); TRACE(_T("Key1\n")); } else if (wp == m_nIDHotKey2) { ::SetCursorPos(m_pos2h, m_pos2v); Sleep(30); TRACE(_T("Key2\n")); } else if (wp == m_nIDHotKey3) { ::SetCursorPos(m_pos3h, m_pos3v); Sleep(30); TRACE(_T("Key3\n")); } else if (wp == m_nIDHotKey4) { ::SetCursorPos(m_pos4h, m_pos4v); Sleep(30); TRACE(_T("Key4\n")); } else if (wp == m_nIDHotKey5) { ::SetCursorPos(m_pos5h, m_pos5v); Sleep(30); TRACE(_T("Key5\n")); } ::mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, NULL); ::mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, NULL); return 0; }ich möchte nun aber noch nach jedem mausklick einen druck auf die
leertaste generiert haben. weiss aber nicht wie ich das anstellen soll.bitte helft mir. danke
-
Hi,
also ein Tastendruck resultiert ja letztendlich immer in eine WM_KEYDOWN Message. Und Windows-Nachrichten kannst du mit CWnd::SendMessage auch selber verschicken.
in etwa so:
CWND::SendMessage(WM_KEYDOWN,VK_SPACE, Options);