Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.06.2011, 10:07   #1
VintProg
not
Участник клуба
 
Аватар для VintProg
 
Регистрация: 27.06.2009
Сообщений: 1,399
Вопрос Не работает моя функция!

Код:
procedure CopyStringToClipboard(s: string);
var
  hg: THandle;
  P: PChar;
begin
  hg:=GlobalAlloc(GMEM_DDESHARE or GMEM_MOVEABLE, Length(S)+1);
  P:=GlobalLock(hg);
  StrPCopy(P, s);
  GlobalUnlock(hg);
  OpenClipboard(Application.Handle);
  SetClipboardData(CF_TEXT, hg);
  CloseClipboard;
  GlobalFree(hg);
end;

procedure PostString(S : String);
begin
  CopyStringToClipboard(s);
  keybd_event($11, 0, 0, 0);
  keybd_event(Ord('V'), 0, 0, 0);
  keybd_event($11, 0,  KEYEVENTF_KEYUP, 0);
  keybd_event(Ord('V'), 0,  KEYEVENTF_KEYUP, 0);
end;
PostString не встовляет строку из буфера, подскажите в чем проблема???
VintProg вне форума Ответить с цитированием
Старый 06.06.2011, 11:40   #2
lux16
Форумчанин
 
Аватар для lux16
 
Регистрация: 11.02.2009
Сообщений: 305
По умолчанию

Странно, вот так вот у меня все работает
Код:
PostString( 'asw' );
Потом просто нажимаешь CTRL + V и все вставляет
Хочу быть лучшим, но пока что я только обычный =(
lux16 вне форума Ответить с цитированием
Старый 06.06.2011, 12:00   #3
VintProg
not
Участник клуба
 
Аватар для VintProg
 
Регистрация: 27.06.2009
Сообщений: 1,399
По умолчанию

а мне надо чтобы он сам нажимал...
VintProg вне форума Ответить с цитированием
Старый 06.06.2011, 12:44   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx
может так проще?
и опчть тут Ord('V'), вы уверены что виртуальный код клавиши и код символа 'V' это одно и тоже?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 06.06.2011, 12:57   #5
VintProg
not
Участник клуба
 
Аватар для VintProg
 
Регистрация: 27.06.2009
Сообщений: 1,399
По умолчанию

PostMessage(WiniTunes,WM_PASTE,0,0) ;

Не работает!!! Не че не вставляет.
VintProg вне форума Ответить с цитированием
Старый 06.06.2011, 16:32   #6
VintProg
not
Участник клуба
 
Аватар для VintProg
 
Регистрация: 27.06.2009
Сообщений: 1,399
По умолчанию

Пипец, куча мастеров и фик кто поможет!
VintProg вне форума Ответить с цитированием
Старый 06.06.2011, 17:02   #7
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Код:
 hg:=GlobalAlloc(GMEM_DDESHARE or GMEM_MOVEABLE, Length(S)+1);
  P:=GlobalLock(hg);
  StrPCopy(P, s);
  GlobalUnlock(hg);
  OpenClipboard(Application.Handle);
  SetClipboardData(CF_TEXT, hg);
  CloseClipboard;
  GlobalFree(hg);
...
  PostMessage(Edit1.Handle,WM_PASTE,0,0);
Вставка в Edit1
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не работает функция artem611 Паскаль, Turbo Pascal, PascalABC.NET 3 11.04.2011 10:10
Не работает выложенная моя задача.... Рустем Паскаль, Turbo Pascal, PascalABC.NET 3 16.01.2009 15:30
Моя всплывающая подсказка не работает в IE Stason JavaScript, Ajax 1 11.09.2008 18:18
Не работает функция gets()!!! Ilya'91 Общие вопросы C/C++ 1 28.07.2008 23:16
Почему моя программа РАБОТАЕТ!!! aesoem Общие вопросы Delphi 3 09.05.2008 23:50