Что нового

Как копировать содержимое файла в скрытом режиме в буфер обмена

lixar21

Новичок
Сообщения
70
Репутация
0
Доброго времени суток. Помогите решить проблему, довольно непростого характера.

Надо скриптом au3 в скрытом режиме (то есть не открывая окна на экране, а открывая его где-то в трее) открыть файл - программой по-умолчанию, эмулировать щелчок по центру этого скрытого окна, нажать ctrl+A и ctrl+С. Затем закрыть это окно без сохранения.
Как это реализовать ?

Файл у меня маткадовский.
Но наверное это сработает и на любом другом файле, например 1.doc
Сообщение автоматически объединено:

Доброго времени суток. Помогите решить проблему, довольно непростого характера.

Надо скриптом au3 в скрытом режиме (то есть не открывая окна на экране, а открывая его где-то в трее) открыть файл - программой по-умолчанию, эмулировать щелчок по центру этого скрытого окна, нажать ctrl+A и ctrl+С. Затем закрыть это окно без сохранения.
Как это реализовать ?
 

Вложения

Последнее редактирование:

hedji

Продвинутый
Сообщения
400
Репутация
82
Код:
ShellExecute("test.docx") ;открыть
WinWait("test.docx") ;подождать пока откроется
WinSetState("test.docx", "", @SW_HIDE) ;спрятать
ControlClick("test.docx", "", "", "left", 1, 300, 300) ;кликнуть в окно
ControlSend("test.docx", "", "", "^a", 0) ;при английской раскладке, если русская по умолчанию, заменить на ^ф
ControlSend("test.docx", "", "", "^c", 0)
WinClose("test.docx") ;закрыть
 
Автор
L

lixar21

Новичок
Сообщения
70
Репутация
0
hedji, большое Спасибо.
Но только я спрашивал именно про скрытый режим.

Сейчас происходит следующее:
Макрос открывает на все окно вордовский документ, потом закрывает его.
То есть @SW_HIDE - что-то не работает.

Есть ли способ запустить это скрипт, но только именно в скрытом режиме - чтобы открывающегося файла не было видно ?
 

hedji

Продвинутый
Сообщения
400
Репутация
82
ShellExecute(......, @SW_HIDE) уже должно открывать скрытым, но не работает, куча тем на разных форумах, что не работает, но ни одного ответа как заставить работать не нашел.
Окно скрывается, добавил оповещения, чтобы было видно скрытие.
Код:
ShellExecute("test.docx") ;открыть
WinWait("test.docx") ;подождать пока откроется
WinSetState("test.docx", "", @SW_HIDE) ;спрятать
MsgBox(0, "", "Окно уже спряталось и работает в фоне")
ControlClick("test.docx", "", "", "left", 1, 300, 300) ;кликнуть в окно
ControlSend("test.docx", "", "", "^a", 0) ;при английской раскладке, если русская по умолчанию, заменить на ^ф
ControlSend("test.docx", "", "", "^c", 0)
WinClose("test.docx") ;закрыть
MsgBox(0, "", "Окно закрылось")


Запустить сразу свернутым через ShellExecute(......, @SW_MINIMIZE) вы сможете, но кликнуть в свернутое окно - нет.
 
Автор
L

lixar21

Новичок
Сообщения
70
Репутация
0
hedji, понимаете в чем дело - этот код не скрывает окно.
При запуске - окно обязательно появляется (лишь потом, спустя секунду - оно скрывается).
Но оно же - уже появилось, уже мелькнуло на экране.

Речь была о том, чтобы вообще не было никаких следов открытия этого файла.
Не должно быть никакого мелькания на экране.
 
Верх