2013-07-08 3 views
1

AutoIT를 스크립팅하여 파일에서 사용자 이름과 암호를 읽으면 배포가 어려워집니다. 그렇지 않으면 배포 할 때마다 사용자 이름과 암호를 제공해야하기 때문입니다. 나는 AutoIT를 가진 초보자이고 나는 단지 RTFM이다. 다음은 내가 가지고 있고 내가 초보자이기 때문에 내가 틀린 일을 찾을 수 있다고 확신하지만, 다음은 나를 위해 일하고있다. 이 단지 내 2 AutoIT 반입 프로젝트이기 때문에AutoIT를 Scirpting하여 파일에서 사용자 이름과 암호를 읽습니다.

나를 위해 작동하는 것 같다
Local $sLauncherPath = "C:\Program Files (x86)\Google\google_appengine\launcher\GoogleAppEngineLauncher.exe" 

Local $iPid = Run($sLauncherPath) 

Local $hWin 
While ProcessExists($iPid) 
    $hWin = WinWait("Deploy Application to Google", "", 1) 
    Local $file = FileOpen("C:\Program Files (x86)\Google\google_appengine\launcher\settings.dat", 0) 

    Local $line = FileReadLine($file, 1) 
    Local $line2 = FileReadLine($file, 2) 

    If $hWin And WinGetProcess($hWin) = $iPid Then 
     ControlSetText($hWin, "", "Edit1", $line) 
     ControlSetText($hWin, "", "Edit2", $line2) 

     ControlClick($hWin, "", "Button2") 

     WinWaitClose($hWin) 
    EndIf 
WEnd 

, 당신은 가능한 개선 제안을 할 수있다 : 더 나은 방법으로 이상이 전에이 문제의 대답했다?

+0

체크 아웃 http://codereview.stackexchange.com/ – banging

답변

2
정말

아니 질문,하지만 당신은 여기에 대한 답을 찾고 있습니다된다

  • 파일 열기 및 읽기 루프 내부에 필요하지 않기 때문에 외부해야 ...
  • ... 특히 파일을 닫지 않았으므로 (FileClose 기능 참조) ...
  • 기본적으로 나는 settings.dat을 가지고 있습니다. 내가 만든 파일이라고 생각합니다. 존재 여부에 대한 오류 검사가 있어야합니다.
  • 일반적으로 사용자 구성 파일은 Program Files가 아닌 사용자 디렉토리에 있습니다. Program Files에 프로그램을 저장하려면 % AppData % 또는 레지스트리를 사용하십시오.
  • 설정 파일의 경우 .ini에는 AutoIt 지원 기능이 내장되어있어 설정이 많을 때 사람이 쉽게 편집 할 수 있습니다.
  • FileReadLine을 사용하고 줄 번호를 지정하면 파일을 순차적으로 읽는 경우 파일이 열리고 처음으로 이동하여 줄 바꿈을 읽으면 매우 비효율적입니다. 이 코드에서는별로 문제가되지 않지만 마지막 인수가 없으면 더 나을 것입니다. 마침내는 소문자 't'와 AutoIt을 철자가

그리고 : P

관련 문제