오토핫키 커뮤니티

예를 들어 gui의 edit칸에 1을 적고 바로 2를 적으면 12가 나오지만 1을 적고 5초간 기다린후 2를 적으면 1이 사라지고 2만 표출되도록 하고 싶습니다. Sleep으로 하려니 아예 스크립트가 지연이 돼서 다른 코드가 멈추네요. 방법이 있을까요?


  • 패귀다리기 2017.12.11 12:43

    sleep 이 아니라 아예 서치를 실시간으로 돌려서 바로 확인하게끔 해야하지 않을까요????

  • 키리야 2017.12.11 12:56

    사용하려는 의도를 모르겠네요 직접입력하는거면 if랑 백스페이스만 넣어줘도 충분?

  • 리체 2017.12.11 13:44

    시간관련 내장변수를 활용하면 가능합니다.

  • 행복한조 2017.12.11 14:11

    사용의도좀 알려주세요

  • profile
    와이로 2017.12.11 14:36
    이런식으로 쓰면 될듯요.

    #SingleInstance Force

    Gui, Add, Edit, w200 vEditTest gEditTest
    Gui, Show
    return

    GuiClose:
    ExitApp

    EditTest:
      GuiControlGet, EditTest  ;에디트박스 내용을 EditTest 변수로 읽어오기
      if EditTestOld<>  ;EditTestOld 변수가 비어있지 않은 경우
        StringReplace, EditTestChr, EditTest, % EditTestOld  ;EditTest 변수에서 EditTestOld 변수의 값과 중복된 내용 제거한값 EditTestChr 변수에 저장
      if EditTestTick and (A_TickCount-EditTestTick>=5000)  ;에디트박스 변경타임이 5초를 초과했을 경우
        GuiControl,, EditTest, % EditTest := EditTestChr  ;에디트박스 내용을 EditTestChr 변수 값으로 갱신
      EditTestOld := EditTest, EditTestTick := A_TickCount  ;다음 에디트박스 내용 변경시 참조를 위해 관련 변수 백업
    return

  • profile
    GOLD 2017.12.11 15:35
    좀 생소한 방식이네요.. 해석 가능할까요?
  • profile
    와이로 2017.12.11 16:19
    코멘트 추가 해 놨어요.
  • profile
    GOLD 2017.12.11 18:23
    정말정말 친절하게 가르쳐주셔서 감사합니다 사랑해요
  • profile
    GOLD 2017.12.11 19:00
    #No Env
    #SingleInstance Force

    Gui, Add, Edit, w200 v숫자 g숫자
    Gui, Show
    return

    GuiClose:
    ExitApp
    return
    숫자:
      GuiControlGet, 숫자  ;에디트박스 내용을 숫자 변수로 읽어오기
     stringlen,숫자자리수,숫자
    if (숫자자리수 = 1){
      if 숫자Old<>  ;숫자Old 변수가 비어있지 않은 경우
        StringReplace, 1자리수숫자, 숫자, % 숫자Old  ;숫자 변수에서 숫자Old 변수의 값과 중복된 내용 제거한값 1자리수숫자 변수에 저장
      if 숫자Tick and (A_TickCount-숫자Tick>=5000)  ;에디트박스 변경타임이 5초를 초과했을 경우
        GuiControl,, 숫자, % 숫자 := 1자리수숫자  ;에디트박스 내용을 1자리수숫자 변수 값으로 갱신
      숫자Old := 숫자, 숫자Tick := A_TickCount  ;다음 에디트박스 내용 변경시 참조를 위해 관련 변수 백업
    }

    else

    if (숫자자리수 > 2){
    stringmid,숫자2,숫자,3
    guicontrol,,숫자,%숫자2%
    postmessage,0xB1, 2, 2, edit1
    }
    return
    1자리수숫자:
    stringmid,숫자2,숫자,2
    guicontrol,,숫자,%숫자2%
    postmessage,0xB1, 2, 2, edit1
    return

    이렇게 짜봤는데 안되네요..
    1자리만 5초 지나면 바뀌게하고
    2자리일땐 3번째 숫자쓰면 바로 바뀌게 하려는데 안될까요
  • profile
    와이로 2017.12.11 19:22
    #NoEnv
    #SingleInstance Force

    Gui, Add, Edit, w200 v숫자 g숫자
    Gui, Show
    return

    GuiClose:
    ExitApp

    숫자:
      GuiControlGet, 숫자
      StringLen, 숫자자리수, 숫자
      if 숫자Old<>
        StringReplace, 1자리수숫자, 숫자, % 숫자Old
      if 숫자Tick and (A_TickCount-숫자Tick>=5000) and (숫자자리수<=2)  ;입력된 숫자가 2개 이하일때만 새숫자 적용
        GuiControl,, 숫자, % 숫자 := 1자리수숫자
      숫자Old := 숫자, 숫자Tick := A_TickCount
    return
  • profile
    GOLD 2017.12.11 21:08
    아하.. 조건문 추가가 가능했군요.. 감사합니다!!
  • profile
    GOLD 2017.12.11 23:06
    #SingleInstance Force

    Gui, Add, Edit, w200 v숫자 g숫자
    Gui, Show
    return

    GuiClose:
    ExitApp
    return
    숫자:
    GuiControlGet, 숫자 ;에디트박스 내용을 숫자 변수로 읽어오기
    guicontrolget,숫자
    stringlen,숫자자리수,숫자
    if 숫자Old<> ;숫자Old 변수가 비어있지 않은 경우
    StringReplace, 1자리수숫자, 숫자, % 숫자Old ;숫자 변수에서 숫자Old 변수의 값과 중복된 내용 제거한값 1자리수숫자 변수에 저장
    if 숫자Tick and (A_TickCount-숫자Tick>=1000) and (숫자자리수 <= 2) ;에디트박스 변경타임이 5초를 초과했을 경우
    GuiControl,, 숫자, % 숫자 := 1자리수숫자 ;에디트박스 내용을 1자리수숫자 변수 값으로 갱신
    숫자Old := 숫자, 숫자Tick := A_TickCount ;다음 에디트박스 내용 변경시 참조를 위해 관련 변수 백업
    if (숫자자리수 > 2){
    stringmid,숫자2,숫자,3
    guicontrol,,숫자,%숫자2%
    postmessage,0xB1, 2, 2, edit1
    }
    return
    1자리수숫자:
    stringmid,숫자2,숫자,2,R
    guicontrol,,숫자,%숫자2%
    postmessage,0xB1, 2, 2, edit1
    PostMessage, 0x100, 39, 21823489, Edit1, ㅁㅁ.ahk
    PostMessage, 0x101, 39, 21823489, Edit1, ㅁㅁ.ahk
    return

    이 상태에서..
    PostMessage, 0x100, 39, 21823489, Edit1, ㅁㅁ.ahk
    PostMessage, 0x101, 39, 21823489, Edit1, ㅁㅁ.ahk
    추가해줬는데도 자꾸 한자리 숫자를 적은 후 다른 숫자를 적으면 커서가 왼쪽으로 가서
    3 하나를 적은후 52를 적으면 왼쪽부터 적혀서 25가 돼버리네요.. 방법이 없을까요?
  • 할거엄따구 2017.12.12 11:22
    해당현상을 방지하긴 위한 코드가
    postmessage,0xB1, 2, 2, edit1 ; 이부분입니다.
  • 갈리오상향좀 2017.12.15 21:32

    오토핫키를 써보지는 않았지만 제가 파이썬을 다룰때 위와 같은 문제를 스레드를 사용해서 해결한 적 이있습니다. 오토핫키에서는 가능한건지 모르겠습니다만 혹시 몰라서 글 남겨봐요



