点击这里给我发消息 点击这里给我发消息

修改注册表使程序随系统启动自动运行

添加时间:2013-12-7
    相关阅读: 程序 Windows DW C语言 系统
   在注册表分支HKEY_LOCAL_MACHINE\\\\SOFTWARE\\\\Microsoft\\\\Windows\\\\CurrentVersion\\\\Run下建立一个字符串String型子键,名字不要重复就可以

,其内容为你想在启动时运行的程序全路径。这样就会自动在启动时运行。
  HKEY   hKEY;   
  CString   KeyTree = \\\"SOFTWARE\\\\\\\\Microsoft\\\\\\\\Windows\\\\\\\\CurrentVersion\\\\\\\\Run\\\"; //主鍵   
  CString   MainKey=\\\"KillWindow\\\";                   //子键   
  CString   NewData=\\\"要启动文件名\\\";               //子键新值   
  long ret0=(::RegOpenKeyEx(HKEY_LOCAL_MACHINE,KeyTree,0,KEY_WRITE,&hKEY));   
  if(ret0!=ERROR_SUCCESS)   
  {   
    AfxMessageBox(\\\"error\\\");   
    return;   
  }   
  LPBYTE   Data=CStringToLPBYTE(NewData);     
  DWORD   DataSize=NewData.GetLength()+1;   
  DWORD   type=REG_SZ;   
   long   ret1=::RegSetValueEx(hKEY,MainKey,NULL,type,Data,DataSize);   
  if(ret1!=ERROR_SUCCESS)   
  {   
    AfxMessageBox(\\\"设置自动运行错误!\\\");   
    return;   
  }   
  delete   Data;   
  ::RegCloseKey(hKEY);

为什么要用C语言写注册表?C语言没有这样的函数啊!   
int   CreateRun(void)//修改注册表,自动运行程序   
{   
   HKEY hKey;  
   char WinExe[256];//执行文件自己的路径   
   char xePath[256];   
   int i;   
   char *pbuf;   
   pbuf=GetCommandLine();   
   
   strcpy(WinExe,pbuf+1);   
   for(i=(int)strlen(WinExe);i>=0;i--)   
   {   
      if(WinExe==\\’\\\"\\’)   
      {    [Page]
         WinExe = 0;   
         i = -10000;   
      }   
   }      
   
   //   get   running   path   
   strcpy(ExePath,WinExe);   
   for(i=(int)strlen(WinExe);i>=0;i--)   
   {   
      if(WinExe==\\’\\\\\\\\\\’)   
      {   
          ExePath[i+1] = 0;   
          i = -10000;   
      }   
   }  
    
   if(RegOpenKeyEx(HKEY_LOCAL_MACHINE,\\\"SOFTWARE\\\\\\\\Microsoft\\\\\\\\Windows\\\\\\\\CurrentVersion\\\\\\\\Run\\\"
         ,0,KEY_WRITE, &hKey)!=ERROR_SUCCESS)  
            return   -1;   
   if(RegSetValueEx(hKey,\\\"Five32\\\",0,REG_SZ,(const unsigned char *)WinExe,strlen(pval)+1)!=ERROR_SUCCESS)   
   {   
       RegCloseKey(hKey);   
       return -1;   
   }   
   RegCloseKey(hKey);   
   return   0;   
相关修改注册表使程序随系统启动自动运行

咨询热线:020-85648757 85648755 85648616 0755-27912581 客服:020-85648756 0755-27912581 业务传真:020-32579052
广州市网景网络科技有限公司 Copyright◎2003-2008 Veelink.com. All Rights Reserved.
广州商务地址:广东省广州市黄埔大道中203号(海景园区)海景花园C栋501室
= 深圳商务地址:深圳市宝源路华丰宝源大厦606
研发中心:广东广州市天河软件园海景园区 粤ICP备05103322号 工商注册