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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.05.2009, 12:07   #11
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Попробуй передавать так:
Код:
var cb:TClipboard;s;string;
begin
 cb:=TClipboard.Create;
  s:=Memo1.Text;
  cb.SetTextBuf(pchar(s));
  SendMessage(wnd2,WM_PASTE,0,0);
 cb.Free;
end;
Кстати я бы на твоем месте сделал проверки на равенство wnd2 нулю...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 28.05.2009, 13:02   #12
dimonbest
Форумчанин
 
Регистрация: 07.02.2008
Сообщений: 150
По умолчанию

Не компилит, ругается не строчку
Код:
cb.SetTextBuf(pchar(s));
Ошибка: необъявленный идентификатор SetTextBuf
Что не так?
Подключил другой uses, это заработало.
А проблема оказывается вот в чем:
Код:
wnd2:=getactivewindow;
Когда открываю блокнот - хендл равен нулю... Почему так?

Последний раз редактировалось dimonbest; 28.05.2009 в 13:07.
dimonbest вне форума Ответить с цитированием
Старый 28.05.2009, 13:30   #13
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Не компилит
uses clipbrd

НАсчет блокнота:
Код:
procedure TForm1.FormCreate(Sender: TObject);
var cb:TClipboard;s:string; h:hwnd;
begin
 h:=FindWindow('Notepad','Безымянный - Блокнот');
 h:=FindWindowex(h,0,'Edit','');
 if h<>0 then begin
   cb:=TClipboard.Create;
  s:=Memo1.Text;
  cb.SetTextBuf(pchar(s));
  SendMessage(h,WM_PASTE,0,0);
 cb.Free;
 end else ShowMessage('');
end;
I'm learning to live...

Последний раз редактировалось Stilet; 28.05.2009 в 13:35.
Stilet вне форума Ответить с цитированием
Старый 28.05.2009, 13:49   #14
dimonbest
Форумчанин
 
Регистрация: 07.02.2008
Сообщений: 150
По умолчанию

В том то и дело, что мне надо находить не блокнот (точнее не только блокнот), а любое активное окно : word, mozila, и т.д.
Думал это можно сделать через
Код:
getactivewindow
. А оно не хочет.
Каким еще способом можно найти хендл любого активного
окна?
dimonbest вне форума Ответить с цитированием
Старый 28.05.2009, 15:50   #15
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

GetForegroundWindow
BOBAH13 вне форума Ответить с цитированием
Старый 28.05.2009, 16:30   #16
dimonbest
Форумчанин
 
Регистрация: 07.02.2008
Сообщений: 150
По умолчанию

То что нужно. Теперь хендл активного окна находит. Но посылать по прежнему не хочет. Попробовал все примеры, что в этой теме...
dimonbest вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос по активному окну san72 Общие вопросы Delphi 11 07.03.2009 12:05
Добавление меню к окну приложения... MaTBeu Win Api 2 24.09.2008 20:23
от консоли к окну ёжик Общие вопросы C/C++ 3 06.04.2008 17:51
Сообщение другому окну Бонарт Win Api 13 15.08.2007 20:23
Мнимое сообщение окну/компоненту об изменении параметров дисплея Megabotan Win Api 5 08.01.2007 13:54