Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2003.01.20;
Скачать: [xml.tar.bz2];

Вниз

Посылка сообщения   Найти похожие ветки 

 
Kolja   (2002-12-04 01:51) [0]

Привет, нужно послать текст из своей программы в Edit другого приложения! Чем подробней будет раскрыт процесс, тем лучше. Заранее спосибо!


 
MBo   (2002-12-04 06:15) [1]

рекомендуемая литература:
Петцольд
Рихтер
MSDN


 
Игорь Шевченко   (2002-12-04 09:08) [2]

Kolja (04.12.02 01:51)

Что за нужда в подробном раскрытии процесса посылки текста в чужой Edit ? (просто возможны разные варианты, изложи задачу, подберем верный ответ)


 
AlexandrRya   (2002-12-04 13:16) [3]

Вот примерчик (использует буфеп обмена):

procedure TForm1.Button1Click(Sender: TObject);
var wnd:HWND;//Здесь будет Handle едита
FName:TFileName;//имя файла, из которого нужнов вставить
error,readed,dwFileSize:DWORD;
Buffer:Pointer;
BufHandle:HGLOBAL;
explFile:THandle;
loc:HLOCAL;
begin
wnd:=StrToInt(Edit1.Text);
FName:=Edit2.Text;
explFile:=CreateFile(PCHAR(FName),GENERIC_READ + GENERIC_WRITE,
FILE_SHARE_READ or FILE_SHARE_WRITE,
nil,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,
0);
dwFileSize:=GetFileSize(explFile,nil);

try
BufHandle := GlobalAlloc(GMEM_MOVEABLE+GMEM_DDESHARE, dwFileSize+1);
try
Buffer := GlobalLock(BufHandle);
try
ReadFile(explFile,Buffer^,dwFileSize,readed,nil);
OpenClipboard(Handle);
if SetClipboardData(CF_TEXT, BufHandle)=0 then
begin
error:=GetLastError();
FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM or
FORMAT_MESSAGE_ALLOCATE_BUFFER,
nil,
Error,
0,
@loc, 0, nil);
MessageBox(0,PCHAR(loc),nil,MB_OK);
end;
CloseClipboard();
finally
GlobalUnlock(BufHandle);
end;
except
GlobalFree(BufHandle);
raise;
end;
finally

end;
closeHandle(explFile);
SendMessage(wnd,EM_SETLIMITTEXT,$7FFFFFFE,0);
SendMessage(wnd,WM_PASTE,0,0);

end;



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

Форум: "WinAPI";
Текущий архив: 2003.01.20;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.01 c
3-62356
Che
2002-12-24 00:46
2003.01.20
Reset


6-62701
badaxe
2002-11-22 11:39
2003.01.20
Список назначеных ip адресов под WIN2K.


8-62670
KKK
2002-08-31 02:49
2003.01.20
Tmultimedia


14-62817
Anatoly Podgoretsky
2003-01-02 07:57
2003.01.20
Именинники 2 января


3-62348
ShadowSnake
2002-12-27 09:27
2003.01.20
Как добавить информацию в базу из файла





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский