C語言實(shí)現(xiàn)程序開機(jī)自啟動(dòng)
更新時(shí)間:2016年01月02日 13:53:25 投稿:hebedich
本文給大家分享的是一則C語言實(shí)現(xiàn)開機(jī)自啟動(dòng)的代碼,主要是通過C來獲取程序路徑修改注冊(cè)表項(xiàng)來實(shí)現(xiàn),有需要的小伙伴可以參考下
程序比較簡(jiǎn)單,用到了C語言獲得自身路徑和系統(tǒng)路徑,修改注冊(cè)表項(xiàng)等,某些函數(shù)不理解可以查看MSDN
#include<stdio.h>
#include<windows.h>
char *GetFilename(char *p) //得到一個(gè)路徑的純文件名
{
int x=strlen(p);
char ch='\\';
char *q=strrchr(p,ch);
return q;
}
int main()
{
char *filepath;
char modlepath[256];
char syspath[256];
//打開酷狗應(yīng)用
filepath="C:\\Program^ Files\\KuGou\\KGMusic\\KuGou.exe";
system(filepath);
//將程序移動(dòng)到系統(tǒng)目錄下
GetModuleFileName(0,modlepath,256); //獲得自身路徑
GetSystemDirectory(syspath,256); //得到系統(tǒng)路徑
int ret=CopyFile(modlepath,strcat(syspath,GetFilename(modlepath)),1);//復(fù)制,CopyFile的第二個(gè)參數(shù)是目標(biāo)文件名
if(ret)
{
printf("%s has been copyed to sys dir %s\n",modlepath,syspath);
}
else
{
printf("%s is exists",modlepath);
}
//程序添加開機(jī)自啟動(dòng)
char regname[]="Software\\Microsoft\\Windows\\CurrentVersion\\Run";
HKEY hKey;
ret=RegOpenKey(HKEY_LOCAL_MACHINE,regname,&hKey); //打開注冊(cè)表鍵
ret=RegSetValueEx(hKey,"MyProm",0,REG_EXPAND_SZ,(unsigned char*)strcat(syspath,GetFilename(modlepath)),25); //設(shè)置鍵值
if(ret==0)
{
printf("succes to write run key.\n");
RegCloseKey(hKey);
}
else
{
printf("failed to open regedit.%d\n",ret);
return 0;
}
return 0;
}
相關(guān)文章
C++實(shí)現(xiàn)LeetCode(108.將有序數(shù)組轉(zhuǎn)為二叉搜索樹)
這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(108.將有序數(shù)組轉(zhuǎn)為二叉搜索樹),本篇文章通過簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-07-07
C++中rapidjson組裝繼續(xù)簡(jiǎn)化的方法
今天小編就為大家分享一篇關(guān)于C++中rapidjson組裝繼續(xù)簡(jiǎn)化的方法,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-04-04
用while判斷輸入的數(shù)字是否回文數(shù)的簡(jiǎn)單實(shí)現(xiàn)
這篇文章主要介紹了用while判斷輸入的數(shù)字是否回文數(shù)的簡(jiǎn)單實(shí)現(xiàn),需要的朋友可以參考下2014-02-02
如何在C++中實(shí)現(xiàn)一個(gè)正確的時(shí)間循環(huán)器詳解
這篇文章主要給大家介紹了關(guān)于如何在C++中實(shí)現(xiàn)一個(gè)正確的時(shí)間循環(huán)器的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10
C++基礎(chǔ)入門教程(九):函數(shù)指針之回調(diào)
這篇文章主要介紹了C++基礎(chǔ)入門教程(九):函數(shù)指針之回調(diào),本文講解了函數(shù)的地址、聲明函數(shù)指針、歷史原因、typedef挽救復(fù)雜的函數(shù)指針等內(nèi)容,需要的朋友可以參考下2014-11-11
Mac OS上搭建Apache+PHP+MySQL開發(fā)環(huán)境的詳細(xì)教程
這篇文章主要介紹了Mac OS上搭建Apache+PHP+MySQL開發(fā)環(huán)境的詳細(xì)教程,包括常見的PHP連接MySQL失敗問題的解決辦法,需要的朋友可以參考下2016-01-01

