Member 10216758 Ответов: 2

Postmessage отправить "ctrl + N" в блокнот не работает


Но не могу отправить клавишу "Ctrl + N"
Кто-нибудь может мне помочь? Мне нужно отправить ключ без фокуса

Что я уже пробовал:

PostMessage (hwnd, WM_SYSKEYDOWN, Keys.F, 2 ^ 29) 'Working - Alt + F
PostMessage (hwnd, WM_CHAR, Keys.A, & H1C0001) 'Working - Shift + a = A
PostMessage(hwnd, WM_KEYDOWN, VK_CONTROL, vbNull) '4 Not working
PostMessage(hwnd, WM_KEYDOWN, Keys.N, vbNull)
PostMessage(hwnd, WM_KEYUP, Keys.N, vbNull)
PostMessage(hwnd, WM_KEYUP, VK_CONTROL, vbNull)

Gerry Schmitz

Почему вы не показали коды, которые вы использовали для "CTRL + N"? Разве не в этом вопрос?

0x01AA

Смотрите здесь, принятый ответ: c# - отправка сообщения CTRL-S в окно - переполнение стека[^]

Maciej Los

Звучит как ответ.
5ed!

0x01AA

Дорогой Мацей
Ладно, я попробую. Даже это был удачный выстрел google :)
Спасибо, что подтолкнули меня к этому ;)
Бруно

Maciej Los

Всегда пожалуйста.
Ваше здоровье!
Мацей

Member 10216758

Спасибо за помощь, но мне нужно отправить ключ без фокуса. Функция sendkeys должна выбрать окно

2 Ответов

Рейтинг:
1

0x01AA

Видеть здесь: c# - отправка сообщения CTRL-S в окно - переполнение стека[^]

Что я понимаю из принятого ответа, так это отправлять сообщения "Ctrl&Key" (и, скорее всего, также "shift&Key" и т. д. вы не можете использовать PostMessage.

Поэтому проверьте принятый ответ, он выглядит многообещающим для вас.

Надеюсь, это поможет.


Maciej Los

5ed!

0x01AA

Большое спасибо!
Бруно

Рейтинг:
0

Maciej Los

Я не являюсь последователем такого программирования...

Я бы рекомендовал использовать стандартные методы для чтения/записи текстовых файлов. Видеть:
Чтение из файлов в Visual Basic | Microsoft Docs[^]
Запись в файлы в Visual Basic | Microsoft Docs[^]
Управление файлами с помощью методов .NET Framework (Visual Basic) | Microsoft Docs[^]