![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
|
Здравствуйте!
Вот код он отправляет текст в блокнот Код:
var
wnd: HWND;
i: Integer;
s: string;
begin
wnd := FindWindow('notepad', nil);
if wnd <> 0 then
begin
wnd := FindWindowEx(wnd, 0, 'Edit', nil);
s := 'Hallo';
for i := 1 to Length(s) do
SendMessage(wnd, WM_CHAR, Word(s[i]), 0);
PostMessage(wnd, WM_KEYDOWN, VK_RETURN, 0);
end;
end; |
|
#2
|
|||
|
|||
|
OLE Automation.
Код:
uses
ComObj, ...
procedure TForm1.SpeedButton4Click(Sender: TObject);
Var
W : variant;
begin
W:=CreateOleObject('Word.Application');
W.Visible:=true;
W.Documents.Add;
W.ActiveDocument.Range.InsertAfter('Hello Word');
end;
|
|
#3
|
||||
|
||||
|
Спасибо конечно, но это не то...
|
|
#4
|
|||
|
|||
|
pesi, листик Word отличается от Блокнота как минимум классом окна. В моем MS Office XP этот класс — «_WwG». В других версиях Word смотрите сами, какой класс окна. Все остальное можете делать (почти) так же, как в случае с Блокнотом.
Код:
...
var
Form1: TForm1;
WordDoc: HWND;
function EnumChildWndProc(hndl: HWND; lprm: LPARAM): BOOL; stdcall;
implementation
{$R *.dfm}
function EnumChildWndProc(hndl: HWND; lprm: LPARAM): BOOL; stdcall;
const
WordDocClass = '_WwG';
var
WndClassName: PChar;
begin
Result := True;
GetMem(WndClassName, 255);
try
GetClassName(hndl, WndClassName, 255);
if StrPas(WndClassName) = WordDocClass then
begin
WordDoc := hndl;
Result := False;
end;
finally
FreeMem(WndClassName, 255);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
wnd: HWND;
i: Integer;
s: string;
begin
WordDoc := 0;
wnd := FindWindow(nil, PChar('Документ1 - Microsoft Word'));
if wnd <> 0 then
begin
EnumChildWindows(wnd, @EnumChildWndProc, 0);
if WordDoc <> 0 then
begin
s := 'Hello';
for i := 1 to Length(s) do
PostMessage(WordDoc, WM_CHAR, Word(s[i]), 0);
PostMessage(WordDoc, WM_KEYDOWN, VK_RETURN, 0);
end
else ShowMessage('Word list is not found!');
end
else ShowMessage('MS Word is not found!');
end; |
|
#5
|
||||
|
||||
|
Nyctos Kasignete, большущее - пребольшущие вам спасибо.
|