NGMsoftware

NGMsoftware
로그인 회원가입
  • 커뮤니티
  • 질문과 답변
  • 커뮤니티

    지식인! 질문에 답변을 달면 포인트가 지급됩니다.

    질문과 답변

    지식인! 질문에 답변을 달면 포인트가 지급됩니다.

    질문에 대한 답변을 3일안에 채택하지 않으면, 자동으로 첫번째 답변자가 채택되고 포인트는 100점이 차감됩니다.

    에디터 프로그램에 따라 비활성 기능이 일부 제한될 수 있나요?

    페이지 정보

    본문

    제 상황은 핸들을 추가한 상태에서

     

    키보드 입력의 영문이나 숫자, 알트, 스페이스 등은 비활성 입력이 되는데 엔터가 안눌리거나

    마우스클릭은 입력이 되는데 마우스 이동이 안되는 등의 경우입니다.

     

    참고로 활성화 상태에서 마우스 이동은 가능하지만 엔터는 여전히 안됩니다.

     

    관리자권한으로 실행했는데, 프래그램마다 어떤건 되고 안되는 경우가 있나요?

    안된다면 안되는 이유와 이를 해결 또는 우회할 수 있는 방법을 알려주시면 감사하겠습니다!

     

    • 네이버 공유하기
    • 페이스북 공유하기
    • 트위터 공유하기
    • 카카오스토리 공유하기
    추천0 비추천0

    댓글목록

      채택답변
    profile_image

    엔지엠소프트웨어님의 댓글

    엔지엠소프트웨어 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 작성일 Date

    우선, 비활성은 제약이 좀 많습니다. 특수한 상황이 아니더라도 아래 내용을 체크 해보세요.
    마우스와 키보드는 다운과 업으로 이루어져 있습니다. 이 때 다운과 업의 속도가 빠르면 윈도우에서 처리하지 않고 스킵(건너뛰는)하는 경우가 생깁니다.
    확실하게 작업하는 방법은 2가지입니다. 업과 다운사이에 지연을 적절히 주는것입니다. 또하나는 비활성 옵션에서 PostMessage가 아닌 SendMessage를 사용하는 것입니다.
    PostMessage는 윈도우가 명령을 처리하지 않아도 완료로 처리됩니다. 이런 방식을 비동기라 부릅니다. SendMessage는 윈도우가 명령을 처리할때까지 기다렸다가 다음 명령을 수행합니다.
    이 방식은 동기라고 부릅니다. SendMessage는 윈도우가 행 또는 병목인 경우 무한 대기하는 상황이 발생할 수 습니다.
    그래서 아주 정확하게 스크립트를 구성해야 하고, 비동기 처리의 예외를 모두 고려해야 합니다.
    가장 좋은건 아두이노를 이용해서 하드웨어적으로 입력시키는 방식입니다. 효율은 안좋지만요^^;

    profile_image

    장준익님의 댓글의 댓글

    no_profile 장준익 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일 Date

    답글 감사합니다. 지연도 착실히 주고 포스트메시지나 센드메시지 적용 등 다양하게 시도해봤으나 안돼서 답답했습니다.
    추가질문은 두가지입니다.
    비활성 상태에서 처리나 입력되지 않는 특정 동작이나 프로그램이 존재한다는 걸로 이해하면 될까요?
    해법으로 클래스 디디를 온라인으로 구했는데 정식 루트가 아니라 그런지 오류가 많은데 아두이누가 더 안정적인가요?

    profile_image

    엔지엠소프트웨어님의 댓글의 댓글

    엔지엠소프트웨어 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 작성일 Date

    일부 프로그램들은 소프트웨어 신호를 막기도 합니다. 윈도우 환경에 제한을 최소한으로 두어야 하다보니 몇몇 키보드가 동작 안하는 경우도 있구요.
    개인적으로는 디디보다 아두이노를 사용하시는게 좋아보입니다. 디디는 개발자 서버가 막히는 경우 사용할 수 없기 때문입니다.
    또한, 서버가 막히면 언제 열릴지 기약이 없다는게 문제구요. 아두이노는 약 7,000원~10,000원 정도에 구매할 수 있습니다.
    엔지엠 6에서는 원클릭 설치 기능이 있으니 구매하고 바로 사용이 가능합니다^^