Имя: Пароль:
1C
 
AHK SendKeys в 1С 8.3?
0 Гений 1С
 
гуру
02.05.20
19:39
Автоматизация через AHK и AutoIt не работает в 1С, кто знает почему и как побороть?

hwnd := WinExist("Бухгалтерия")
;hwnd := WinExist("Безымянный") ;Для блокнота работает

if %hwnd% {
  WinActivate

  Send, ABCD
  dllcall("keybd_event", int, 27, int, 1, int, 0, int, 0) ;не работает ни для Блокнота, ни для 1С
  ControlSend , , MMM

  MsgBox, "HWND MY is:" . %hwnd%
    
}
else
  MsgBox, "HWND none" . %hwnd%
1 acht
 
02.05.20
20:57
Гггг. Проще студенту на KWORK заказать
2 Волшебник
 
модератор
02.05.20
21:04
(1) Вот ему и заказали...
3 acht
 
02.05.20
21:06
4 Сияющий в темноте
 
03.05.20
16:47
у 1с разные и сложные окна и все работает,если с правильной стороны подходить.
5 Serginio1
 
03.05.20
18:38
Ну всегда можно посмотреть какие окна присутсвют http://www.manhunter.ru/underground/1035_programmi_dlya_raboti_s_oknami_prilozheniy.html
Ну и ты же гений. Всегда же есть под рукой .Net а там по имени процесса можно найти все окна процесса https://www.cyberforum.ru/csharp-beginners/thread621647.html
https://stackoverflow.com/questions/8605147/c-sharp-sending-keyboard-commands-to-another-window-process
6 Гений 1С
 
гуру
12.05.20
10:39
(5) и че? Окно я нахожу, 1С не воспринимает клавиши от него через AHK
7 Serginio1
 
12.05.20
11:16
(6) А ты его сделал активным  SetForegroundWindow(MainWindowHandle);
8 Гений 1С
 
гуру
12.05.20
12:55
(7) Обижаешь, разумеется. Я же пишу - на блокноте протестировал. НА 1с не работает.
9 Serginio1
 
12.05.20
13:54
Ну значит не то окно. В любом случае можно проверить через SendMessage
https://stackoverflow.com/questions/11368648/using-postmessage-sendmessage-to-send-keys-to-c-sharp-ie-webbrowser
10 Гений 1С
 
гуру
12.05.20
16:02
(9) окно то, просто 1с игнорит ввод через ахк
11 Гений 1С
 
гуру
12.05.20
16:03
Окно то, потому что визуально на него переключается
12 Serginio1
 
12.05.20
16:19
(10) Проверь через SendMessage в том числе через клик мыши. Там пример есть.
Можкешь на VB.Net проверить
13 Wern
 
12.05.20
18:43
А не лучше сделать через автоматическое тестирование? Там же можно и окна проверить и кнопки понажимать и тексты посмотреть и в поля что нибудь повводить. Почти тот же AHK только встроенный. Делал недавно выгрузку из 7.7 в 8 зарплаты. начисления там всякие и прочее. Чтоб не заморачиваться с правильным заполнением скрытых реквизитов в документах сделал через автоматическое тестирование.
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший