Форум программистов, компьютерный форум, киберфорум
FASM
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.61/18: Рейтинг темы: голосов - 18, средняя оценка - 4.61
 Аватар для semiono
161 / 18 / 0
Регистрация: 14.09.2010
Сообщений: 472
Записей в блоге: 6
FASM

SendInput как нажать ALT+SHIFT ?

07.11.2011, 04:22. Показов 3406. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
include '%fasm%/win64ax.inc'
section '.code' executable
start:
        sub rsp,8
 
        mov [z],$-pInputs
        mov [ki.wVk],VK_TAB+VK_MENU
        invoke Sleep,1000
        invoke SendInput,1,pInputs,[z]
exit:
        invoke ExitProcess,NULL
 
        VK_TAB = 0x0009
        VK_MENU = 0x0012
 
section '.data' readable writeable
 
        z rd MAX_PATH
 
struct KEYBDINPUT
 
        wVk dw ?
        wScan dw ?
        dwFlags dd ?
        time dd ?
        dwExtraInfo dd ?
ends
        ki KEYBDINPUT
 
struct INPUT
 
        mi dd ?
        ki dd ?
        hi dd ?
ends
        pInputs INPUT
 
section '.idata' import readable
 
        library kernel32,'KERNEL32.DLL',user32,'USER32.DLL'
        include '%fasm%/api/kernel32.inc'
        include '%fasm%/api/user32.inc'
Добавлено через 3 минуты
Этот код я полностью написал сам читая мсдн, ничего не понятно, ничего не получается, ну пожалуйста покажите пример?
Мне же я надеюсь тут не нужен хендл окна, ведь функция не спрашивает? Почему ничего не работает?
Если на рабочем столе нажать ALT+SHIFT сами знаете что происходит, мне именно это и нужно.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.11.2011, 04:22
Ответы с готовыми решениями:

Как программно нажать Shift, Alt и Ctrl?
Как с помощью SendKeys.Send программно нажать Shift, Alt или Ctrl? В таблице на MSDN нет кодов этих кнопок. Такой вот код: ...

Как в SendKeys прописать сочетания Alt+Shift и Shift+Enter
Как в SendKeys прописать сочетания Alt+Shift и Shift+Enter ? Может где-то можно найти полное описание всех клавиш и сочетаний ?

Как сэмулировать нажатие клавиш Alt+Space, используя функцию SendInput?
Друзья! МНе нужно на консоли получить меню. То есть нажал левую ALT, нажал пробел, отпустил пробел, отпустил левую ALT. Казалось бы, чего...

8
 Аватар для Vadimych
639 / 482 / 12
Регистрация: 10.01.2011
Сообщений: 1,045
07.11.2011, 20:46
Цитата Сообщение от semiono Посмотреть сообщение
Этот код я полностью написал сам читая мсдн,
разве так в MSDN описана структура INPUT, как у тебя?
Вот так попробуй,
Assembler
1
2
3
4
5
6
7
8
INPUT STRUCT
    itype DWORD ?
    UNION
    mi MOUSEINPUT <>
    ki KEYBDINPUT <>
    hi HARDWAREINPUT <>
    ENDS
INPUT ENDS
может, заработает?
1
 Аватар для semiono
161 / 18 / 0
Регистрация: 14.09.2010
Сообщений: 472
Записей в блоге: 6
07.11.2011, 21:41  [ТС]
VK_TAB+VK_MENU = VK_ESC

Добавлено через 8 минут
Цитата Сообщение от Vadimych Посмотреть сообщение
может, заработает?
так даже с подключением '%fasm%/macro/masm.inc' не работает, вопрос к специалистам, UNION и itype что делать?
0
 Аватар для Vadimych
