Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как послать Сtrl+V приложению? [D6, Win95/98, Win2k]


FragMan ©   (2004-06-23 22:39:00) 

Не подскажите как программно послать приложению Microsoft Paint сочетание клавишь Сtrl+V ???

Желательно с примером! ПЛЗ!

Заранее благодарен


KSergey   (2004-06-26 12:55:00) [1]

> n0name   (26.06.04 12:12) [12]

Ага, он скажет, что на пустые скобки компилятор ругается ;)
Инфы как послать сообщение окну другого приложения в инете - навалом. См. яндекс.


n0name   (2004-06-26 12:12:00) [2]

SendMessage(FindWinow(), WM_PASTE, 0, 0)


FragMan   (2004-06-26 12:07:00) [3]

Вот эти 2 предложения мне очень понравились, но только, как это всё ещё б приложению отправить!????

СПС: Ильичев С.А. ©   (24.06.04 22:07) [5]
keybd_event(VK_CONTROL, 0, 0, 0);
keybd_event(VkKeyScan('v'), 0, 0, 0);
keybd_event(VkKeyScan('v'), 0, KEYEVENTF_KEYUP, 0);
keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0);


СПС: Ajax ©   (24.06.04 22:10) [6]
procedure EmulatePaste;
begin
keybd_event(VK_SHIFT,$2a,0,0);
keybd_event(VK_INSERT,$52,KEYEVENTF_EXTENDEDKEY,0);
keybd_event(VK_INSERT,$52,KEYEVENTF_KEYUP+KEYEVENTF_EXTENDEDKEY,0);
keybd_event(VK_SHIFT,$2a,KEYEVENTF_KEYUP,0);
end;

ПЛИЗ!!! надо это в Paint ещё отправить!!!

SendMessage('', WM_PASTE, 0, 0);
эта команда не подходит...

GetFocus
тоже не тянет...

!!!!!!!!! Х Е Л П!!!!!!!!!

Хочу из своей программы передавать картинки в PAINT и там их редактировать!!!


FragMan   (2004-06-26 11:39:00) [4]

Ну что рррррррррррррр то??? я ж прошу рассказать как это чудо работает... сейчас попробую этот GetFocus


DillerXX   (2004-06-26 09:53:00) [5]

рррррррррр
Если уж на то пошло, так указывай не кавычки, а GetFocus...


FragMan   (2004-06-26 08:44:00) [6]

Пишу вот такую команду:
SendMessage('', WM_PASTE, 0, 0);

а delphi соответственно ругается на '' эти ковычки! и пишет, что мол стринг и хэндл не совместимы... так вот вопрос!!!

как мне там в ковычках мона указать 'Безымянный - Paint' ? чтобы ошибка не вылетала!


FragMan   (2004-06-26 07:54:00) [7]

Хм... спасибо! Я понял! но приложению Paint как это сочетание клавишь отправить???


Ajax   (2004-06-24 22:10:00) [8]

Можно отловить окно программы которая нужна и выловленному hwnd послать wm_paste, но тут никакой гарантии - от программы зависит.

Нижеследующий код работает у меня везде (хотя гарантий тоже давать не буду)

procedure EmulatePaste;
begin
 keybd_event(VK_SHIFT,$2a,0,0);
 keybd_event(VK_INSERT,$52,KEYEVENTF_EXTENDEDKEY,0);
 keybd_event(VK_INSERT,$52,KEYEVENTF_KEYUP+KEYEVENTF_EXTENDEDKEY,0);
 keybd_event(VK_SHIFT,$2a,KEYEVENTF_KEYUP,0);
end;


Ильичев С.А.   (2004-06-24 22:07:00) [9]

keybd_event(VK_CONTROL, 0, 0, 0);
keybd_event(VkKeyScan('v'), 0, 0, 0);
keybd_event(VkKeyScan('v'), 0, KEYEVENTF_KEYUP, 0);
keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0);


GrayFace   (2004-06-24 18:16:00) [10]

Кажется, есть WM_PASTE.


Vac   (2004-06-24 12:56:00) [11]

Используй keybd_event и/или postmessage
в инете инфы полно, яндексом тебе никто не нанимался.


FragMan   (2004-06-24 07:52:00) [12]

Мдааа ... информациии просто завались :)
Помощь так и прёт
Спасибо :)


FragMan   (2004-06-23 22:46:00) [13]

Да! :) понимаю, что надо отправить определённому окну определённое сообщение с нажатием клавиши!

КАК это сделать?


Наверх

Титульная страница Поиск, карта сайта Написать письмо