![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Доброго времени суток, уважаемые форумчане!
Не могу решить такую траблу: есть открытое окно notepad.exe(открываю через shellexecute) надо в окно передать текст. Вопрос: как это реализовать? зы: открыть блокнот с параметром через shellexecute не предлагать. Заранее спасибо! |
#2
|
|||
|
|||
![]() Ищешь окошко и посылаешь месседж
|
#3
|
|||
|
|||
![]() вроде WM_SETTEXT
|
#4
|
|||
|
|||
![]() Цитата:
PHP код:
|
#5
|
||||
|
||||
![]() Он вполне может не успеть открыться к моменту вызова FindWindow.
jmp $ ; Happy End! The Cake Is A Lie. |
#6
|
|||
|
|||
![]() Цитата:
|
#7
|
|||
|
|||
![]() Сделал вот так:
PHP код:
Вопрос: Как еще кроме sleep(80), решить проблему позднего открывания блокнота? |
#8
|
|||
|
|||
![]() И, забыл спросить, что писать вместо Edit:
PHP код:
|
#9
|
||||
|
||||
![]() Код:
uses ComObj, type TForm1 = class(TForm) procedure FormCreate(Sender: TObject); procedure TForm1.FormCreate(Sender: TObject); var WshShell: OleVariant; begin WshShell:=CreateOleObject('WScript.Shell') ;; WshShell.Run('notepad', 1, False); Sleep(500); WshShell.SendKeys('hello, world', True); WshShell.SendKeys('{ENTER}', True); WshShell.SendKeys('Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms', True); WshShell.SendKeys('{ENTER}', True); end; Пишу программы за еду. __________________ |
#10
|
|||
|
|||
![]() Цитата:
ОГРОМНОЕ СПАСИБО! Очень интересный вариант!!! |