![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Помогите разрешить такой вопрос:
В моей программе пользователь загружает презентации PowerPoint, но они должны открываться для него только для чтения. При запуске выходит пароль за запуск презентации ![]() Программа должна эмулировала вставку известного пароля. Затем появляется второе активное окно "Пароль" с курсором в поле ввода пароля ![]() Необходимо не вводить пароль, а нажать кнопку "Только для чтения". Вот тестовый фрагмент программы: Код:
var
Form1: TForm1;
h1,h2,h3,h4,h5,h6:HWND;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
{ищем 1-е окно с именем "Пароль"}
1. h1 := FindWindow(nil, 'Пароль'); //Находим первое окно "Пароль"
2. h2 := FindWindowEx(h1,0,'Edit',nil);//находим дескриптор поля Edit
3. SendMessage(h2, WM_SETTEXT, 0, lparam(pchar('testor')));
4. h3:=findwindowex(h1,0,nil,'ОК'); //жмем кнопку
5. sendmessage(h3,BM_CLICK,0,0);
{ищем 2-е окно с именем "Пароль" }
6. h4 := FindWindow(nil, 'Пароль'); // Находим второе окно "Пароль"
7. h5 := FindWindowEx(h4,0,'Только для чтения',nil); //находим дескриптор кнопки
8. SetForegroundWindow(h5); //устанавливаем на ней фокус
9. sendmessage(h5,BM_CLICK,0,0); //жмем кнопку
end;
end.До строки 8 все работает нормально. Дальше ни как не могу перевести фокус на кнопку "Только для чтения". Может посоветуете, что мне нужно сделать. Спасибо . Последний раз редактировалось M.A.D.M.A.N., 13.05.2014 в 11:27. |