WindowsではSendInput()というAPIでマウスやキーボードの自動操作が可能です。検索してもあまりサンプルが出てこなかったので、参考までにソースを貼ります。
指定したスクリーン座標をクリックして[Ctrl]+[C]を押したことにするコードです。
void ClickAndCopy(int x, int y) { INPUT ipt[7]; ZeroMemory(ipt, sizeof(ipt)); ipt[0].type = INPUT_MOUSE; ipt[0].mi.dx = x * 65536 / GetSystemMetrics(SM_CXSCREEN); ipt[0].mi.dy = y * 65536 / GetSystemMetrics(SM_CYSCREEN); ipt[0].mi.dwFlags = MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_MOVE; ipt[0].mi.dwExtraInfo = GetMessageExtraInfo(); ipt[1].type = INPUT_MOUSE; ipt[1].mi.dwFlags = MOUSEEVENTF_LEFTDOWN; ipt[1].mi.dwExtraInfo = GetMessageExtraInfo(); ipt[2].type = INPUT_MOUSE; ipt[2].mi.dwFlags = MOUSEEVENTF_LEFTUP; ipt[2].mi.dwExtraInfo = GetMessageExtraInfo(); ipt[3].type = INPUT_KEYBOARD; ipt[3].ki.wVk = VK_CONTROL; ipt[3].ki.wScan = MapVirtualKey(VK_CONTROL, 0); ipt[3].ki.dwExtraInfo = GetMessageExtraInfo(); ipt[4].type = INPUT_KEYBOARD; ipt[4].ki.wVk = 'C'; ipt[4].ki.wScan = MapVirtualKey('C', 0); ipt[4].ki.dwExtraInfo = GetMessageExtraInfo(); ipt[5].type = INPUT_KEYBOARD; ipt[5].ki.wVk = 'C'; ipt[5].ki.wScan = MapVirtualKey('C', 0); ipt[5].ki.dwFlags = KEYEVENTF_KEYUP; ipt[5].ki.dwExtraInfo = GetMessageExtraInfo(); ipt[6].type = INPUT_KEYBOARD; ipt[6].ki.wVk = VK_CONTROL; ipt[6].ki.wScan = MapVirtualKey(VK_CONTROL, 0); ipt[6].ki.dwFlags = KEYEVENTF_KEYUP; ipt[6].ki.dwExtraInfo = GetMessageExtraInfo(); SendInput(7, ipt, sizeof(INPUT)); }
座標の指定方法が特殊なため注意が必要です。(ipt[0].mi.dx, ipt[0].mi.dyの部分)