正式会员享受无限制浏览网站功能和高速网盘下载,赶快加入本站吧!
您需要 登录 才可以下载或查看,没有账号?立即注册
x
程序开机自动启动
方法有两种:添加到Startup和添加注册表。
添加到注册表很容易实现,Registry下的Registry View里,在HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run\下创建对应的键名和键值就可以,如: Value name:vsnp2uvc
Value data:WINDIR\vsnp2uvc.exe
由于是要添加.cpl文件,得分不同的系统去做不同的调用,所以只能用动态添加注册表的方法。
下面介绍动态脚本添加注册表的方法:
- //----------------------------------------------------
- // Custom_RegDBCreate
- //----------------------------------------------------
- function Custom_RegDBCreate()
- string szLoadProgram, szProgram, szValue;
- begin
- // 针对.cpl文件,xp下和vista/win7下的调用是有所不同的,所以要分脚本实现。
- //==========================================================
- szProgram = TARGETDIR^"Realtek Camera Manager.cpl";
-
- if((SYSINFO.nWinMajor == 6)&&(SYSINFO.nWinMinor >= 0)) then
- szLoadProgram = WINSYSDIR^ "RunLegacyCPLElevated.exe";
- else
- szLoadProgram = WINSYSDIR^ "rundll32.exe";
- endif;
-
- szValue = szLoadProgram + " shell32.dll,Control_RunDll " + """ + szProgram + """;
-
- RegDBSetDefaultRoot(HKEY_LOCAL_MACHINE);
- RegDBCreateKeyEx(REGDB_KEYPATH_RUN,"");
- RegDBSetKeyValueEx(REGDB_KEYPATH_RUN,"Realtek Camera Manager", REGDB_STRING_EXPAND, szValue, -1 );
- //===========================================================================
-
- // 虽然快捷方式运行.cpl用system32下的RunLegacyCPLElevated.exe shell32.dll,Control_RunDll +
- // "程序名" 命令没有问题,可是这里添加到注册表Software\Microsoft\Windows\CurrentVersion\Run\
- // 下后,XP下正常,Win7下重启并没能自动运行,于是想到让其开机后自动运行.bat文件来实现这个功能。
- if((SYSINFO.nWinMajor == 6)&&(SYSINFO.nWinMinor >= 0)) then
- szValue = TARGETDIR^ "AutoRun.bat" ;
- else
- szValue = TARGETDIR^ "AutoRunXP.bat" ;
- endif;
-
- RegDBSetDefaultRoot(HKEY_LOCAL_MACHINE);
- RegDBCreateKeyEx(REGDB_KEYPATH_RUN,"");
- RegDBSetKeyValueEx(REGDB_KEYPATH_RUN, "Realtek Camera Manager", REGDB_STRING, szValue, -1 );
-
- end;
- // 上面函数已完成动态注册表的添加
复制代码
下面附上.bat批处理的实现:
AutoRun.bat的内容:
start "" C:\WINDOWS\system32\RunLegacyCPLElevated.exe shell32.dll,Control_RunDll "C:\WINDOWS\system32\Realtek Camera Manager.cpl"
AutoRunXP.bat的内容:
start "" "C:\WINDOWS\system32\Realtek Camera Manager.cpl" |