Language : AutoHotkey

Author : 예지력

Feature : attach a window to another, and vice versa (see Dock Example.ahk for info)


예전에 작성하다만 코드인데, 새롭게 다시 작성했습니다

이상하게 함수를 레지스터할 때, Fast 옵션을 추가하면 콜백이 정상적으로 이루어지지 않는데.. 딱히 해당 옵션이 필요한 것도 아니라서 그냥 뺐습니다


예제(Dock Example.ahk)처럼 circular reference 가 형성되어 있다면, 반드시 관계를 끊고 클래스 Destructor 가 호출될 수 있도록 해야 합니다


'프로그래밍 > Archive' 카테고리의 다른 글

Dock - attach a window to another  (2) 2017.04.23
DynaScript - Child 프로세스로 코드 실행  (30) 2015.12.14
[Lib] Class Msgbox  (6) 2015.11.27
[Lib] CleanNotify  (4) 2015.11.21
WinWaitCreated()  (0) 2015.10.17
MS Office Style Gui 프로토타입  (4) 2015.10.09
  1. test 2017.12.31 16:10 신고

    감사합니다

  2. ㅇㅇ 2018.08.12 16:25 신고

    군주온라인 어의 업뎃좀 ㅜㅡㅜ

Language : AutoHotkey

Author : 예지력

Feature : Spawn child process using pipe


DynaScript.zip


블로그 방명록에 어떤 분이 흥미로운 댓글을 남겨주셔서 만들어보았습니다



Quasi Thread 라고 부를수도 있을라나?

코드를 현재 스레드의 자식(Child) 프로세스로 메모리에서 실행시킵니다




'프로그래밍 > Archive' 카테고리의 다른 글

