posted by 범벙이 2012. 9. 27. 20:02

프로그램 시작시 나오는 알림창 끄기.....

 

#NoTrayIcon
run(@ScriptDir&'\Program Files\RegEditer.exe')
winwait('Kugle RegEditer','안녕하세요.')
If Not Winactive ('Kugle RegEditer','나중에 등록(&L)') Then
    Winactivate ('Kugle RegEditer','나중에 등록(&L)')
EndIf
WinWaitActive ('Kugle RegEditer','나중에 등록(&L)')
SendKeepActive('Kugle RegEditer','나중에 등록(&L)')
send('!L',1)
    
winwait('Kugle RegEditer','안녕하세요.')
If Not Winactive ('Kugle RegEditer','나중에 등록(&L)') Then
    Winactivate ('Kugle RegEditer','나중에 등록(&L)')
EndIf
WinWaitActive ('Kugle RegEditer','나중에 등록(&L)')
SendKeepActive('Kugle RegEditer','나중에 등록(&L)')
send('!L',1)


창 종료시 프로그램이 종료 되지 않을때..

좀더 간결하게..

Run(@ScriptDir&'\Program Files\RegEditer.exe')
winwait('Kugle RegEditer','안녕하세요.')
WinClose('Kugle RegEditer','안녕하세요.')
winwait('Kugle RegEditer','안녕하세요.')
WinClose('Kugle RegEditer','안녕하세요.')


 

posted by 범벙이 2012. 9. 17. 09:23

배치파일을 오토잇으로 구현 해 봤습니다..

오토잇 소스도 같이 올려 드리니 수정해서 사용 하세요..

파일은 따로 필요없고 링크만 추가 하시면 됍니다..

악성코드 광고 프로그램 언인스톨 CP_2.7.exe

악성코드 광고 프로그램 언인스톨 CP_2.7.au3

 

posted by 범벙이 2012. 9. 5. 23:03
RegWrite("HKEY_CURRENT_USER\Software\autoit", "autoitKey", "REG_SZ", "jnb")
   RegWrite ; 레지스트 생성..
   autoit      ; autoit 으로 생성될 이름 Software 하위키 밑에 autoit라는 키 가 없다면  autoit키를

                    생성해 줍니다.
    autoitKey ; autoit 의 하위 키
    "REG_SZ" -> 키의 종류를 나타 냅니다. 이 외에도 사용자의 설정에 따라 "이진값","DWORD값"

     등을 설정할 수 있습니다상기 내용은 문자열 값을 생성한다는 내용 입니다.
    jnb  ; autoitKey 안에 생성될 데이터 값.
 RegDelete("HKEY_CURRENT_USER\Software\autoit", "autoitKey ")
       RegDelete ; autoit 이라는 하위 값 autoitKey를 삭제

 

RegDelete("HKEY_CURRENT_USER\Software\autoit")
      RegDelete ; autoit 이라는 하위 값 을 포함한 모든 값 을 삭제..

♣ 레지스트리 값을 읽어와서 메세지 박스로 사용자에게 보여주기

$var = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion", "ProgramFilesDir")
MsgBox(4096, "Program files are in:", $var)

 1. $var -> 이것은 변수를 선언 한 것입니다. 변수의 정의는 "언제든지 변할수 있는 값" 이며
      $var 이라는 변수에는 어떠한 값들을 넣을수 있습니다.
        프로그래밍에 대해서 기초가 없으신 분들은 조금 어려우실 듯 하여 예를 들자면
        1. a = 1, 
        2. 출력해라  
        3. 1  --->, a라는 변수에 1이라는 값을 넣고 a를 출력하면 1이라는 값이 나옵니다.
2. RegRead -> 레지스트리를 읽어라
3. "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion"
     -> 레지스트리를 읽어올 경로명 입니다.
4. "ProgramFilesDir"
      -> "ProgramFilesDir"이라는 키 안의 데이터를 말합니다.
, 일단 여기까지 정리하자면 RegRead                                              "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion"

  경로명에 있는  "ProgramFilesDir" 키 안의 데이터 값을 읽어서 $var 이라는 변수에

   넣으라는 애기 입니다.
5. MsgBox -> 메세지 박스 를 생성해라
6. 4096 -> 이것은 MsgBox 옵션인데 일단 넘어 가겠습니다.

    추후에 MsgBox에 대해 공부하고 자세히 설명해 드리겠습니다.^^;
