例如现在已经编写一个软件,但是只想让它运行三次,也就是运行三次后,就不能再运行了,请问如何实现?
方法一:
可以在注册表中写个隐蔽的字段!代码如下:
最好添加在BOOL CYourApp::InitInstance()中
/
CRegKey hKey;
if(hKey.Create(HKEY_LOCAL_MACHINE,"SOFTWARE//MICROSOFT//WINDOWS//CURRENTVERSION") == ERROR_SUCCESS)
{
BOOL bWrite = TRUE;
TCHAR scTemp[_MAX_PATH];
DWORD dwCount = sizeof(scTemp);
if(hKey.QueryValue(scTemp,"SystemVctmp",&dwCount) == ERROR_SUCCESS)
{
if(atoi(scTemp)>3){
// MessageBox(NULL,"试用版到期!","提示",MB_OK);
// abort();
}else{
int nTime = atoi(scTemp);
nTime = nTime + 1;
CString str;
str.Format("%d",nTime);
hKey.SetValue(str,"SystemVctmp");
bWrite = FALSE;
}
}
if(bWrite)
hKey.SetValue("1","SystemVctmp");
hKey.Close();
}
我以前好象看过什么书上写的,就是EXE文件自己读自己。可以用来加密的。因为EXE 文件形成后,一见得每个地址都是有用的,你可以将一些你要的信息写进去,因为EXE 用不到这段代码,不会影响程序运行。而且程序大小上看不出来