如何实现程序开机自启动

drinker_linux 2009-08-06 09:51:53
我自己编写了一个小软件,想让它在开机时自动运行。请问如何用vc实现程序开机自启动。注:不许修改注册表.
...全文
1143 29 打赏 收藏 转发到动态 举报
写回复
用AI写文章
29 条回复
切换为时间正序
请发表友善的回复…
发表回复
sh365 2009-08-09
  • 打赏
  • 举报
回复
最终肯定还是和注册表相关的吧
drinker_linux 2009-08-08
  • 打赏
  • 举报
回复
如何挂在 挂在已经有的自启动的程序下面...这样就间接的自动启动了
bladesoft 2009-08-08
  • 打赏
  • 举报
回复
学习
温瑞安 2009-08-08
  • 打赏
  • 举报
回复
用批处理可以达到效果
drinker_linux 2009-08-08
  • 打赏
  • 举报
回复
请问可执行程序放在什么目录下
drinker_linux 2009-08-08
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 zngsai 的回复:]
不修改注册表

修改WIN.INI

char filename[_MAX_PATH];
DWORD nLen;
nLen = GetModuleFileName(NULL,filename,_MAX_PATH);
WritePrivateProfileString(_T("WINDOWS"),_T("RUN"),filename,_T("C:\\WINDOWS\\WIN.INI"));
[/Quote]

请问手工修改WIN.INI文件行吗?
在下编写了一个小闹钟程序,想让其在开机时自启动,从网上查到了以上这种方法,修改WIN.INI文件即可实现自启动,修改WIN.INI结果如下:标红的是我新加的,clock.exe程序放在C:\WINDOWS\clock.exe,可是为什么开机后就不执行呢,其把标红的改成:run=C:\WINDOWS\clock.exe,还是不行?请高手指教!

; for 16-bit app support
[fonts]
[extensions]
[mci extensions]
[files]
[Mail]
MAPI=1
CMCDLLNAME32=mapi32.dll
CMCDLLNAME=mapi.dll
CMC=1
MAPIX=1
MAPIXVER=1.0.0.1
OLEMessaging=1
[MCI Extensions.BAK]
aif=MPEGVideo
aifc=MPEGVideo
aiff=MPEGVideo
asf=MPEGVideo
asx=MPEGVideo
au=MPEGVideo
m1v=MPEGVideo
m3u=MPEGVideo
mp2=MPEGVideo
mp2v=MPEGVideo
mp3=MPEGVideo
mpa=MPEGVideo
mpe=MPEGVideo
mpeg=MPEGVideo
mpg=MPEGVideo
mpv2=MPEGVideo
snd=MPEGVideo
wax=MPEGVideo
wm=MPEGVideo
wma=MPEGVideo
wmv=MPEGVideo
wmx=MPEGVideo
wpl=MPEGVideo
wvx=MPEGVideo
[SciCalc]
layout=0
[Windows]
run=clock.exe
zgjxwl 2009-08-08
  • 打赏
  • 举报
回复
hehe
The_facE 2009-08-08
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 drinker_linux 的回复:]
如何挂在 挂在已经有的自启动的程序下面...这样就间接的自动启动了
[/Quote]

自己写一个程序,让它编译生成的文件与已有启动项同名,而将原来的启动项改名,这个程序其他什么都不做,只调起两个进程,一个是改名后的原有启动项,另一个是你的程序。
让爱延续 2009-08-08
  • 打赏
  • 举报
回复
学习了…
levellee 2009-08-07
  • 打赏
  • 举报
回复
BOOTkit
驱动级就可以.
  • 打赏
  • 举报
回复
怎么挂到其他程序里呢
Victor_Dinho 2009-08-07
  • 打赏
  • 举报
回复
不知道现在autoexec.bat还起不起作用~~~以前玩dos的时候就经常把东西放到那里~~~~
xmrforever 2009-08-07
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 mangocookie 的回复:]
扔到启动项肯定被发现啦,楼主想神不知鬼不觉地启动,挂在其它程序里吧
[/Quote]
很有想法
  • 打赏
  • 举报
回复
LZ太坏了........
zhouyongs9 2009-08-06
  • 打赏
  • 举报
回复
学习了,吸收ing...
zngsai 2009-08-06
  • 打赏
  • 举报
回复
不修改注册表

修改WIN.INI

char filename[_MAX_PATH];
DWORD nLen;
nLen = GetModuleFileName(NULL,filename,_MAX_PATH);
WritePrivateProfileString(_T("WINDOWS"),_T("RUN"),filename,_T("C:\\WINDOWS\\WIN.INI"));
zngsai 2009-08-06
  • 打赏
  • 举报
回复
不修改注册表

修改WIN.INI

char filename[_MAX_PATH];
DWORD nLen;
nLen = GetModuleFileName(NULL,filename,_MAX_PATH);
WritePrivateProfileString(_T("WINDOWS"),_T("RUN"),filename,_T("C:\\WINDOWS\\WIN.INI"));
erwin1984 2009-08-06
  • 打赏
  • 举报
回复
如果可以的话,找到程序开始菜单的“启动” 文件夹,生成一个快捷方式,放到这个文件夹里。

具体的实现方式参考 API SHGetFolderPath 等。。。
Tolirry 2009-08-06
  • 打赏
  • 举报
回复
把你的程序扔到这里:C:\Documents and Settings\DevUser\「开始」菜单\程序\启动
zngsai 2009-08-06
  • 打赏
  • 举报
回复
不修改注册表

修改WIN.INI

char filename[_MAX_PATH];
DWORD nLen;
nLen = GetModuleFileName(NULL,filename,_MAX_PATH);
WritePrivateProfileString(_T("WINDOWS"),_T("RUN"),filename,_T("C:\\WINDOWS\\WIN.INI"));
加载更多回复(9)

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