Короче, пол дня убил с этим Ctrl+кнопка.
Так как вижу для себя применение пв основном для Ctrl+V пытал её.
Про используемые способы знал. Т.к. не программист POSTMESSAGE не знаю.
Сначала пробовал через WM_KEYDOWN . Забрёл в дебри, никто ничего путнего сказать не может. То говорят к сообщению с кнопкой V нужно специальный параметр lParam который и будет означать Ctrl+, Shift+...
$WM_KEYDOWN = 0x0100
$WM_KEYUP = 0x0101
$key_CONTRL = 0x0011
$key_V = 0x0056
POSTMESSAGE($HWND,$WM_KEYDOWN,$key_CONTRL,0x0001)
POSTMESSAGE($HWND,$WM_KEYDOWN,$key_V,0x0001)
POSTMESSAGE($HWND,$WM_KEYUP,$key_V,0x0001)
POSTMESSAGE($HWND,$WM_KEYUP,$key_CONTRL,0x0001)
Потом нашёл, говорят WM_KEYDOWN не подходит для Ctrl нужно WM_SYSKEYDOWN
Фигня всё. И так и эдак и lParam сделанный кодCTRL+кодV. И чёрта лысого...
Прошло пол дня. Работа стоит. Результатов ноль.
Потом натолкнулся, что "там проблема, что программы состояние ctrl/shift/... берут из GetKeyState, а на нее без передачи фокуса повлиять не получается". Всё алис.
Потом увидел WM_PASTE попробовал через неё. В блокнот вставляет.
WM_PASTE = 0x0302
wParam и lParam не нужны = 0
POSTMESSAGE($HWND,0x0302,0,0)
Сижу и думаю... зачем мне это нужно было. Ну как минимум Ctrl+V хоть что-то.