List of Articles
분류 제목 글쓴이 최근변경 추천
질문 오토핫키 이미지캡쳐 후 디스크에 안 쓰고 비교하는 방... 4 카카오고양이 2017.01.03 0/0
질문 오토핫키 이용하여 마우스휠로 줌인 줌아웃을 보다 간... 2 배틀크루저 2023.02.24 1/0
질문 오토핫키 이제 막 시작하는 초보입니다. 새로만들기 스... 심장의중심 2016.10.26 0/0
질문 오토핫키 인터넷 단순 반복 용인데요 1 dnchd 2020.05.01 0/0
정보 오토핫키 인터넷 연결 확인 함수 뒷산아저씨 2023.02.10 0/0
질문 오토핫키 입문 초보 이미지서치 및 루프짜기 질문 2 색갈의비밀 2015.05.16 0/0
자유 오토핫키 입문자 인사드려요 ㅎ 5 곰발이 2015.01.28 0/0
질문 오토핫키 입문자 질문드립니다.. 2 안뇽하세용ㅋ 2016.09.18 0/0
질문 오토핫키 입문자의 비활성창 이미지서치 질문드립니다. 4 푸린느 2015.08.08 0/0
질문 오토핫키 입문자입니다. 도움이필요합니다. 아무 움직... 8 불꽃앞점멸 2017.09.28 0/0
질문 오토핫키 입문하려고 합니다. 1 쌍가마용 2019.10.14 0/0
자유 오토핫키 입문할때는 비활성만 되어도 좋았는데요... 5 푸른호수 2015.04.24 0/0
질문 오토핫키 입문할려고 합니다. 정보 많은 곳 좀 알려주세요 6 Auto영웅 2015.11.28 0/0
자유 오토핫키 입문합니다. 1 geendy 2019.01.23 0/0
질문 오토핫키 입문해보고 싶은데 1 스피노프 2017.08.30 0/0
질문 오토핫키 자체 창 크기 마우스로 조절하는 기능은 어떻... 3 우오대단 2019.06.30 0/0
자유 오토핫키 작동일시정지시키기 알려주세요 2 ddfa4 2017.02.28 0/0
질문 오토핫키 작동중지 오류 도와주세여 8 백곰e 2015.04.15 0/0
자유 오토핫키 잘 쓰시는 분들 질문좀 드릴게요 3 황승재 2019.02.07 0/0
자유 오토핫키 잘쓰시는분들 도움좀주세요~ 16 파더 2014.11.09 0/0
Board Pagination Prev 1 ... 133134135136137138139140141 ... 209 Next
/ 209

전체 최신 인기글

전체 주간 인기글