Вниз
Скачать: CL | DM;

Как послать Сtrl+V приложению?   Найти похожие ветки 

← →
FragMan   (2004-06-23 22:39) [0]

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

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

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


← →
FragMan   (2004-06-23 22:46) [1]

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

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


← →
FragMan   (2004-06-24 07:52) [2]

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


← →
Vac   (2004-06-24 12:56) [3]

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


← →
GrayFace ©   (2004-06-24 18:16) [4]

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


← →
Ильичев С.А. ©   (2004-06-24 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 ©   (2004-06-24 22:10) [6]

Можно отловить окно программы которая нужна и выловленному 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;


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

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


← →
FragMan   (2004-06-26 08:44) [8]

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

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

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


← →
DillerXX ©   (2004-06-26 09:53) [9]

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


← →
FragMan   (2004-06-26 11:39) [10]

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


← →
FragMan   (2004-06-26 12:07) [11]

Вот эти 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 и там их редактировать!!!


← →
n0name   (2004-06-26 12:12) [12]

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


← →
KSergey ©   (2004-06-26 12:55) [13]

> n0name   (26.06.04 12:12) [12]

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



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.021 c
3-1089810976
RavenD
2004-07-14 17:16
2004.08.08
CASE для FireBird?


3-1089799454
Эдик Дятлов
2004-07-14 14:04
2004.08.08
Как сохранить и восстановить базу Sybase Anywhere 7.0


1-1090381835
Димон
2004-07-21 07:50
2004.08.08
Я доделал мою прогу "Блокнот" и теперь возникла одна проблемка...


4-1088364045
juiceman
2004-06-27 23:20
2004.08.08
ПЕрехват АПИ


6-1086354999
Viland
2004-06-04 17:16
2004.08.08
Глюк с TClientSocket




   Наверх