Перейти к содержанию
    

Anatoly88

Участник
  • Постов

    27
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о Anatoly88

  • Звание
    Участник
    Участник
  1. SendInput всегда используется в окно которое сейчас имеет фокус. Батлфилд скачал, посмотрел. Проблема там точно такая же как и у меня. Вам могу посоветовать http://www.emu-land.net/articles?act=showid&id=18 эту программу. Вдруг поможет?
  2. XInput или нет? Если нет, поищите программу, которая эмулирует XInput (Такая есть например для джойстика от PlayStation 3, сам использую, наверное есть и для просто джойстиков). Или подождите, БФ2 это Battlefield 2 (старый который) или какой-нибудь Modern Warfire 2?
  3. Внедрение делается вот так (Мой код): hProc := OpenProcess(PROCESS_ALL_ACCESS, false, pid); ptrLoadLib := GetProcAddress(GetModuleHandle('KERNEL32.DLL'), 'LoadLibraryA'); if (hProc = 0) then Exit; ptrMem := VirtualAllocEx(hProc, 0, Length(strDLL)+1, MEM_COMMIT, PAGE_EXECUTE_READWRITE); if (ptrMem = nil) then Exit; if (not WriteProcessMemory(hProc, ptrMem, strDLL, Length(strDLL)+1, ipTmp))then Exit; CreateRemoteThread(hProc, nil, 0, ptrLoadLib, ptrMem, 0, hThread); Result:=true; В принципе, я понял что вы хотело сказать, однако не понял зачем это надо делать, если потом использовать SendInput. У меня всё получилось с эмуляцией SendInput, как с виртуальными кодами, так и со скан кодами. Всё прекрасно работает в большинстве приложений. Какой у вас джойстик? Какой программой назначали на него буквы? Возможно я смогу помочь.
  4. Я очень плохо знаю с++, но не вижу как DLL "Внедряется". Для этого в моём понимании надо открыть процесс, выделить там память, записать туда dll, создать удалённый поток... Поэкспериментировать вашей библиотекой, или вообще?
  5. Насколько я понял, чтобы коды от пульта переводить в клавиатурные. Библиотека работает так: вызываешь StartSimulate и он создает процесс SimulateWnd, бесконечного цикла while (1), который через WaitForSingleObject получает данные о нажатии клавиш и через SendInput посылает их, если же окно не в фокусе он вызвает BlockInput. Всё я читаю, просто иногда на ночь глядя меня плавить начинает. Не понял что вы хотели этим сказать. Тот SendInput который знаю я не принимает в аргументы хэндл окна. А использовал я его собственно тогда, когда в фокусе было окно куда надо нажать. Насчет нескольких окон в приложении согласен, бывает такое, однако проблеммные приложения отличаются тем что там всего одно окно (проверено с помощью winexp), обычно такие приложения это игры.
  6. Почитал, очень интересно. Вот нашел статью которую давно читал, там тоже есть полезное. https://geektimes.ru/post/140454/ Kopa, посмотрел программу по ссылке. Это что-то новенькое для меня, жаль что не работает. При попытке воспользоваться блокирует почти всё, вместе с мышью и не отвисает (Работают некоторые сочитания типа альтаба, но убить можно только тремя пальцами), а если поставить маленькую задержку, то и вовсе сначала выдает ошибку с сутью что не закончило предыдущую работу, после чего не работает вообще никак до перезагрузки. Прикладываю объединенный юнит для тех, кто пожелает покопаться. Кстати, сегодня затестил SetPort, там тоже в пролемных приложениях клавиша не отжимается. SendKey.zip
  7. С прогой обязательно разберусь когда высплюсь. А V-USB это библиотека чтобы не HID девайсы работали по USB. Типа эмулятор USB контроллера для атмеги, насколько я понял.
  8. А как управлять данным устройством программно?
  9. Вообще, в таком случае намного проще сделать затычку для PS/2, чтобы винда (или биос, я хз) думала что туда подключена клавиатура. Тогда можно будет управлять портом клавиатуры программно. Затраты нулевые. Насчет мыши не знаю.
  10. Я тоже читал, что только микрософт как-то обошли. Кажется это было в статье про разные типы клавиатур. Оттуда я узнал про существование таких клавиатур, как UNICOMP, и уже несколько лет пускаю слюни. Доставка в полтора раза дороже самой клавиатуры...
  11. У меня есть USB -> Зеленый PS/2, подходит только для мыши. Даже воткнуть в него нечего. Глюки возможно из-за переполнения стека USB. Кстати у PS/2 клавиатуры есть преимущества перед ЮСБ. Там (если позволяет сама клавиатура) можно нажать хоть все клавиши сразу и нет кейлока. У USB клавиатур с этим проблемы, хотя без кейлока видел.
  12. usb2kbd как раз на V-USB сделан. И есть предположение, что большинство проблем растут оттуда. Видел китайские с 1 USB на 2 PS/2 (зеленый и сиреневый), но в руках не держал.
  13. А разьве есть принципиальная разница для какого порта разрабатывать? Мне впринципе всё равно как оно сделано, если будет соответствовать требованиям. А переходник можно и прям внутрь напаять.
  14. Про PS/2 и COM всё это как-то колхозно звучит. Про эмуляцию COM на USB вообще слышал много плохого. Знакомый подключал через COM шахматные табло, так они через переходник вообще не работали, им нормальный COM подавай. Да и скорость там оставляет желать лучшего. Помню как на Siemens SL45i заливал 1 mp3 по 50 минут. Хотя может сейчас научились делать переходники получше. Еще знаю что PS/2 разный для клавиатуры и мыши (Сейчас обычно совмещенный, если вообще есть.). Переходники с PS\2 на USB использовать не приходилось, а вот наоборот - да. Вот они четко разграничиваются на мышь и клаву. Про эмулировать электричекси, это я так понял разбомбить клавиатуру, и её переделать под эмулятор? Теоретически будет работать, но могут возникнуть конфликты с самой клавиатурой. Ради интереса попробуй подключи 2 USB клавиатуры и нажми одновременно одинаковые клавиши, или разные. Я тестировал, эффект был разный в разных приложениях. Приведу пример - Держим на одной клавиатуре клавишу А, при этом на другой часто её нажимаем. Возникает задержка несколько секунд, потом нажатия проходят, так сказать, оптом.
  15. Дело в том что я данной теме совсем не разбираюсь, и по вашей ссылке ничего не пойму (Умею писать на Pascal\Delphi и читать с++ как сказку на ночь) (Keycodes почитал, не понял зачем константы там определяются, это вроде прошивка, нет?). А какие аналоги USB могут быть? PS/2 потихоньку отходит в небытие, COM и LPT давно уже устарели, Firewire мертворождён. Разьве что для PCI что-то придумать, но думаю там и сложность совсем другая и цены другие.
×
×
  • Создать...