为了能更加精确的统计,在鼠标键盘里程计这个软件设计的时候,需要实现开机自动运行。
在Windows平台下,利用注册表来实现。示例代码如下:
int __fastcall TForm1::AutoRunCheck(bool value)
{
int ret = 0;
TRegistry * Reg = new TRegistry;
AnsiString keyval="\"" ParamStr(0) "\"";
AnsiString key1="Software\\Microsoft\\Windows\\CurrentVersion\\Run\\";
Reg->RootKey=HKEY_CURRENT_USER;
if( !Reg->OpenKey(key1,false))
{
//Show msg
}else
{
if(value)
{
AnsiString curvalstr = Reg->ReadString("MYAPP");
if(curvalstr!=keyval)
Reg->WriteString("MYAPP",keyval);
Reg->CloseKey();
ret = 1;
}else
{
if(Reg->DeleteValue("MYAPP"))
ret = 1;
}
}
delete Reg;
return ret;
}
以上代码在WinXP BCB6.0编译通过,记得在加上 #include <Registry.hpp>