![]() |
|
|
Регистрация | << Правила форума >> | 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. |