Отключение мыши WinAPI

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by Haruka, 9 Jan 2009.

  1. Haruka

    Haruka Elder - Старейшина

    Joined:
    25 Jul 2007
    Messages:
    48
    Likes Received:
    5
    Reputations:
    -1
    Как вырубить мышь с помошью API?
     
    #1 Haruka, 9 Jan 2009
    Last edited: 9 Jan 2009
  2. herfleisch

    herfleisch Elder - Старейшина

    Joined:
    7 Jan 2009
    Messages:
    578
    Likes Received:
    203
    Reputations:
    13
    winexec(Pchar('rundll32 mouse,disable' ) ,sw_Show);
     
  3. herfleisch

    herfleisch Elder - Старейшина

    Joined:
    7 Jan 2009
    Messages:
    578
    Likes Received:
    203
    Reputations:
    13
    Ещё есть функция BlockInput()

    Про неё поищи сам
     
  4. Haruka

    Haruka Elder - Старейшина

    Joined:
    25 Jul 2007
    Messages:
    48
    Likes Received:
    5
    Reputations:
    -1
    BlockInput() блокирует мышь+клаву. надо чтоб чтоб можно было мышь обрубить и потом включить (у мну прога управляет мышью и надо чтоб юзер этому не мешал.его вмешательство заметно к примеру при рисовании в пеинте).
     
  5. herfleisch

    herfleisch Elder - Старейшина

    Joined:
    7 Jan 2009
    Messages:
    578
    Likes Received:
    203
    Reputations:
    13
    Ну тогда через winexec()
     
  6. Haruka

    Haruka Elder - Старейшина

    Joined:
    25 Jul 2007
    Messages:
    48
    Likes Received:
    5
    Reputations:
    -1
    че за функция Pchar? эт не вин апи....
     
  7. herfleisch

    herfleisch Elder - Старейшина

    Joined:
    7 Jan 2009
    Messages:
    578
    Likes Received:
    203
    Reputations:
    13
    Это Delphi
     
  8. Haruka

    Haruka Elder - Старейшина

    Joined:
    25 Jul 2007
    Messages:
    48
    Likes Received:
    5
    Reputations:
    -1
    объясни че она делает, я найду аналог в PB
     
  9. herfleisch

    herfleisch Elder - Старейшина

    Joined:
    7 Jan 2009
    Messages:
    578
    Likes Received:
    203
    Reputations:
    13
    По-моему, если мне не изменяет память, это функция приведения типов к Pchar (есть в делфи такой тип), что-то типа строки. Нужно спросить Делфи-кодеров
     
  10. criz

    criz Elder - Старейшина

    Joined:
    4 Nov 2007
    Messages:
    293
    Likes Received:
    40
    Reputations:
    6
    у
    Code:
    rundll32 mouse,disable
    нет обратной команды, т.е. мышь включится только после перезагрузки компа.
    Вариант: перемести курсор куда-нить в угол экрана, сделай его не видимым. Потом перехватывай/обрабатывай все сообщения мыши(нажатие правой/левой кнопки, перемещение)
     
  11. Haruka

    Haruka Elder - Старейшина

    Joined:
    25 Jul 2007
    Messages:
    48
    Likes Received:
    5
    Reputations:
    -1
    что спрятать курсор не получится.он нужен для работы программы
     
  12. MaTpOc

    MaTpOc Elder - Старейшина

    Joined:
    5 May 2008
    Messages:
    633
    Likes Received:
    475
    Reputations:
    25
    если я сделал так
    Code:
    winexec(Pchar('rundll32 mouse,disable' ) ,sw_Show);
    как вернуть все на место???
     
  13. herfleisch

    herfleisch Elder - Старейшина

    Joined:
    7 Jan 2009
    Messages:
    578
    Likes Received:
    203
    Reputations:
    13
    Не знаю... погугли... но может быть
    Code:
    winexec(Pchar('rundll32 mouse,enable' ) ,sw_Show);
     
  14. crystalbit

    crystalbit Elder - Старейшина

    Joined:
    6 Jun 2008
    Messages:
    212
    Likes Received:
    88
    Reputations:
    8
    MaTpOc,

     
  15. vvs777

    vvs777 Elder - Старейшина

    Joined:
    16 Nov 2004
    Messages:
    393
    Likes Received:
    212
    Reputations:
    4
    процесс необратимый. насколько я помню, в 98 винде работало...
    Перехватывай нажатие хуком и ставь действие "ничего".

    а по поводу PChae я, как закоренелый делфист, могу сказать следующее.
    Это никому не нужный дурацкий по сравнению с string тип, тем не менее используется во всех библиотеках майкрософта.
    Если ты выдывешь в Делфи winexec, MessageBox итп передавая стринги - компилятор выдает несоответствие типов.
    решается оно передачей pchar(s) или @s[1], т.е. адреса первого символа строки
     
    1 person likes this.
  16. desTiny

    desTiny Elder - Старейшина

    Joined:
    4 Feb 2007
    Messages:
    1,006
    Likes Received:
    444
    Reputations:
    94
    Вот не надо! сейчас ты,по сути,сказал следующее: "указатель - это никому не нужный дурацкий тип"

    А PChar - это более удобная интерпретация ^string с доп. возможностями, а строка в делфе - хитрая структура, которая, разумеется, непонятна вообще вне самой программы.
     
    1 person likes this.
  17. -nEx-

    -nEx- New Member

    Joined:
    11 Nov 2008
    Messages:
    17
    Likes Received:
    2
    Reputations:
    0
    имитация отключения мыши