|
홍지곤 님이 쓰신 글 :
: : 레지스트리에 처음 인스톨할 때 인스톨한 날짜를 써 놓구요.
: : 사용할때 마다 날짜가 얼마나 흘렀는지 Check하는 방법을 말하는것 같은데요.
: : 평가판 프로그램을 사용할때 이런 방법을 많이 쓰죠.
: : 그런데 이건 다른 컴퓨터에 옮기거나, 복사해서 사용하는 걸 막을 수는 없을 것 같아요.
: :
: : 사용하실때는 TRegistry를 참고해서 사용하시면 될것 같아요.
: :
: : 그람...
:
:
: 먼저 답변주셔서 감사합니다~~
: 악동님이 원하는시는 것은 제니시스사의 rainbow라는 것이
: 좋을 것 같습니당~~그냥 제 생각임당~~ 한번 데모 받아봤는데여....
: 괜찮을 것 같더군요..락을 여러가지로 걸 수 있더 군여
:
: 아참!!
: 제가 프로그램 초보라서...
: 악동님의 TRegistry를 참고하라고 했는데요!!
: 근데영...이걸 어떻게 써먹는지(프로그램 해야될지) 잘 몰겠어요...
: 죄송하지만, 악동님이 아시는 방법을 자세히 좀
: 갈켜주세요~~~
: 아님 참고서적이라던지,,관련사이트도 괜찮습니당~~~
: 그럼...즐프하시구여~~~
안그래도 제니시스 홈에 가서 도움을 많이 얻었습니다.
감사합니다.
TRegistry는요, 물론 프로그램 해야 하는데요.
혹시 델파이 프로그래밍 바이블 가지고 계시면 참고하시면 되구요.
없으시다면 간단하게 써보겠습니다.
제가 원래 두서가 없는 넘이라서 양해를 .....
TRegistry *Reg = new TRegistry;
TDateTime orgTime,nowTime=TDateTime::CurrentDate();
Reg->RootKey = HKEY_CURRENT_USER;
//프로그램을 처음 실행하면 관련 key를 registry에 새로이 생성하게 됩니다.
//key의 name은 적절히 선택하시고,
//그 key value의 값은 현재의 날짜를 읽어서 써 넣습니다.
if (!Reg->OpenKey("\\Software\\MySoft\\InstallDate", true) )
{
Reg->CreateKey("\\Software\\MySoft\\InstallDate");
Reg->OpenKey("\\Software\\MySoft\\InstallDate", true)
Reg->WriteDate(nowTime);
orgTime=nowTime;
}
//key가 이미 존재하는 경우에는 프로그램을 한번 이상 실행시킨 경우 입니다.
//install당시의 날짜 데이터를 읽어옵니다.
else
{
orgTime=Reg->ReadDate();
}
Reg->CloseKey();
//이값이 install을 한후 흘러간 날짜 입니다.
int passedDate=nowTime-orgTime;
//WriteInteger(), ReadInteger() 등을 이용하여 실행 횟수를 제한하기도 합니다.
****** 도움이 되실려나 모르겠습니다.
****** 그럼...
|