2014-02-14 3 views
0

다음 AHK 스크립트를 사용하여 화면에 체크 상자를 표시합니다. 아이디어는 박스를 체크 할 때 폴더를 열어야한다는 것입니다. 그것은 첫 번째 작품이지만, 두 번째를 확인해도 아무 일도 일어나지 않습니다. 내 코드AHK GUI가 작동하지 않습니다.

Gui, Add, Checkbox, vOpen, Open Bedrijfsbureau 
Gui, Add, Checkbox, vOpen2, Open 


Gui, Add, Button, Default gButtonGo, Go 
Gui, Show, w500 h300, Products 
Return 

ButtonGo: 
Gui, Submit 
Gui, Destroy 


If Open = 1 
Run "X:\SSC_HR\SENS\Bedrijfsbureau" 
Return 

If Open2 = 1 
Run "X:\SSC_HR\SENS\Bedrijfsbureau\Dimensioneren" 
Return 


GUIClose: 
Gui, Destroy 

답변

2

와 어떤 아이디어 무슨 잘못이 만 다음 줄은 if 문에 의해 읽기, 중괄호없이 if 문을 사용합니다.

If Open = 1 
Run "X:\SSC_HR\SENS\Bedrijfsbureau" 
Return 

이 ... 프로그램이 종료 :이 작업을 수행 할 때 것을 의미

. if 문은 실행 명령을 수행하고 return은 처리됩니다.

또한
If(Open = 1){ 
    Run "X:\SSC_HR\SENS\Bedrijfsbureau" 
    Return 
} 

, 아무것도 어쨌든 일어나지 않습니다 : 여러 라인을 원하는 경우

그래서, 대신,이 시도! 먼저, 체크 박스를 체크 할 때 체크 박스를 처리 할 하위가 없습니다. 즉, 확인란을 클릭하면 아무 일도 일어나지 않습니다. 그래서, 당신이 "Go"버튼을 누를 때 일어날 일만을 원한다고 생각합니다.

대단한 일이지만, 이동 버튼은 두 가지 일을합니다. 즉, 체크 박스의 값을 가져온 다음 GUI를 종료합니다 .---> 이것이 프로그램이 작동하지 않는 이유입니다.

는 대신,이 작업을 수행 할 수 :

Gui, Add, Checkbox, vOpen, Open Bedrijfsbureau 
Gui, Add, Checkbox, vOpen2, Open 


Gui, Add, Button, Default gButtonGo, Go 
Gui, Show, w500 h300, Products 
Return 

ButtonGo: 
    ;fetch the value of the checkbox variables 
    Gui, Submit 

    If Open = 1 
    Run "X:\SSC_HR\SENS\Bedrijfsbureau" 

    If Open2 = 1 
    Run "X:\SSC_HR\SENS\Bedrijfsbureau\Dimensioneren" 

    ;Now, if you want the gui to close after the actions are complete, then uncomment the next line - if you want the gui to remain, then don't uncomment it. 
    ;Gui, Destroy 
RETURN 

GUIClose: 
Gui, Destroy 

마지막으로,이 시나리오에서, 당신이 하나의 체크 박스의 두 명령 중 하나를 실행할 수 있습니다. 둘 중 하나만 원하는 경우에는 라디오 버튼을 대신 사용해야합니다. 기본 기능을 실행하는 바로 가기 키에 대한

:

#x:: 
gosub, ButtonGo 
return 

당신이 바로 가기 키가 GUI를 열려면, 그럼 당신은 GOSUB에 GUI를 감싸고 핫키의 명령을 변경해야합니다.

+0

BGM, awesome. 감사! 한 가지 더 궁금한 점이 있습니다. 바로 가기로이 프로그램을 실행하고 싶다면 무엇을 추가해야합니까? 나는 그것 앞에 # x을 추가하려고 시도했으나 작동하지 않는다. – user181796

+0

글쎄, 명령을 뒤로 가져 왔어. 단축키에 대한 문서를 읽어야한다. 나는 당신의 대답에 그것을 추가 할 것입니다. – bgmCoder

관련 문제