好象是通过在注册表中加入键来实现的.
请问具体如何实现?包括加入自动运行和取消自动运行的功能.
也就是插入注册表及删除注册表键值。望能给出代码段,谢谢!

解决方案 »

  1.   

    注册表中HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run 下记载了自动运行的键,自己写代码加进去要自动运行的东西就可以了。
      

  2.   

    //将应用程序路径加载到注册表相应位置 //定义所需要的变量
    HKEY hKey;可执行文件的路径
    CString sKeyName;
             CString m_strFileName;//可执行文件的路径(全名) unsigned char szFilePath[100]; //打开注册表
    LONG lnRes = RegOpenKeyEx( 
    //要打开的目录在HKEY_LOCAL_MACHINE下
      HKEY_LOCAL_MACHINE,  
    //子目录
    "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", 
    //必须取0
    0L,
    //KEY_WRITE是STANDARD_RIGHTS_WRITE, KEY_SET_VALUE, 
    //和 KEY_CREATE_SUB_KEY 访问权限的组合
    KEY_WRITE,
    &hKey      
    ); 
    lstrcpy( (char *) szFilePath , LPCTSTR(m_strFileName) ); //假如RegOpenKeyEx成功,返回值为ERROR_SUCCESS
    if( ERROR_SUCCESS == lnRes )
    {
    //把应用程序路径加入到RUN键下面
    lnRes = RegSetValueEx(hKey,
    LPCTSTR( sKeyName ),   
    0,      
    REG_SZ,    
    szFilePath,   //value data
    REG_SZ ); 
    //假如RegSetValueEx成功,返回值为ERROR_SUCCESS
    if( ERROR_SUCCESS == lnRes )
    AfxMessageBox("已经成功加载此应用程序!");
    else
    AfxMessageBox("不能加载此应用程序!");
    }
    else
    {
    AfxMessageBox("不能加载此应用程序!");
    }//删除类似,用RegDeleteValue,RegDeleteKey删除键值和键就可以拉。
      

  3.   

    自动的化就写入键值HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run 
    取消就删除键值
      

  4.   

    读写注册表,加入到启动菜单,作为services自动运行,都可以
      

  5.   

    到codeproject上下载现成的Registry操作类就可以用