7. "Program files are in:" -> 메세지 박스의 Title로 제목을 나타냅니다.
8. $var -> 메세지 박스에 보여줄 내용을 나타냅니다.

, 이제 위의 내용을 토탈 정리 하자면 아래와 같습니다.


RegRead"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion"

    경로명에 있는"ProgramFilesDir" 키 안의 데이터 값을 읽어서 $var 이라는 변수에 넣고
    메세지박스 제목이 "Program files are in:" 이고 $var에 저장된 데이터 값을

    메세지박스 내용으로 출력 하라는 내용 입니다.

♣ 레지스트리의 서브 키 값을 불러와 메세지 창을 불러 보기..........

For $i= 1 to 10
    $var = RegEnumKey("HKEY_LOCAL_MACHINE\SOFTWARE", $i)
    If @error <> 0 then ExitLoop
    MsgBox(4096, "SubKey #" & $i & " under HKLM\Software: ", $var)
Next

1. For $i= 1 to 10 -> For문은 반복문 입니다. $i 라는 변수에 1부터 10까지 의 값을 저장 합니다.
2. $var = RegEnumKey("HKEY_LOCAL_MACHINE\SOFTWARE", $i) -> $var이라는 변수에 
  "HKEY_LOCAL_MACHINE\SOFTWARE" 아래 서브키 1부터 10까지의 이름을 불러와

    입력하는 것을 나타 냅니다.
3. If @error <> 0 then ExitLoop -> 0(거짓)을 나타냅니다. <>같지 않다면을 뜻합니다.
       특, 조건이 거짓이 아니라면 해당 반복문을 계속 수행하는 것을 나타 냅니다.
4. MsgBox(4096, "SubKey #" & $i & " under HKLM\Software: ", $var) -> &

     구문을 연결하는 역할을 합니다.
    메세지 박스를 생성해라 제목은 "Subkey # & $i니까 "Subkey # 1" 부터

    "Subkey # 10"까지 나오겠죠
     그리고 또 &로 묶여졌네요, 그래서 전반적인 제목 문자열은 Subkey # 1 under HKLM\Software:

     부터 Subkey # 10 under HKLM\Software: 까지 나오겠네요
     그 다음이 나타낼 문자열인데 $var를 나타내군요 즉, 위에서 해석해 드린 2번 사항을

     문자열로 나타내겠네요

♣ 레지스트리의 서브 키 의 하위 값을 불러와 메세지 창을 불러오기

For $i = 1 to 100
$var = RegEnumVal("HKEY_LOCAL_MACHINE\SOFTWARE\AutoIt v3\Autoit", $i)
if @error <> 0 Then ExitLoop
MsgBox(4096, "Value Name  #" & $i & " under in AutoIt3 key", $var)
next

1. For $i= 1 to 100 -> For문은 반복문 입니다. $i 라는 변수에 1부터 100까지 의 값을 저장 합니다.
2. $var = RegEnumVal("HKEY_LOCAL_MACHINE\SOFTWARE\AutoIt v3\Autoit", $i)

    -> $var이라는 변수에 
    "HKEY_LOCAL_MACHINE\SOFTWARE\AutoIt v3\Autoit"

    서브키 아래 키값을 1부터 100까지의 이름을 불러와 입력하는 것을 나타 냅니다.
3. If @error <> 0 then ExitLoop -> 0(거짓)을 나타냅니다. <>같지 않다면을 뜻합니다.
    특, 조건이 거짓이 아니라면 해당 반복문을 계속 수행하는 것을 나타 냅니다.
4. MsgBox(4096, "Value Name  #" & $i & " under in AutoIt3 key", $var)

     -> &는 구문을 연결하는 역할을 합니다.
   메세지 박스를 생성해라 제목은 "Value Name # & $i니까 "Value Name # 1" 부터

    "Value Name # 100"까지 나오겠죠

  그리고 또 &로 묶여졌네요, 그래서 전반적인 제목 문자열은

  Value Name # 1 under in AutoIt2 key" 부터 Value Name # 100 under in AutoIt2 key 까지 나오겠네요
  그 다음이 나타낼 문자열인데 $var를 나타냄  즉, 위에서 해석해 드린 2번 사항을 문자열로 나타냄.

 


출처 // http://autoit.ip.ne.kr:8000/index.php?mid=lecture&document_srl=5292