你在MSDN中查一下RegCreateKeyEx、RegOpenKeyEx、RegCloseKey和RegSetValueEx,如果还看不懂,再来这里问,我说详细点。

解决方案 »

  1.   

    随便在Windows目录里串行一个文件,加个属性,想藏什么都行。
      

  2.   

    to: zf925(天下哪来那么多高手) 
       给个例子好吗?
        [email protected]
      

  3.   

    to:anubis_cn() 
         我只是取首次安装的时间,可以吗?拜托讲清楚一点好吗?
        最好给发个例子!
        [email protected]
      

  4.   

    当初我是这么搞的:
    程序启动时,先检测注册表中是否存在一个特殊的表项,我们暂且称之为firsttime,如果没有这个表项,说明程序是首次运行,此时创建firsttime表项,并将它的值定为当前的时间;如果有这个表项,则读出它的值,这个值就是程序首次运行的时间.当然,firsttime最好放在注册表隐秘的地方,以防别人随便改.
    你也可以这么搞:一般安装程序都要创建目录,你查一下这个目录的创建时间,不就知道安装时间了吗?
    关于注册表操作,这里贴个例子.
    这是读注册表的:
    DWORD   PathLength=400,
    ValueType;
    HKEY    hkResult;
             CHAR    szVALUE[400]
    RegOpenKeyEx(HKEY_LOCAL_MACHINE,  //打开记录键
    "Software\\YourCompany\\YourKey",
    0,
    KEY_ALL_ACCESS,
    &hkResult);
    RegQueryValueEx(hkResult,          
    "YourItem",
    NULL,
    &ValueType,//REG_SZ,
    (BYTE*)szVALUE,
    &PathLength);
             RegCloseKey(hkResult);             //关闭键这是写注册表的:
    来不及了,下回再告诉你吧,领导催我开会啦
      

  5.   

    接着说写注册表的方法:
    if(RegOpenKeyEx(HKEY_LOCAL_MACHINE,                    //试图打开一个键
    "Software\\Your Comapny\\YouKey",
    0,
    KEY_ALL_ACCESS,
    &hkResult)!=ERROR_SUCCESS)
    {
    RegCreateKeyEx(HKEY_LOCAL_MACHINE,      //如果打开失败,则创建它
    TEXT("Software\\Your Company\\YourKey"),
    0,
    NULL,
    0,
    0,
    NULL,
    &hkResult,
    result);
    }
    if(hkResult!=NULL)        //如果创建成功了
    {
    RegSetValueEx(hkResult,          //则可以记录键值了
    "YourItemName",
    0,REG_SZ,
    (BYTE*)YourItemValue,sizeof(YourItemValue)+1);
    RegCloseKey(hkResult);           //关闭键
              }