Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


Цитата McLotos:
Если убрать msgbox, то Ваш вариант тоже записывает каждое нажатие несколько раз. »
Исправленный вариант:

Код: Выделить весь код
#include "IsPressedEx.au3"

Global $sLog_File = @ScriptDir & '\Answers.log'

HotKeySet('{ESC}', '_Exit')

While 1
    $vRet = _IsPressedEx("1|2|3|4|{Numpad1}|{Numpad2}|{Numpad3}|{Numpad4}")

    If $vRet Then
        ;Это для ожидания отжатия клавиши
        While _IsPressed($vRet)
            Sleep(10)
        WEnd

        $vRet = __KeyGetType($vRet, 0)

        ;Эта строка удаляет Numpad если нажата цифра на правой части клавиатуры, если нужно записывать вместе с Numpad, ту следует убрать строку ниже
        $vRet = StringReplace($vRet, 'Numpad', '')

        If FileGetSize($sLog_File) > 0 Then
            $vRet = ',' & $vRet
        EndIf

        $hFile = FileOpen($sLog_File, 1)
        FileWrite($hFile, $vRet)
        FileClose($hFile)
    EndIf

    Sleep(10)
WEnd

Func _Exit()
    Exit
EndFunc
Цитата McLotos:
Код »
Неправильное использование функции, DllOpen не нужно помещать в параметр, её нужно вызвать заранее и передавать переменную, а FileOpen тоже неверно используется, см. справку к функциям.

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community

Это сообщение посчитали полезным следующие участники:

Отправлено: 14:42, 28-01-2013 | #9