Dock - attach a window to another  (2) 2017.04.23
DynaScript - Child 프로세스로 코드 실행  (30) 2015.12.14
[Lib] Class Msgbox  (6) 2015.11.27
[Lib] CleanNotify  (4) 2015.11.21
WinWaitCreated()  (0) 2015.10.17
MS Office Style Gui 프로토타입  (4) 2015.10.09
  1. 열쇠 2015.12.14 18:27 신고

    예지1에
    #NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
    ; #Warn ; Enable warnings to assist with detecting common errors.
    SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
    SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.

    이 문구만 있는데 따로 수정을 해야 되나요?
    간단한 예제좀 부탁드립니다.

    • BlogIcon 예지력 2015.12.14 18:41 신고

      아 파일을 잘못 올렸었어요! ㅋㅋ
      지금 수정했습니다, 다시 받아보세요
      예제1, 2 둘다 확인해보시면 될거에요
      서브 프로세스로 오토핫키가 2개가 실행되는걸 확인하실 수 있을거에요

    • 열쇠 2015.12.14 19:29 신고

      넵 어쩌다가 디컴파일 얘기로 빠졌는데..
      예지력님께서 말씀하신것도 enigma 다른 플러그인 세팅으로 메모리를 지울수가 있어서 괜찮을듯 싶습니다.

  2. 열쇠 2015.12.14 18:43 신고

    안녕하세요. 다소 난해할수 있는 질문 하나 드립니다.
    http://www.2shared.com/file/dHtQEZ62/w_online.html
    //
    #Persistent
    #SingleInstance Force
    ptr := A_PtrSize ? "ptr" : "uint"
    len := DllCall("enigma_ide.dll\EP_ProtectedStringByID", "int", 1, ptr, 0, "int", 0)
    if (len > 0)
    {
    VarSetCapacity(str, len*2, 0)
    len := DllCall("enigma_ide.dll\EP_ProtectedStringByID", "int", 1, "str", str, "int", len)
    if (len > 0)
    PW = %str%
    }
    msgbox, 괄호안에 문구는 Enigma의 변수 스트링 입니다. `n(%pw%)
    //
    해당 스크립트로 컴파일 후 enigma라는 프로그램을 이용해 pw라는 변수에 msgbox,okay를 보관하도록 하였습니다.
    이때 예지력님께서 올려주신 스크립트를 통해 변수pw의 본래 스크립트는 msgbox,okay를 실행하려면 어떻게 해야 되나요?

    • BlogIcon 예지력 2015.12.14 18:51 신고

      예제까지 적었는데 확인해보시죠!?
      제가 코드를 다 만들어드리지는 않습니다

      정말 도움을 받고 싶으시면, 저 스크립트가 뭐 하는 건지부터 설명을 해주시는 게 먼저 할 일 같습니다
      ProtectedStringByID 리턴값이 뭔가요?

    • 열쇠 2015.12.14 18:56 신고

      해당 스크립트는
      enigma protect라는 프로그램을 이용해 Protected Strings에 보관해놓은 글자를 호출하는 스크립트 입니다.
      해외에서는 오토핫키의 소스 유출을 방지하고자 ahk에 본래 스크립트를 적용하지 않고 enigma protect의 Protected strings에 본래 스크립트를 변수로 저장해 저런식으로 따로 변수를 호출해서 실행하는 방법을 사용하고 있습니다. 근데 영문 포럼인지라 쉽게 따라할수가 없어 여기에 질문을 남겨두었습니다. ProtectedSTringById는 Protected Strings를 사용하려면 Enigma protector에서 플러그인을 체크 해야되는데 아마 해당 플러그인을 콜하는 부분인것 같습니다.

    • 열쇠 2015.12.14 18:59 신고

      포럼 주소는
      https://autohotkey.com/board/topic/82590-code-protection/page-2
      입니다.

    • BlogIcon 예지력 2015.12.14 19:15 신고

      근데 디컴파일러로 바로 보이는데요?
      마지막 Uberi 포스트 확인해보세요

    • 열쇠 2015.12.14 19:21 신고

      디컴파일을 통해서 해당 오토핫키의 스크립트는 찾을수 있으나
      enigma에 저장해놓은 변수 스크립트는 찾을수 없습니다.
      중요한건 Enigma의 변수 스크립트인지라..

    • BlogIcon 예지력 2015.12.14 19:26 신고

      아뇨 str으로 받아오고 그걸 DynaScript의 어규민트로 날려야하는데
      그러면 메인 스래드의 메모리에 str이 보여요!
      @_@

    • 열쇠 2015.12.14 19:30 신고

      네 그것도 맞습니다.
      다만 enigma의 다른 플러그인으로 예지력님께서 말씀하신걸 방지가 가능한지라.. 어쩌다가 보안쪽 얘기로 빠져버렸네요;;

    • BlogIcon 예지력 2015.12.14 19:37 신고

      읽어보니 해시가 풀리면 len이 0이상으로 나온다는거 같고, 리턴값이 str으로 나오네요. 그러면 처음에 enigma에 key 값에 스크립트 적어두고 리턴 str을 DynaScript로 보내시면 될 거 같아요. 근데 이러면 서브 프로세스를 메인함수처럼 실행시킨다는건데 이러면 AutoHotkey.exe 통해 가는거라 보안상태가 없는데 @_@...enigma 로 뭐를 막으시겠다는건가요? 서브프로세스는 패킹이 안되있는건데

    • 열쇠 2015.12.14 19:44 신고

      아 autohotkey.exe를 경유해서 실행이 되는 거였네요..

    • BlogIcon 예지력 2015.12.14 19:48 신고

      오토핫키는 다 AutoHotkey.exe를 통해서 가요, 인터프리터, 스크립트 언어니까요.
      컴파일하는것은 ahk파일과 exe파일을 wrapping하는거고요, 그래서 엄밀히 말하면 컴파일이 아니죠
      그러니까 소스코드보안에 신경쓰는게 의미가 없게 되는거죠,
      패킹해봤자 메모리에 로드되면 AutoHotkey.exe 머신에서 실행되는거라 코드가 메모리에 로드되어있습니다. 디컴파일은 프로그램을 로딩하고 하는거에요. 그냥 디컴파일러로 프로그램 드래그드롭하는게 아니고요.
      오토핫키 개발자 fincs도 오토핫키의 소스코드는 절대로 보호되지 않고, 소스코드 보안글도 포럼에서 그만좀 올리라고 했습니다ㅋㅋ 아무런 의미가 없으니

      무슨 패커을 사용해도 보안에는 의미가 없어요, 올리디버거, Sylldbg로 브레이크포인트 걸면 메모리에서 코드가 다 보이는데 패킹해봤자죠

    • 열쇠 2015.12.14 19:57 신고

      정말 안타까운 사실이네요.
      그래도 이런식으로 외부 프로그램을 이용하면 메모리를 지울수도 있습니다.
      http://www.2shared.com/file/gU44Uy-k/test.html
      간단한 역분석 방지와 메모리를 커널에서 호출해서 지우도록 해보았습니다.

    • 열쇠 2015.12.14 20:01 신고

      외담입니다만 fincs는 왜이렇게 극단적으로 오픈웨어를 지향하는걸까요?
      정책에 반해서라도 따로 컴파일러를 만들어 주었으면 좋겠습니다. 아마 수많은 오토핫키 스크립터들이 바라는 사항이 아닐까 싶네요

    • BlogIcon 예지력 2015.12.14 20:26 신고

      오토핫키 시작 자체가 가장 엄격한 오픈소스를 지향하는 GNU라이선스였고, 오토핫키 베이직(B) 버전의 출발도 형제 언어인 오토잇이 오픈소스라서 가능했고요. 현재의 오토핫키(L) 가 아직까지 개발되는 이유도 6년 전에 개발이 중단됐던 오토핫키 베이직(B)이 오픈소스여서 가능한 거니까요.

      외국에는 이미 국내보다 오픈소스 정신과 오리지널 코드의 제작자를 크레딧을 해주는 문화가 발달해서 그런지, 오토핫키 정책에 불만이 사람 별로 못 본 것 같습니다, 저 자체도 오픈소스의 수혜를 많이 받으며 공부해와서 그런지 별 생각 없고요.
      다만, 몇몇 도둑(?)들 때문에 소스 보호에 신경을 쓰게 될 때가 있다는 점이 안타까워요

    • 열쇠 2015.12.14 20:49 신고

      그렇군요..오토잇처럼 최소 Obfuscation 기능이라도 있으면 좋겠지만..말씀 잘들었습니다.

  3. 박세준 2015.12.21 08:26 신고

    예전부터 생각해왔던건데 진짜로 하시는 분들이 있네요..ㅋㅋ
    오핫 스크립트 에디터같은 프로그램 만들 때 유용할 것 같습니다.
    저는 ahk2exe 컴파일러를 FileInstall로 내장시켜서 FileAppend -> ahk2exe -> run 을 생각하고 있었는데 차원이 다른 작품이 나와버렸네요~

  4. 왕진 2015.12.22 22:57 신고

    예지력님글도보고 구글사이트에 다른분의 오토핫키 강좌도 보고 해서 이미지서치를 해보는중입니다.
    실례가안된다면 몇가지 질문을 드리고싶습니다.

    Gui, ADD, Text, x30 y5 w110 h20, 매크로 프로그램
    Gui, ADD, Text, x60 y25 w50 h20 vA, 준비!!!
    Gui, ADD, Text, x60 y50 w50 h20 vB, 0회
    Gui, ADD, Button, x20 y80 w110 h20, 시작
    Gui, ADD, Button, x20 y110 w110 h20, 종료
    Gui, Show

    return

    Button시작:
    {
    CoordMode, Relative
    Gui,Submit,nohide
    GuiControl,,A, 시작

    매크로시작 := true
    클리어횟수 := 0
    Loop
    {

    ImageSearch, FoundX, FoundY, 0,0, A_Screenwidth, A_ScreenHeight, *50 %A_ScriptDir%\Image\1.png
    if(Errorlevel = 0)
    {
    send {click &FoundX& %FoundY%}
    sleep, 3000
    }
    ImageSearch, FoundX, FoundY, 0,0, A_Screenwidth, A_ScreenHeight, *50 %A_ScriptDir%\Image\2.png
    if(Errorlevel = 0)
    {
    send {click &FoundX& %FoundY%}
    sleep, 3000
    }
    ImageSearch, FoundX, FoundY, 0,0, A_Screenwidth, A_ScreenHeight, *50 %A_ScriptDir%\Image\3.png
    if(Errorlevel = 0)
    {
    send {click &FoundX& %FoundY%}
    sleep, 3000
    클리어횟수 := 클리어횟수 + 1
    Gui,Submit,nohide
    GuiControl,,B, %클리어횟수% 회
    }
    if(매크로시작 = false)
    {
    break
    }
    }
    }
    return

    Button종료:
    {
    매크로시작 := false
    ExitApp
    }
    return

    제가 이미지서치를 하려고 만든것인데..
    이미지를 못찾는건지..어떤지..다른건다되는데 이미지서치만 안됩니다...
    예지력님강좌에있는것처럼 vx,vy 좌표로해서도해보고 foundx,foundy로도해봤는데..
    도통..이미지를 못찾는것 같아요..

    질문1. 코드에 문제가 있는건가요..?
    질문2. 코드에 문제가 없다면 혹..이미지를캡쳐하는 부분에서 잘못된것일까요?
    ->캡쳐는 그림판으로해서 png,bmp파일로 했으며 캡처는 가장알아보기쉬운 부분적으로하였습니다.어느글에서보니 가장자리?하는게좋다고하여그렇게도해보고 정가운데로도 해봤지만..여전히 움직이질않네요..
    질문3. 제가 노트북을쓰는데..지금2모니터를 사용합니다. HDMI로 하나 RGV로 하나 오토핫키는 HDMI쪽 모니터를 주로 설정하여
    그곳에서하는데 혹 듀얼모니터사용하는게 문제가 될수 있을까요?
    질문4. 파일경로쪽에%A_scriptdir%\Image\1.bmp or png 이렇게 사용하는데
    파일은 바탕화면 ppp 폴더안에 스크립트가 있으며 하위폴더인 Image 폴더안에 찾고자하는 파일3개와 그파일로 캡쳐뜬 사진3개가
    있습니다 이럴때 코드 경로는 저위에 코드가 맞는건가요?

    질문이 많습니다ㅠㅠ도와주세요!!

    • 2016.01.10 22:53 신고

      너무 기초적인 내용인데 포스팅과는 맞지않는거 같네요
      킴영감님 포스팅보고 따라하신거같은데 foundx변수에
      &가 아닌 %를 주셔야합니다.

  5. 구리 2016.01.01 01:57 신고

    안녕하세요^^
    독립 프로세스로 명령을 시켰더니 잘 되는 명령어도 있고 잘 안되는 명령어도 있네요.ㅜㅜ
    msgbox,send 같은 명령은 잘 실행되는데
    Run Notepad.exe
    Winclose
    이런 명령들은 (Run 같은경우 파일을 찾을 수 없다고 나옵니다.)
    (Winclose는 반응이 없습니다.)
    잘 실행되지 않네요.ㅜㅜ

    어떻게 해야 위와 같은 명령도 잘 실행되게 할 수 있을지 모르겠습니다.
    알려주시면 정말 감사하겠습니다.

    새해 복 많이 받으세요!

    • BlogIcon 예지력 2016.01.01 18:44 신고

      저는 잘 되는데요? :(

      Code := "
      (Join`n
      Run, Notepad.exe
      )"

      Init := new DynaScript(Code)
      Init.Run()
      Return

      #Include, <DynaScript>

  6. 구리 2016.01.03 14:55 신고

    왠진 모르지만 run 이후 공백(`n)을 살려놨더니 잘 되네요.^^;;

    덕분에 좋은 스크립트도 써보고 감사합니다.!

  7. BlogIcon 비필 2016.02.15 15:51 신고

    이거 AutoHotkey_H 나 AutoHotkey.dll 로도 해결 가능합니다. 서로 변수공유도 가능하고요

  8. BlogIcon 1466005116 2016.06.16 00:38 신고

    알찬 정보 좋네요~

  9. 2016.09.16 20:11

    비밀댓글입니다

  10. 2018.04.20 17:43

    비밀댓글입니다

    • BlogIcon 예지력 2018.04.22 13:06 신고

      아 그런가요? 직접 해본적이 없어서 모르겠는데 메모리에서 보이지않는다면 아마 말씀하신대로일것같습니다

  11. BlogIcon AidenKim. 2018.05.04 01:54 신고

    안녕하세요 예지력님,

    위에 올려주신 동영상 보니까 , 맥에서도 오토핫키 구동하고 테스트하시는데, 어떻게 하신건지 알수 있을까요?

    집에서는 맥 사용하고, 회사에서는 오토핫키를 사용하는데.. 좋은 정보가 될것 같습니다.

Language : AutoHotkey

Author : 예지력

Feature : MSDN TaskDialog function implement, written in AHK


Class MsgBox.zip





'프로그래밍 > Archive' 카테고리의 다른 글

Dock - attach a window to another  (2) 2017.04.23
DynaScript - Child 프로세스로 코드 실행  (30) 2015.12.14
[Lib] Class Msgbox  (6) 2015.11.27
[Lib] CleanNotify  (4) 2015.11.21
WinWaitCreated()  (0) 2015.10.17
MS Office Style Gui 프로토타입  (4) 2015.10.09
  1. 혜나토리 2015.11.27 22:57 신고

    오늘부터 연습하는데 정말 큰 도움됩니다 감사합니다^^

  2. 세준 2015.12.11 11:04 신고

    이제 스타일 변경 없이도 깔쌈한 메세지박스가 가능하겠네요~! 완전 맘에드네요 ㅋㅋ

  3. 불탄집문서 2015.12.19 15:35 신고

    오오 .. 감사합니다 이제 이쁜 msgbox를 만들수 있게 되었어요

  4. 왕초보 2017.05.15 09:36 신고

    오래전에 어느 고수님의 백업, 복구 프로그램에 있는것을 보고 신기하게 생각을 하였었습니다..
    오토쿨에서 보고서야..어느분께서 만드신 메세지인지 알게 되었습니다
    그리고.이제서야.활용할수 있게 되었습니다..감사합니다..

    오토쿨에서 도움을 청하는것이 아니라 이곳에서 도움을 청해게 되어서 죄송합니다.
    이 메세지를 오토잇에서도 활용을 하고 싶습니다...초보가 좋은것을 알게 되다보니 너무 욕심을 내는것 같습니다
    혹시...오토잇으로도 사용가능한지요...어떻게 작업을 해야할지 엄두가 나지를 않다보니..이렇게 도움을 청하게 되었습니다

    오토핫키 관련해서 좋은 강좌를 해주셔서 감사합니다..
    많은 도움이 되었습니다
    특히 스킨은...모양을 이쁘게하는데 잘 사용하였습니다..
    감사합니다..

    • BlogIcon 예지력 2017.05.15 09:43 신고

      안녕하세요,
      오토핫키의 기능이 아니라 윈도우 내장함수를 끌어다 쓰는 것이라(DllCall) 오토잇도 dllcall이 있는 걸로 알고 있는데 가능할 듯 싶습니다. 저는 오토잇 코드를 읽을 줄만 알지 직접 쓸 줄은 몰라서 도움은 못 드리겠어요.

  5. 왕초보 2017.05.24 09:04 신고

    댓글을 남겨 주셔서 감사합니다..

    메세지에 칼라가 있는것을 보고 너무 제 욕심만 낸것 같습니다...죄송합니다..
    친절하신 답글에 제가 자신이 민망할 정도입니다..

    오토잇으로 된것을 찾기는 하였습니다..역시..칼라가 들어가지 않았지만 저에게는 귀한 선물이 되었습니다
    메세지가 윈도우의 어떤 내장함수인지를 여기서 알게되지 않았다면...찾지 못하였을것입니다.
    --------------------------------------------------------------------------------------------------------------------------------------------------
    윈도우 백업, 복원 프로그램에 메세지를 활용하여서 사용하고 있습니다...
    초록은 복원, 백업은 노랑을 사용합니다
    칼라에 따라서 아이콘이 정해져 있다보니..조금 아쉽습니다..
    칼라가 적용되는것만 해도 특별한 것인데도 사람이 욕심이 끝이 없나 봅니다..

    아이콘을 파일로된 다른 아이콘을 적용을 하려고하면 어떻개 해야하는지요..
    초보에게는 능력 밖의 일이되어서 이렇게 또 귀찮게 해드리게 되었습니다..
    죄송스럽습니다.

    오늘도 웃음이 가득한 하루 되시길 바랍니다

Language : AutoHotkey

Author : 예지력

Function : 팝업메시지


라이브러리


예제 코드


'프로그래밍 > Archive' 카테고리의 다른 글

DynaScript - Child 프로세스로 코드 실행  (30) 2015.12.14
[Lib] Class Msgbox  (6) 2015.11.27
[Lib] CleanNotify  (4) 2015.11.21
WinWaitCreated()  (0) 2015.10.17
MS Office Style Gui 프로토타입  (4) 2015.10.09
GetActiveObjects 활성중인 객체를 불러온다  (0) 2015.03.04
  1. 2015.11.21 20:21

    비밀댓글입니다

  2. 세준 2015.12.11 11:07 신고

    깔끔한게 마음에 드네요 ^^ 이제 구린 TrayTip 말구 이걸 쓰면 이뻐질듯!!

  3. 왕초보 2017.05.23 17:59 신고

    역시..저에게는 한글 설명이 최고입니다..
    멋진 작품에 친절하신 설명에 감사드립니다..

    좋은일만 있으세요..

  4. 왕초보 2017.05.24 09:08 신고

    알려주순 멋진 메세지를 백업, 복구 프로그램에 적용을 하여 보았습니다..
    바탕색이 프로그램 색과 일치하지 않아서 색은 바꾸었습니다. 죄송합니다

    알려주신 소스에서 페이트 관련소스가 있어서 처음으로 프로그램 폼에..페이드 기능을 적용도 해볼수 있었습니다
    생각지도 않았던 기능이어서...너무 감사드립니다..

    윈도우 포럼에 사용기를 소개를 하였지만 이곳에는 사진을 올릴수 없어서 오토쿨에 강죄를 해주신곳에 사진 몇장을
    올렸습니다

    좋은 작품을 이렇게 공개를 하여 주신 덕분에 많은것을 배울수 있었습니다
    진심으로 머리숙여 감사드립니다..
    복 많이많이 받으십시요

Language : AutoHotkey_L

Author : HotKeyit

Function : Wait for a window to be created

Source : http://ahkscript.org/boards/viewtopic.php?f=6&t=1274

 

라이브러리

'프로그래밍 > Archive' 카테고리의 다른 글

[Lib] Class Msgbox  (6) 2015.11.27
[Lib] CleanNotify  (4) 2015.11.21
WinWaitCreated()  (0) 2015.10.17
MS Office Style Gui 프로토타입  (4) 2015.10.09
GetActiveObjects 활성중인 객체를 불러온다  (0) 2015.03.04
L 유니코드32비트 1.1.19.03  (11) 2015.02.21

예전에 프로그램 만들때 사용했던 마이크로소프트 오피스 gui 프로토타입입니다

초기때는 이미지 사용한 버전이라, 이미지 안쓰려고 전부다 프로그레스바로 바꾼 노가다의 흔적떄문에 눈물이 나네요

 

오토핫키L의 제작자 Lexikos가 1.1.20 버전부터 새로 추가한 기능인 BoundFunc을 코드내에서 사용하니

관심이 있다면 아래 코드를 통해 사용예를 확인해보시는것도 공부에 도움이 될 듯 합니다

 

MS오피스 스타일GUI.ahk

 

코드에 주석달아서 더럽히는(...)걸 좋아하지 않아서 주석이 없지만 글작성하면서 아래에 적어두니 참고하시기 바랍니다

 

#SingleInstance, Off  ;프로그램 중복실행 허용
#NoEnv  ;내장환경변수 제거, 퍼포먼스 향샹 목적
#NoTrayIcon  ;트레이아이콘 제거
#KeyHistory;키저장기능 제거, 퍼포먼스 향샹 목적
ListLines Off  ;라인제거, 퍼포먼스 향샹 목적
SetWinDelay, 0  ;윈도우 관련 딜레이 최소한으로 설정 (-1은 딜레이X)
SetBatchLines, -1  ;코드간 자동 Sleep 삭제, 속도 향샹 목적

new OfficeGUI()
return

 

class OfficeGUI {

 

static GuiW := A_ScreenWidth * 0.3, GuiH := A_ScreenHeight * 0.6  ;시작 Static 변수 Assign

 

__New() {

 

this.Bound := []  ;오브젝트 생성
this.Bound.IconButton := this.IconButton.Bind(this)  ;이하 버튼 g라벨 초기 설정 구간
this.Bound.MinimizeButton := this.MinimizeButton.Bind(this)
this.Bound.MaximizeButton := this.MaximizeButton.Bind(this)
this.Bound.CloseButton := this.CloseButton.Bind(this)
this.Bound.MoveButton := this.MoveButton.Bind(this)
this.Color := "FFFFFF"  ;배경색 Assign

 

Gui, New, -DPIScale -Caption +Resize +hwndhMainWindow  ;구이 윈도우설정
this.hMainWindow := hMainWindow  ;클래스내 사용을위해 hwnd 설정

 

Gui, Margin, 0, 0  ;컴포넌트 간의 기본폭 삭제
Gui, Color, % this.Color  ;배경색 지정

 

; 아래는 BoundFunction 관련 코드 (도움말 http://ahkscript.org/docs/objects/Functor.htm)

Gui, Add, Text, % " x" 1 " y" 1 " w" 37 " h" 28 " +BackgroundTrans hwndhIconButton"  ; 아이콘 영역 설정
this.hIconButton := hIconButton  ;아이콘 hwnd 설정
BoundIconButton := this.Bound.IconButton  ;함수 바운드
GuiControl, +g, %hIconButton%, %BoundIconButton%  ;아이콘버튼 g라벨 바운드

 

Gui, Add, Text, % " x" this.GuiW-89 " y" 4 " w" 29 " h" 22 " +BackgroundTrans hwndhMinimizeButton" ;최소화 영역 설정
this.hMinimizeButton := hMinimizeButton  ;최소화 hwnd 설정
BoundMinimizeButton := this.Bound.MinimizeButton  ;함수 바운드
GuiControl, +g, %hMinimizeButton%, %BoundMinimizeButton%  ;최소화버튼 g라벨 바운드

 

Gui, Add, Text, % " x" this.GuiW-59 " y" 4 " w" 29 " h" 22 " +BackgroundTrans hwndhMaximizeButton"  ;최대화  영역
this.hMaximizeButton := hMaximizeButton  ;최대화 hwnd 설정
BoundMaximizeButton := this.Bound.MaximizeButton  ;함수 바운드
GuiControl, +g, %hMaximizeButton%, %BoundMaximizeButton%  ;최대화버튼 g라벨 바운드

 

Gui, Add, Text, % " x" this.GuiW-30 " y" 4 " w" 29 " h" 22 " +BackgroundTrans hwndhCloseButton"  ;종료 (X) 영역
this.hCloseButton := hCloseButton  ;종료 hwnd 설정
BoundClose := this.Bound.CloseButton  ;함수바운드
GuiControl, +g, %hCloseButton%, %BoundClose%  ;종료버튼 g라벨 바운드

 

Gui, Add, Text, % " x" 1 " y" 1 " w" this.GuiW-2 " h" 28 " +BackgroundTrans hwndhMoveButton"  ;상단바  영역
this.hMoveButton := hMoveButton  ;hwnd 설정
BoundMoveButton := this.Bound.MoveButton  ;함수바운드
GuiControl, +g, %hMoveButton%, %BoundMoveButton%  ;상단 드래그영역 g라벨 바운드

 

;이제부터는 Progrss를 이용한 버튼이미지 그리기 부분

Gui, Add, Progress, % " x" 11 " y" 4 " w" 16 " h" 16 " Background0072C6", 0  ;GUI 아이콘

Gui, Add, Progress, % " x" this.GuiW-80 " y" 10 " w" 9 " h" 2 " Background777777 hwndhMin", 0  ;GUI MINIMIZE

Gui, Add, Progress, % " x" this.GuiW-50 " y" 3 " w" 11 " h" 2 " Background777777 hwndhMaxT", 0  ;GUI 최대화 top
Gui, Add, Progress, % " x" this.GuiW-50 " y" 11 " w" 11 " h" 2 " Background777777 hwndhMaxB", 0  ;GUI 최대화 bottom
Gui, Add, Progress, % " x" this.GuiW-41 " y" 3 " w" 2 " h" 10 " Background777777 hwndhMaxR", 0  ;GUI 최대화 right
Gui, Add, Progress, % " x" this.GuiW-50 " y" 3 " w" 2 " h" 10 " Background777777 hwndhMaxL", 0  ;GUI 최대화 left
  
Gui, Add, Progress, % " x" this.GuiW-20 " y" 4 " w" 1 " h" 1 " Background777777 hwndhXTL1", 0  ;GUI CLOSE TOP-LEFT 01
Gui, Add, Progress, % " x" this.GuiW-21 " y" 5 " w" 3 " h" 1 " Background777777 hwndhXTL2", 0  ;GUI CLOSE TOP-LEFT 02
Gui, Add, Progress, % " x" this.GuiW-20 " y" 6 " w" 3 " h" 1 " Background777777 hwndhXTL3", 0  ;GUI CLOSE TOP-LEFT 03
Gui, Add, Progress, % " x" this.GuiW-13 " y" 4 " w" 1 " h" 1 " Background777777 hwndhXTR1", 0  ;GUI CLOSE TOP-RIGHT 01
Gui, Add, Progress, % " x" this.GuiW-14 " y" 5 " w" 3 " h" 1 " Background777777 hwndhXTR2", 0  ;GUI CLOSE TOP-RIGHT 02
Gui, Add, Progress, % " x" this.GuiW-15 " y" 6 " w" 3 " h" 1 " Background777777 hwndhXTR3", 0  ;GUI CLOSE TOP-RIGHT 03
Gui, Add, Progress, % " x" this.GuiW-19 " y" 7 " w" 6 " h" 1 " Background777777 hwndhXC1", 0  ;GUI CLOSE CENTER 01
Gui, Add, Progress, % " x" this.GuiW-18 " y" 8 " w" 4 " h" 1 " Background777777 hwndhXC2", 0  ;GUI CLOSE CENTER 02
Gui, Add, Progress, % " x" this.GuiW-18 " y" 9 " w" 4 " h" 1 " Background777777 hwndhXC3", 0  ;GUI CLOSE CENTER 03
Gui, Add, Progress, % " x" this.GuiW-19 " y" 10 " w" 6 " h" 1 " Background777777 hwndhXC4", 0  ;GUI CLOSE CENTER 04
Gui, Add, Progress, % " x" this.GuiW-20 " y" 11 " w" 3 " h" 1 " Background777777 hwndhCBL1", 0  ;GUI CLOSE BOTTOM-LEFT 01
Gui, Add, Progress, % " x" this.GuiW-21 " y" 12 " w" 3 " h" 1 " Background777777 hwndhCBL2", 0  ;GUI CLOSE BOTTOM-LEFT 02
Gui, Add, Progress, % " x" this.GuiW-20 " y" 13 " w" 1 " h" 1 " Background777777 hwndhCBL3", 0  ;GUI CLOSE BOTTOM-LEFT 03
Gui, Add, Progress, % " x" this.GuiW-15 " y" 11 " w" 3 " h" 1 " Background777777 hwndhCBR1", 0  ;GUI CLOSE BOTTOM-RIGHT 01
Gui, Add, Progress, % " x" this.GuiW-14 " y" 12 " w" 3 " h" 1 " Background777777 hwndhCBR2", 0  ;GUI CLOSE BOTTOM-RIGHT 02
Gui, Add, Progress, % " x" this.GuiW-13 " y" 13 " w" 1 " h" 1 " Background777777 hwndhCBR3", 0  ;GUI CLOSE BOTTOM-RIGHT 03
Gui, Add, Progress, % " x" 1 " y" this.GuiH-23 " w" this.GuiW-2 " h" 22 " Background0072C6 hwndhBar", 0  ;GUI STATUSBAR


Gui, Font, s9 c444444, Segoe UI  ;프로그램 타이틀 텍스트를위해 폰트설정
Gui, Add, Text, % " x" 37 " y" 2 " w" this.GuiW-96 " +Center +BackgroundTrans hwndhTitletext", 프로그램 타이틀
Gui, Font  ;폰트 초기화


Gui, Font, s8 cFFFFFF, Segoe UI  ;하단 메시지 텍스트를위해 폰트설정
Gui, Add, Text, % " x" 8 " y" this.GuiH-19 " w" this.GuiW-16 " +BackgroundTrans hwndhBarText", 하단 메시지 텍스트
Gui, Font  ;폰트 초기화


WinEvents.Register(this.hMainWindow, this)  ;기본 GuiEvent 레지스트


Gui, Show, % " w" this.GuiW " h" this.GuiH, GUI

}

 

IconButton()  ;아이콘버튼, Bound된 g라벨 Function
{
    SendInput, !{Space}  ;컨트롤메뉴 보이게
}

 

MinimizeButton()  ;최소화버튼, Bound된 g라벨 Func
{
    WinMinimize
}

 

MaximizeButton()  ;최대화버튼, Bound된 g라벨 Func
{
    VarSetCapacity(rect, 16, 0)
    DllCall("GetClientRect", uint, this.hMainWindow, uint, &rect )  ;보더와 캡션을 제외한 실제 윈도우영역을 구함
    if (NumGet( rect, 8, "int" ) >= A_ScreenWidth - 50)
        WinRestore
   else
       WinMaximize
}

 

MoveButton() ;상단 드래그영역, Bound된 g라벨 Func
{
    PostMessage, 0xA1, 2,,, A  ;드래그
}

 

CloseButton()  ;종료 X버튼, Bound된 g라벨 Func
{
    this.Delete("Bound")  ;Bound 오브젝트 제거
    WinEvents.Unregister(this.hMainWindow)  ;기본 GuiEvent 설정 언로드
    Gui, Destroy
    ExitApp
}

 

GuiSize()  ;구이 리사이즈, WinEvents.Register(this.hMainWindow, this)로 인해 Bound됨
{
    global
    GuiControl, Move, % this.hMinimizeButton, % "x" A_GuiWidth - 89 " y" 4 " w" 29 " h" 22
    GuiControl, Move, % this.hMaximizeButton, % "x" A_GuiWidth - 59 " y" 4 " w" 29 " h" 22
    GuiControl, Move, % this.hCloseButton, % "x" A_GuiWidth - 29 " y" 4 " w" 29 " h" 22
    GuiControl, Move, % this.hMoveButton, % "x" 1 " y" 1 " w" A_GuiWidth - 2 " h" 28
    GuiControl, Move, % hMin, % "x" A_GuiWidth - 80 " y" 10 " w" 9 " h" 2
    GuiControl, Move, % hMaxT, % "x" A_GuiWidth - 50 "y" 3 "w" 11 "h" 2
    GuiControl, Move, % hMaxB, % "x" A_GuiWidth - 50 "y" 11 "w" 11 "h" 2
    GuiControl, Move, % hMaxR, % "x" A_GuiWidth - 41 "y" 3 "w" 2 "h" 10
    GuiControl, Move, % hMaxL, % "x" A_GuiWidth - 50 "y" 3 "w" 2 "h" 10
    GuiControl, Move, % hXTL1, % "x" A_GuiWidth - 20 " y" 4 " w" 1 " h" 1
    GuiControl, Move, % hXTL2, % "x" A_GuiWidth - 21 " y" 5 " w" 3 " h" 1
    GuiControl, Move, % hXTL3, % "x" A_GuiWidth - 20 " y" 6 " w" 3 " h" 1
    GuiControl, Move, % hXTR1, % "x" A_GuiWidth - 13 " y" 4 " w" 1 " h" 1
    GuiControl, Move, % hXTR2, % "x" A_GuiWidth - 14 " y" 5 " w" 3 " h" 1
    GuiControl, Move, % hXTR3, % "x" A_GuiWidth - 15 "y" 6 "w" 3 "h" 1
    GuiControl, Move, % hXC1, % "x" A_GuiWidth - 19 " y" 7 " w" 6 " h" 1
    GuiControl, Move, % hXC2, % "x" A_GuiWidth - 18 " y" 8 " w" 4 " h" 1
    GuiControl, Move, % hXC3, % "x" A_GuiWidth - 18 " y" 9 " w" 4 " h" 1
    GuiControl, Move, % hXC4, % "x" A_GuiWidth - 19 " y" 10 " w" 6 " h" 1
    GuiControl, Move, % hCBL1, % "x" A_GuiWidth - 20 " y" 11 " w" 3 " h" 1
    GuiControl, Move, % hCBL2, % "x" A_GuiWidth - 21 " y" 12 " w" 3 " h" 1
    GuiControl, Move, % hCBL3, % "x" A_GuiWidth - 20 " y" 13 " w" 1 " h" 1
    GuiControl, Move, % hCBR1, % "x" A_GuiWidth - 15 " y" 11 " w" 3 " h" 1
    GuiControl, Move, % hCBR2, % "x" A_GuiWidth - 14 " y" 12 " w" 3 " h" 1
    GuiControl, Move, % hCBR3, % "x" A_GuiWidth - 13 " y" 13 " w" 1 " h" 1
    GuiControl, Move, % hBar, % "x" 1 " y" A_GuiHeight - 23 " w" A_GuiWidth - 2 " h" 22
    GuiControl, Move, % hTitletext, % "x" 37 " y" 2 " w" A_GuiWidth - 96
    GuiControl, Move, % hBarText, % "x" 8 " y" A_GuiHeight - 19 " w" A_GuiWidth - 16
    WinSet, Redraw
}

}

 

class WinEvents
{
    static Table := {}


Register(hWnd, Class, Prefix="Gui")
{
    Gui, +LabelWinEvents.
    this.Table[hWnd] := {Class: Class, Prefix: Prefix}
}


Unregister(hWnd)
{
    this.Table.Delete(hWnd)
}


Dispatch(hWnd, Type)
{
    Info := this.Table[hWnd]
    return Info.Class[Info.Prefix . Type].Call(Info.Class)
}


Size()
{
    return WinEvents.Dispatch(this, "Size")
}

}

'프로그래밍 > Archive' 카테고리의 다른 글

[Lib] CleanNotify  (4) 2015.11.21
WinWaitCreated()  (0) 2015.10.17
MS Office Style Gui 프로토타입  (4) 2015.10.09
GetActiveObjects 활성중인 객체를 불러온다  (0) 2015.03.04
L 유니코드32비트 1.1.19.03  (11) 2015.02.21
암호화 , 복호화 프로그램  (18) 2015.02.19
  1. 람바랄 2016.12.16 14:51 신고

    소중한 정보 감사합니다 적용을해보고있는데 창의 전체 크기에서 절반정도로 줄여서 사용하고자하는데 어느부분을 건들어야 작아질까요?

    • BlogIcon 예지력 2016.12.16 15:13 신고

      static GuiW := A_ScreenWidth * 0.3, GuiH := A_ScreenHeight * 0.6 이 부분 수정하세요!

  2. qmf369 2018.01.25 23:11 신고

    소중한 디자인 감사합니다
    이디자인중 하단텍스트부분만 빼서 사용할려고했더니 잘안되더라구요...어떻게 수정을 하면 일반 스마트구이에 그대로 넣을수있을까요?ㅠㅠ

    • BlogIcon 예지력 2018.02.25 01:04 신고

      Gui, Font, s8 cFFFFFF, Segoe UI ;하단 메시지 텍스트를위해 폰트설정
      Gui, Add, Text, % " x" 8 " y" this.GuiH-19 " w" this.GuiW-16 " +BackgroundTrans hwndhBarText", 하단 메시지 텍스트
      Gui, Font ;폰트 초기화



      GuiControl, Move, % hTitletext, % "x" 37 " y" 2 " w" A_GuiWidth - 96
      GuiControl, Move, % hBarText, % "x" 8 " y" A_GuiHeight - 19 " w" A_GuiWidth - 16

      이 부문만 따로 빼서 쓰세요

Author : Lexikos

Language : AutoHotkey L

Function : Get multiple active COM objects, 현재 활성중인 컴 객체를 가져온다

Source : http://ahkscript.org/boards/viewtopic.php?f=6&t=6494


Library

; GetActiveObjects v1.0 by Lexikos

; http://ahkscript.org/boards/viewtopic.php?f=6&t=6494
GetActiveObjects(Prefix:="", CaseSensitive:=false) {
    objects := {}
    DllCall("ole32\CoGetMalloc", "uint", 1, "ptr*", malloc) ; malloc: IMalloc
    DllCall("ole32\CreateBindCtx", "uint", 0, "ptr*", bindCtx) ; bindCtx: IBindCtx
    DllCall(NumGet(NumGet(bindCtx+0)+8*A_PtrSize), "ptr", bindCtx, "ptr*", rot) ; rot: IRunningObjectTable
    DllCall(NumGet(NumGet(rot+0)+9*A_PtrSize), "ptr", rot, "ptr*", enum) ; enum: IEnumMoniker
    while DllCall(NumGet(NumGet(enum+0)+3*A_PtrSize), "ptr", enum, "uint", 1, "ptr*", mon, "ptr", 0) = 0 ; mon: IMoniker
    {
        DllCall(NumGet(NumGet(mon+0)+20*A_PtrSize), "ptr", mon, "ptr", bindCtx, "ptr", 0, "ptr*", pname) ; GetDisplayName
        name := StrGet(pname, "UTF-16")
        DllCall(NumGet(NumGet(malloc+0)+5*A_PtrSize), "ptr", malloc, "ptr", pname) ; Free
        if InStr(name, Prefix, CaseSensitive) = 1 {
            DllCall(NumGet(NumGet(rot+0)+6*A_PtrSize), "ptr", rot, "ptr", mon, "ptr*", punk) ; GetObject
            ; Wrap the pointer as IDispatch if available, otherwise as IUnknown.
            if (pdsp := ComObjQuery(punk, "{00020400-0000-0000-C000-000000000046}"))
                obj := ComObject(9, pdsp, 1), ObjRelease(punk)
            else
                obj := ComObject(13, punk, 1)
            ; Store it in the return array by suffix.
            objects[SubStr(name, StrLen(Prefix) + 1)] := obj
        }
        ObjRelease(mon)
    }
    ObjRelease(enum)
    ObjRelease(rot)
    ObjRelease(bindCtx)
    ObjRelease(malloc)
    return objects
}


'프로그래밍 > Archive' 카테고리의 다른 글

WinWaitCreated()  (0) 2015.10.17
MS Office Style Gui 프로토타입  (4) 2015.10.09
GetActiveObjects 활성중인 객체를 불러온다  (0) 2015.03.04
L 유니코드32비트 1.1.19.03  (11) 2015.02.21
암호화 , 복호화 프로그램  (18) 2015.02.19
Animate gif GUI  (0) 2015.02.19

수정본.zip

 

ㅡ 뮤텍스

ㅡ 클래스네임

ㅡ 자동으로 관리자권한

ㅡ 아이콘변경

'프로그래밍 > Archive' 카테고리의 다른 글

MS Office Style Gui 프로토타입  (4) 2015.10.09
GetActiveObjects 활성중인 객체를 불러온다  (0) 2015.03.04
L 유니코드32비트 1.1.19.03  (11) 2015.02.21
암호화 , 복호화 프로그램  (18) 2015.02.19
Animate gif GUI  (0) 2015.02.19
메모리최적화 MemoryInfo  (0) 2015.02.15
  1. 까망 2015.02.21 16:13 신고

    감사합니다
    잘 쓸게요 ^^

  2. 호이 2015.02.24 17:04 신고

    어떻게 사용하는건가요 ?

    더블클릭해도 무반응인데 ㅎㅎ

    • BlogIcon 예지력 2015.02.24 20:42 신고

      이게 뭔지는 아시는건가요?;;
      내부수정을 거친 오토핫키 원본파일입니다

  3. 오토핫키초보 2015.03.12 09:04 신고

    안녕하세요
    C프로그래밍에 대한 지식이 없는 상태에서 오토핫키 오픈소스를 직접 컴파일할려고 하다보니 자꾸 에러만 뜨고 잘 안됩니다 ㅠㅠ
    현재 운영체제는 윈7 64비트구요. Microsoft Visual C++ 2010 Express를 설치했습니다.
    에러메시지는 아래처럼 뜨는데 해결방법 좀 알려주세요.
    AutoHotkeyx.vcxproj : warning : 프로젝트 파일 'AutoHotkeyx'에 참조된 'x64' 플랫폼을 찾을 수 없습니다. 이 플랫폼을 '%VCTargetsPath%\Platforms\x64' 아래에 설치했는지 확인하십시오.
    source\lib_pcre\lib_pcre.vcxproj : warning : 프로젝트 파일 'lib_pcre'에 참조된 'x64' 플랫폼을 찾을 수 없습니다. 이 플랫폼을 '%VCTargetsPath%\Platforms\x64' 아래에 설치했는지 확인하십시오.
    warning C4819: 현재 코드 페이지(949)에서 표시할 수 없는 문자가 파일에 들어 있습니다. 데이터가 손실되지 않게 하려면 해당 파일을 유니코드 형식으로 저장하십시오.
    LINK : fatal error LNK1123: COFF로 변환하는 동안 오류가 발생했습니다. 파일이 잘못되었거나 손상되었습니다.

    • BlogIcon 예지력 2015.03.12 22:19 신고

      지금 제가 올린버전 이후로 최신버전은 2010으로 빌드안되는걸로 알고있는데
      인코딩문제니까 솔루션 타입에서 문자집합을 멀티바이트로 바꾸고 빌드해보세요

  4. 오토핫키초보 2015.03.13 17:38 신고

    최신버전인 1.1.20.02 소스코드는 아무리 해도 자꾸 오류가 납니다.
    그래서 가지고 계신 구버전 1.1.19.03 원본 소스 파일을 올려주시면 정말 감사하겠습니다
    현재 홈페이지에는 최신버전밖에 없어서요.... ㅠㅠ 부탁드립니다

    • BlogIcon 예지력 2015.03.13 19:18 신고

      저도 구버전 소스는 없네요. 이거 빌드하고 며칠뒤에 포맷해서요
      그나저나 구버전이시라면 위 파일 사용하시면 될텐데요

  5. 별목 2015.04.30 09:42 신고

    컴파일러는 수정된 버전 없으신가요?
    컴파일 안된 상태로 사용시에는 별 문제가 없는데 컴파일을 하면 잡히내요.

  6. 가나다 2015.07.19 21:57 신고

    뮤텍스... 읽다가읽다가 전혀 모르겠어서 흘러들어왔어요.
    다른 강의도 몇번 정독하며 읽었네요
    아주 잘 정리해주셔서 감사합니다.^^

  7. 궁금합니다. 2016.06.08 21:39 신고

    클래스네임 바꾸는 방법이 궁금합니다.
    script2.cpp 파일에서 바꾸는건가요? 자세히좀 알려주시면 감사합니다.

 

암호/-복호화

 

무료 암호화/-복호화 프로그램입니다, 미국 정부의 표준 암호화 알고리즘 AES외에도 3DES,RC 등 다양한 알고리즘을 제공합니다!

 

드래드드롭을 지원해서 파일을 위 박스로 끌어서 파일의 내용을 불러올수있고, 사용자가 직접 텍스트를 입력할 수도 있습니다.

 

암호화 또는 복호화된 텍스트는 사용자의 설정에 따라 자동으로 클립보드로 복사가 가능합니다.

 

다운로드 아무런 기능제약이 없는 무료 프로그램입니다

 

암호-복호화.zip

 

 

바이러스가 없는 안전한 파일입니다

'프로그래밍 > Archive' 카테고리의 다른 글

GetActiveObjects 활성중인 객체를 불러온다  (0) 2015.03.04
L 유니코드32비트 1.1.19.03  (11) 2015.02.21
암호화 , 복호화 프로그램  (18) 2015.02.19
Animate gif GUI  (0) 2015.02.19
메모리최적화 MemoryInfo  (0) 2015.02.15
로그인 폼디자인  (0) 2015.02.05
  1. fff46 2015.03.02 18:22 신고

    오토핫키에 암호화된 문자열을 넣어도 인식하나요?

    • BlogIcon 예지력 2015.03.03 22:46 신고

      네 가능하죠, 하지만 언래 문자열을 출력할때는 복호화시키는 과정을 거쳐야하겠죠

  2. abedddd 2015.05.02 12:23 신고

    암호화 복호화를 해주는 프로그램인가요?
    만약 맞다면 반대로 풀수있는 프로그램은 없는거죠?ㅠ

  3. ㅁㅁ 2015.07.08 21:34 신고

    클립보드 복사하고
    어떻게 해요..?
    사용방법을 모르겧어요.

  4. 고맙습니다 2015.10.28 19:15 신고

    잘 사용하겠습니다. 혹시 이런 종류 프로그램에서 LEA 알고리즘을 지원하는 것이 있을까요?

  5. 안녕하세요 2015.12.25 12:47 신고

    예를 들어 Msgbox, 반갑습니다 를 AES256으로 암호화 하고
    암호화된 것을 SciTe4편집기에 복붙하여 실행하면 오류가 나는데
    암호화된 코드로 Ahk실행시 "Msgbox, 반갑습니다" 구현되게 하려면
    암호화된 스크립트 내에 '이 스크립트는 Aes256방식을 사용하여 나타내겠다' 라는 함수같은걸 따로 넣어줘야하는가요?

    • BlogIcon 예지력 2015.12.25 12:50 신고


      근데 이걸 자꾸 소스코드 암호화랑 혼동하시는 분들이 굉장히 많네요 특히 오토핫키에서요, 그런것과는 연관이 없는데 말이죠 @_@

  6. 임찬호 2016.03.13 23:09 신고

    암호화된스크립트내에서 이스크립트는 Aes256방식을 사용하여 나타내겠다 예제를 알려주실수있으신가요?
    정확히 사용법이없어서 사용을못하겠습니다.

  7. 2016.03.21 04:01

    비밀댓글입니다

  8. 이민호 2016.04.17 12:27 신고

    저도 암호화된 스크립트 내에서 aes256방식으로 사용하여 나타내겠따는 예저를 알려주실수있나여 찾아봐도 없는거같네요 프로그램은 훌륭합니다!!

  9. encryptolocker 2017.03.26 21:09 신고

    3des는 어떻게 구현하였나요?2개의 암-복호화키가 필요할탠데..

  10. 안녕하세요 2017.04.17 19:52 신고

    사용방법을 전혀 모르겠는데 간단한 예시같은게 있을까요?

  11. 강선봉 입니다 ksdsun123@gmail.com 2017.09.22 22:58 신고

    저기 지금 컴퓨터가 관리자를하고있어서 이것도 저것도 못하고있습ㄴ다
    비밀번호룰좀 가르쳐주시던지 암호를 없애주시던지 부탁드립니다

  12. ksdsun123@gmail.com 2017.09.22 23:17 신고

    암호화 복호하를 아까전에 토랜토에서 다운받았다가 제가 잘모르고 압축을 풀었나보네요 사실 사용방법도 모르는데 신기해서 샀다가..
    어떻게해야되나요? 포맷할까요? 참 난감합니다.. 부탁드려요

  13. soh1313 2018.01.22 18:12 신고

    오토핫키 맞춤으로는 없나용?ㅇㅅㅇ

  14. 라이제르 2018.08.10 11:39 신고

    혹시 해당파일 사용하면서

    사용하던 스크립트를 주입시켜

    암호화해 스크립트를 만들었는데 이부분을 컴파일후 실행이 정상적으로되려면

    어떻게 해야 할까요 ㅠㅠ? 부탁드립니다..

 

Language : AutoHotkey_H

Author : PhiLho, http://www.autohotkey.com/board/topic/17722-show-animated-gifs-in-your-gui/

Function : Animates gif on GUI, gif 파일 애니메이션을 gui안에 내장한다

Source : http://www.autohotkey.com/board/topic/17722-show-animated-gifs-in-your-gui/

 

Lib

Animate GIF GUI.zip

'프로그래밍 > Archive' 카테고리의 다른 글

L 유니코드32비트 1.1.19.03  (11) 2015.02.21
암호화 , 복호화 프로그램  (18) 2015.02.19
Animate gif GUI  (0) 2015.02.19
메모리최적화 MemoryInfo  (0) 2015.02.15
로그인 폼디자인  (0) 2015.02.05
파일,폴더 가상화 Virtualization  (14) 2015.02.03

Language : AutoHotkey_H

Author : jNizM

Function : Shows info about memory via AutoHotkey

Source : http://ahkscript.org/boards/viewtopic.php?f=6&t=142&p=38270#p38270

 

소스코드

'프로그래밍 > Archive' 카테고리의 다른 글

암호화 , 복호화 프로그램  (18) 2015.02.19
Animate gif GUI  (0) 2015.02.19
메모리최적화 MemoryInfo  (0) 2015.02.15
로그인 폼디자인  (0) 2015.02.05
파일,폴더 가상화 Virtualization  (14) 2015.02.03
GUI Skinning Method  (0) 2015.02.03

Language : AutoHotkey L

Author : jNizM

Function : 로그인창 gui 디자인

Source : http://ahkscript.org/boards/viewtopic.php?f=6&t=3851&start=20

 

Library

Lib.zip

 

 

관련 툴

 

L# 알림.zip

 

 

L# Notify.zip

 

'프로그래밍 > Archive' 카테고리의 다른 글

Animate gif GUI  (0) 2015.02.19
메모리최적화 MemoryInfo  (0) 2015.02.15
로그인 폼디자인  (0) 2015.02.05
파일,폴더 가상화 Virtualization  (14) 2015.02.03
GUI Skinning Method  (0) 2015.02.03
SkinSharp.dll - GUI 스킨  (2) 2015.02.03

Language: AutoHotkey L

Author : Soft ,예지력(Knowledgeisfree.tistory.com)

Function : Virtualize file, or directory, 파일이나 폴더를 가상화합니다.

 

파일인스톨이나 파일카피 등의 명령어 수행시 가상화지역을 이용합니다.

프로그램 배포시 파일인스톨로 첨부하는 리소스파일들을 깔끔하게 관리할수있겠죠?

 

Dll파일, Example Script

Virtualize.zip

 

 

DLL SourceCode

boxedappsdk__3_3_5_2.7z

'프로그래밍 > Archive' 카테고리의 다른 글

메모리최적화 MemoryInfo  (0) 2015.02.15
로그인 폼디자인  (0) 2015.02.05
파일,폴더 가상화 Virtualization  (14) 2015.02.03
GUI Skinning Method  (0) 2015.02.03
SkinSharp.dll - GUI 스킨  (2) 2015.02.03
CodeQuickTester 빠른 소스코드 테스트  (1) 2015.01.31
  1. 하룽 2015.03.05 13:47 신고

    소스파일 받아봣는데용 핫키
    Virtualize:
    hModule := DllCall("LoadLibrary", str, A_ScriptDir "\bxsdk32.dll")
    DllCall("bxsdk32\BoxedAppSDK_Init")
    DllCall("bxsdk32\BoxedAppSDK_CreateVirtualDirectoryA", AStr, A_Temp, Int, 0)
    return
    하고 시작하고 끌때
    GuiClose:
    Terminate:
    DllCall("bxsdk32\BoxedAppSDK_Exit")
    DllCall("FreeLibrary", "UInt", hModule)
    ExitApp
    return
    쓰면 되는건가요? 간단하게 키보드 x 키한개만눌르는걸로 만들어주시면 감사하겟습니다 ㅜ

    • BlogIcon 예지력 2015.03.05 21:15 신고

      시작은 코드상단에 그것을 적으면 되구요
      종료말씀하시는거라면, GuiClose 위에 X:: 쓰면 되겠네요
      핫키 강의글 하나만 읽으셔도 혼자 해결하실수있으실텐데;

  2. 오토핫키초보 2015.03.17 11:10 신고

    안녕하세요 예지력님
    Terminate이하 코드를 통한 정상적인 종료를 하지 않고 우측트레이의 오토핫키 Exit를 눌러서 강제종료해도 괜찮은지 궁금합니다

  3. 오토핫키초보 2015.03.17 13:42 신고

    하나만 더 질문드릴께요
    예지력님이 올리신 http://ahkscript.org/boards/viewtopic.php?f=6&t=5838로 문자를 암호화한 경우엔 적용이 안되는것 같은데 맞나요?

    • BlogIcon 예지력 2015.03.17 20:00 신고

      저건 텍스트파일을 암호화하는거에요, 소스코드암호화는 아니구요

  4. 오토핫키궁금이 2015.04.02 03:55 신고

    가상화를 하여 temp 폴더에 filesinstall을 하는 방법과
    그냥 fileinstall을 사용하는 방법의 차이가 어떤건가요?
    결과물은 동일하게 temp 로 파일이 복사되는 것을 확인했는데, 처음에 가상화라고 하시길래 윈도우상에서 페이지메모리라고 하나요>? 하드디스크의 용량 일부를 램으로 사용하는 것처럼, 역으로 컴퓨터의 램을 가상저장공간으로 만들어서 그곳에 파일을 저장하고 불러오는 방식인줄 알았는데...
    어쨌든 정확한 차이가 궁금합니다

  5. 오토핫키궁금이 2015.04.02 04:01 신고

    아아 ㅋㅋ 이해했습니다.
    제가 basic으로 하고있었네요 그래서 어쩐지 가상화가 제대로 작동안한다 했습니다 ㅋㅋ l은 잘되네요 감사합니다

  6. 2015.10.07 19:52

    비밀댓글입니다

  7. 오토핫키사용자 2016.05.04 18:45 신고

    안녕하세요
    좋은정보 잘쓰고있습니다..
    파일인스톨을 많이해서 용량이 700메가정도되는데요..
    속도가 많이 느려지더라고요...
    녹도를 높힐수는 없믄지 문의드립니다 ㅠㅠ

    • BlogIcon 예지력 2016.05.04 20:29 신고

      파일이 700메바나 되니 느린게 당연하기도 하죠,, SetBatchLines과 같이 오토핫키 구문해독 지연시간을 없애주는것외에 따로 파일인스톨을 빠르게 하는 방법은 없어요

  8. 왕초보 2017.05.18 16:00 신고

    좋은것을 알려주셔서 감사합니다..
    너무 간단해서 오히려 놀랐습니다..적용도 아주 잘됩니다..잘 사용하겠습니다

    조금 아쉬운 부분이 있다면...다른 파일은 다 안보이게 되지만..bxsdk32.dll 만큼은..어디에 풀기는 하여야 하네요..
    이 dll만 안보이게 하면..완전할것 같습니다...
    초보가 너무 상상을 나래를 편것 같습니다..

  9. 매크러 2017.08.21 15:53 신고

    윈도우10은 지원이 안되는지 이미지 파일이 그래도 temp폴더에 설치되네요 ㅎㅎ
    윈도우 10은 적용법이 다른것 같은데 혹시 알고 계신가요?

Language : AutoHotkey L

Author : Soft , 예지력(knowledgeisfree.tistory.com)

Function : GUI Skinning Method

 

Lib

SkinSharp Editor&Bin.zip

SkinSharp AHK.zip

 

#2 SkinSharp

더보기

'프로그래밍 > Archive' 카테고리의 다른 글

로그인 폼디자인  (0) 2015.02.05
파일,폴더 가상화 Virtualization  (14) 2015.02.03
GUI Skinning Method  (0) 2015.02.03
SkinSharp.dll - GUI 스킨  (2) 2015.02.03
CodeQuickTester 빠른 소스코드 테스트  (1) 2015.01.31
Class_CustomFont - Load font from font file  (0) 2015.01.24

Language : AutoHotkey L

Author : Soft, (knowledgeisfree.tistory.com)

Function : UI Skinning using SkinH.dll

 

중국프로그래머가 제작한 dll 같네요. 크레딧을 남기지 못하는점은 죄송합니다

오토잇 카페에서 글을 읽게되어서 오토핫키로 포팅했습니다. http://cafe.naver.com/autoitscript

 

USkin.dll 에 이어서 구이스킨에 대한 노력은 계속되네요ㅋㅋ

 

Library

SkinSharp AHK.zip

'프로그래밍 > Archive' 카테고리의 다른 글

파일,폴더 가상화 Virtualization  (14) 2015.02.03
GUI Skinning Method  (0) 2015.02.03
SkinSharp.dll - GUI 스킨  (2) 2015.02.03
CodeQuickTester 빠른 소스코드 테스트  (1) 2015.01.31
Class_CustomFont - Load font from font file  (0) 2015.01.24
MacAddress Fetch  (0) 2015.01.24
  1. 왕초보 2017.05.15 00:40 신고

    오토쿨에서 강의 해주신것으로 공부를 하였습니다.
    이곳이 집이셨네요.....
    좋은만 있으세요

  2. 왕초보 2017.05.15 13:24 신고

    아래처럼 활용을 하였습니다...좋은 지식을 베풀어 주셔서 감사합니다

    (테스트) 오토핫키로된 IFW Lite 1.0 백업,복구 프로그램입니다

    http://windowsforum.kr/review/8623399

+ Recent posts