639 / 482 / 12
Регистрация: 10.01.2011
Сообщений: 1,045
07.11.2011, 23:53
semiono, отродясь на fasm`e не писал.
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
include 'include/win32ax.inc'
section '.code' executable
start:
 
 
 
mov [input.type],0
mov [input.mi.dwFlags],MOUSEEVENTF_ABSOLUTE+MOUSEEVENTF_MOVE
mov [input.mi.time],0
mov [input.mi._dx],0ffffh/2
mov [input.mi._dy],0ffffh/2
invoke SendInput,1,input,z
 
invoke ExitProcess,0
 
 
section '.data' readable writeable
 
 
struct MOUSEINPUT
        _dx dd ?
        _dy dd ?
        mouseData dd ?
        dwFlags dd ?
        time dd ?
        dwExtraInfo dd ?
ends
 
struct KEYBDINPUT
        wVk dw ?
        wScan dw ?
        dwFlags dd ?
        time dd ?
        dwExtraInfo dd ?
ends
 
struct HARDWAREINPUT
        uMsg dd ?
        wParamH dw ?
        wParamL dw ?
ends
 
struct INPUT
        type dd ?
        union
        mi MOUSEINPUT
        ki KEYBDINPUT
        hi HARDWAREINPUT
        ends
ends
        input INPUT
        z=$-input
 
section '.idata' import readable
 
        library kernel32,'KERNEL32.DLL',user32,'USER32.DLL'
        include 'include/api/kernel32.inc'
        include 'include/api/user32.inc'
1
 Аватар для semiono
161 / 18 / 0
Регистрация: 14.09.2010
Сообщений: 472
Записей в блоге: 6
08.11.2011, 04:35  [ТС]
Vadimych, ну вот, теперь можешь начать
Спасибо огромное за помощь!
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
include '%fasm%/win64ax.inc'
section '.code' executable
start:
        mov [input.mi.dwFlags],MOUSEEVENTF_ABSOLUTE+MOUSEEVENTF_MOVE
        mov [input.mi._dx],0ffffh/2
        mov [input.mi._dy],0ffffh/2
 
        invoke SendInput,1,input,z
exit:
        invoke ExitProcess,NULL
 
section '.data' readable writeable
 
struct MOUSEINPUT
 
        _dx dd NULL
        _dy dd NULL
        mouseData dd NULL
        dwFlags dq NULL
        time dd NULL
        dwExtraInfo dq NULL
ends
 
struct INPUT
 
        type dq NULL
        mi MOUSEINPUT
ends
        input INPUT
        z=$-input
Я попробовал под 64 бит твой код, три параметра пришлось расширить.

Добавлено через 50 минут
блин, invoke keybd_event,VK_ESCAPE,NULL,NULL,NULL работает без всякого шаманства,
почему они пишут что функа устарела, я так и не смог это же самое воспроизвести с SendInput.
0
Ушел с форума
Автор FAQ
 Аватар для Mikl___
16373 / 7685 / 1080
Регистрация: 11.11.2010
Сообщений: 13,759
08.11.2011, 05:48
Цитата Сообщение от semiono
блин, invoke keybd_event,VK_ESCAPE,NULL,NULL,NULL работает без всякого шаманства, почему они пишут что функа устарела, я так и не смог это же самое воспроизвести с SendInput.
semiono, потому что ты не воспользовался моим советом -- оттрейсить использование invoke keybd_event,VK_ESCAPE,NULL,NULL,NULL в OllyDbg внутри keybd_event находится SendInput, посмотрел, как и какие этой функции передаются параметры и сделал бы всё по образу и подобию...
0
 Аватар для Vadimych
639 / 482 / 12
Регистрация: 10.01.2011
Сообщений: 1,045
08.11.2011, 06:23
Цитата Сообщение от Mikl___ Посмотреть сообщение
semiono, потому что ты не воспользовался моим советом -- оттрейсить использование invoke keybd_event

Не по теме:

Mikl___, мсдн читать, код пытаться писать, на форумах опять же. Может, на оттрейсить сил не остаётся?

0
Ушел с форума
Автор FAQ
 Аватар для Mikl___
16373 / 7685 / 1080
Регистрация: 11.11.2010
Сообщений: 13,759
08.11.2011, 07:03
Цитата Сообщение от Vadimych
мсдн читать, код пытаться писать, на форумах опять же. Может, на оттрейсить сил не остаётся?

Не по теме:

Злые вы... :scratch:

1
 Аватар для semiono
161 / 18 / 0
Регистрация: 14.09.2010
Сообщений: 472
Записей в блоге: 6
09.11.2011, 07:39  [ТС]
Всё верно, сил не остаётся, я уже порой телепатически мсдн понимаю, чем дебаггер. Сплошной машинный код, очень тяжело. Причём x64 проблемма, вот сейчас попался мне юникод, опять же
я уверен в Olly это будет криво, наверное. Пока дебагер ещё не приобрёл human интерфейс.
Я сначала обрадовался когда Visual DuxDebugger увидел, всёж чё-то новенькое, пока не понял,
что под WinXP не работает, вот уроды! А Olly развивается медленно, его наверное чувак в одиночку пишет. Хороший отладчик, но к нему мозги нужно
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.11.2011, 07:39
Помогаю со студенческими работами здесь

Нужен подсказщик в WinLock! Нужно отключить Alt+Tab, Ctrl+Alt+Del, Ctel+Shift+Esc !!!!!
Здравствуйте! Мне нужна помощь... Нужно отключить вот эти комбинации клавиш в WinLock: Alt+Tab, Ctrl+Alt+Del, Ctel+Shift+Esc Я...

Эмуляция нажатия клавиш с зажатым Shift через SendInput
Приветствую всех! Использую SendInput для эмуляции набора текста и нажатия некоторых клавиш (по виртуальному номеру и скан-коду)....

Ctrl+Shift vs Alt+Shift
Собственно сабж. Я использую Ctrl+Shift.

Как отследить нажаты ли Shift, Ctrl, Alt?
Например, если я хочу узнать при обработке события Worksheet_Change, что было нажато при изменении ячейки Enter, Shift-Enter и т.д. Как это...

Как обработать нажатия Ctrl,Alt,win,shift??
Пробывал через регистрацию глобальных горячих клавиш,но чет не проперло:( lmouse_button := GlobalAddAtom('Hotkey21'); ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru