컴퓨터 프로그래밍/Autohotkey

오토핫키를 이용한 프로그램 인증 시스템 (DriveGet 드라이브 시리얼 코드 확인/ urldownloadtofile 파일 다운로드/ fileread 파일 읽기)

나노콛 2019. 8. 19. 18:05

제가 기존에 이용하고 현재에도 쓰고 있는 인증 시스템입니다.

일단 구조는 이러하지만! 많이 개발될 여지가 있고 또 더 좋은 방법이 있을 수 있습니다 ^^;

여기에서 논하는 인증 시스템이란 이렇습니다.
프로그램을 이용하기 위해서 등록된 사람만 이용이 가능하게끔 하는 시스템을 말합니다.

 

DriveGet, hdd,serial,c:\

//C드라이브의 시리얼을 변수 hdd에 담는다.

 

시리얼이라 해봤자 이 함수에서 쓰는 시리얼은 조금 다릅니다.
드라이브의 실제 일련번호는 아니고 포맷하면 시리얼이 변경이 됩니다.
(그래서 조금은 덜 찝찝하다고 봅니다.)

드라이브 명은 다른 걸로 변경해도 다 됩니다.

그리고 제가 썼던 방법은 웹사이트(ftp나 무료 호스팅)에 DriveGet를 이용한 사용자의 시리얼을 미리 받고 업로드합니다.

 

urldownloadtofile,[다운받을 주소], [다운받은 파일을 저장할 파일명]

//웹에서 파일을 다운로드 한다.

 

예제

urldownloadtofile,http://nanocode.com/사용자1.txt, 사용자1.txt
// http://nanocode.com/사용자1.txt를 다운받아 사용자1.txt파일명으로 저장

fileread,user1, 사용자1.txt
// 사용자1.txt파일의 내용을 읽어서 user1에 저장

이렇게 하면 user1에 사용자1.txt 내용이 저장되어 있겠죠
저장된 내용은 사용자 1의 c 드라이브 시리얼 번호입니다.

 

if (hdd=user1){
 nick:="나노콛"
 MsgBox, %nick%님 어서오세요
	goto start
}
else
MsgBox, 인증되지 않으셨습니다.`n프로그램이 종료됩니다.
ExitApp

/*hdd에 프로그램 이용하려는 사람의 c:\ 시리얼과 
웹에서 받은 등록된 사용자1의 c:\시리얼코드가 같으면
nick 변수에 나노콛이라고 저장하고
메시지 박스로 나노콛님 어서오세요 라고 출력하고
start 레이블이 있는곳으로 점프한다!*/

//다르면 인증되지 않았다고 메시지 박스를 띄우고 프로그램을 종료시킨다.

 

전체적인 소스 코드는 이렇게 진행됩니다.

// 사전에 프로그램 이용자의 c:\ 시리얼코드를 웹에 업로드 했음.

// 인증 프로그램 예제
DriveGet, hdd, serial, c:\

urldownloadtofile, http://nanocode.com/나노콛.txt, 나노콛.txt
fileread, user1, 나노콛.txt

if (hdd=user1){
 nick:="나노콛"
 MsgBox, %nick%님 어서오세요
	goto start
}
else
MsgBox, 인증되지 않으셨습니다.`n프로그램이 종료됩니다.
ExitApp



start:
Gui, Show, x100, y100, h100, w100, 나노콛의 인증 시스템
... 생략
728x90