|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
Хендл консольного окна
есть простейшее консольное приложение
Код:
program Project1; {$APPTYPE CONSOLE} uses windows,sysutils; 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; begin CopyStringToClipboard('lol'); Writeln('OK'); Readln; end. но оно даже не компилируется, ругается на строку OpenClipboard(Application.Handle); то есть я понимаю тут к хендлу окна прикрепляем открытый буфер обмена... но как это исправить? Без добавления модуля Forms естесно, как узнать handle консольного окна?! p.s. код копирования в буфер взят из http://www.delphisources.ru/pages/fa...clipboard.html но всетаки заголовок той статьи не соответствует коду...... |