Показано с 1 по 4 из 4
  1. #1
    Продвинутый
    Регистрация
    15.12.2008
    Возраст
    38
    Сообщений
    229
    Вес репутации
    400

    По умолчанию Отправка горячих клавиш в Центрифугу

    Написал незатейливую программу для обработки резистивных кнопок (на входе значения АЦП с МК). В текстовые редакторы отправляет все правильно. А вот центрифуга никак не реагирует.
    PHP код:
    [DllImport("user32.dll")]
    static 
    extern bool SetForegroundWindow(IntPtr hWnd);

    Process[] processes Process.GetProcessesByName("centrafuse");
    foreach (
    Process proc in processes)
    {
      
    SetForegroundWindow(proc.MainWindowHandle);
    }
    //Thread.Sleep(100);
    SendKeys.SendWait("R"); 
    Так тоже пробовал:
    PHP код:
    [DllImport("user32.dll")]
    static 
    extern bool SetForegroundWindow(IntPtr hWnd);
    [
    DllImport("user32.dll")]
    static 
    extern bool ShowWindow(IntPtr hWndint nCmdShow);
    private const 
    int SW_SHOW 5;
    [
    DllImport("user32.dll")]
    static 
    extern IntPtr SetFocus(IntPtr hWnd);

    IntPtr h FindWindow(null"centrafuse");
    ShowWindow(hSW_SHOW);
    SetForegroundWindow(h);
    SetFocus(h);
    SendKeys.SendWait("R"); 
    Предполагаю, что проблема в обращении к окну.
    Подскажите, пожалуйста, как правильно сделать?

    p/s/ знаю, что есть готовый софт для подобных задач, но обмен с МК на ацп не заканчивается. Это только часть.

  2. #2
    Местный Аватар для Gorynch
    Регистрация
    21.12.2009
    Возраст
    43
    Сообщений
    187
    Вес репутации
    253

    По умолчанию Re: Отправка горячих клавиш в Центрифугу

    может быть посмотреть в сторону VUSB?
    сделать HID Keyboard для передачи кнопок, а остальное передавать/принимать через сом порт

  3. #3
    Продвинутый
    Регистрация
    15.12.2008
    Возраст
    38
    Сообщений
    229
    Вес репутации
    400

    По умолчанию Re: Отправка горячих клавиш в Центрифугу

    Gorynch, спасибо. Тоже об этом думал. Однако планируется ft232 для связи с компом, а она под HID не шьется.
    В итоге остановился на функции InputSimulator.SimulateKeyPress и библиотеке http://inputsimulator.codeplex.com/
    Просто я не с той стороны пытался подойти к вопросу и определял работоспособность по тому, воспринимает ли центрифуга символы при настройке клавиш. В итоге заранее настроил hotkeys и отправляю соответствующие символы. Полет нормальный.
    p/s/ Зато разобрался))
    Последний раз редактировалось manu_245; 05.12.2012 в 19:26.

  4. #4
    Местный Аватар для Gorynch
    Регистрация
    21.12.2009
    Возраст
    43
    Сообщений
    187
    Вес репутации
    253

    По умолчанию Re: Отправка горячих клавиш в Центрифугу

    Нее, я имел ввиду сделать прямо из МК HID Keyboard - для этого нужно 2 ножки, одна из которых внешнее прерывание + небольшой код (правда используется один ТС) и стандартная библиотека V-USB. Вся остальная переферия остаётся, соот-но можно использовать встроенный UART для связи с компом. При таком раскладе на ПК не нужна никакая прога для отслежеивания нажатий.
    Я просто как раз таким образом подключил iDrive BMW к компу. Чуть позже оформлю и выложу. Если интересует, есть работаюая прошивка под mega32 на С - могу дать

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •