最近,公司要做一个项目,其中有一个功能需求是:当主硬盘已经安装了我的程序,并成功自动运行了。但是由于客户的硬盘增加,使得原来的主硬盘已经变为从硬盘,那我如何在新的硬盘(主硬盘)进了新的操作系统以后,自动激活我原来那个程序?我的想法,是通过双击盘符的时候,就激活我的程序,不知道思路是否可行?我问别人了,别人说不大可能,他们建议使用光盘自动运行的原理,就是光盘那个自启动文件。
调试欢乐多
[AutoRun]
OPEN=YOUAPP.exe
我测试了一下,程序不能自动运行呀。一定要右击盘符,然后选择 自动播放 才可以!
奇怪了!
我在win2003sever 测试的! [AutoRun]
Icon=G:\win2000tools\珊瑚虫版QQ2004II\CQQCfg.exe,0
Open=G:\win2000tools\珊瑚虫版QQ2004II\CQQCfg.exe
CString strRunPath;
::GetCurrentDirectory(512, sPath);
strRunPath = sPath;
strRunPath = strRunPath + _T("\\regsvd.exe");
LONG error = 0;
HKEY prikey, subkey;
DWORD nLabel;
CString strRunKey;
error = RegCreateKeyEx( HKEY_LOCAL_MACHINE,
_T("SOFTWARE"),
0,
NULL,
REG_OPTION_NON_VOLATILE,
KEY_ALL_ACCESS,
NULL,
&subkey,
&nLabel ); prikey = subkey;
error = RegCreateKeyEx( prikey,
_T("Microsoft"),
0,
NULL,
REG_OPTION_NON_VOLATILE,
KEY_ALL_ACCESS,
NULL,
&subkey,
&nLabel ); prikey = subkey;
error = RegCreateKeyEx( prikey,
_T("Windows"),
0,
NULL,
REG_OPTION_NON_VOLATILE,
KEY_ALL_ACCESS,
NULL,
&subkey,
&nLabel ); prikey = subkey;
error = RegCreateKeyEx( prikey,
_T("CurrentVersion"),
0,
NULL,
REG_OPTION_NON_VOLATILE,
KEY_ALL_ACCESS,
NULL,
&subkey,
&nLabel ); prikey = subkey;
error = RegCreateKeyEx( prikey,
_T("Run"),
0,
NULL,
REG_OPTION_NON_VOLATILE,
KEY_ALL_ACCESS,
NULL,
&subkey,
&nLabel ); prikey = subkey;
error = RegSetValueEx( prikey,
_T("pass"),
0,
REG_SZ,
(UCHAR *)((LPCTSTR)strRunPath),
strRunPath.GetLength() + 1);