请问:修改wince注册表
[HKEY_LOCAL_MACHINE\init]
"Launch80"="app.exe"
"Depend80"=hex:1E,00
开机后程序可自启动,但是本来工作正常的应用程序在启动后出了错误:80 is not found.一确定程序就退出。再打开又运行正常,
不知道开机自启动环节哪出了,同时app的InitInstance()函数中也加入了SignalStarted(_wtol(GetCommandLine()))语句。
这个错误提示中也出现了80跟luanch80倒是一致,不知道什么问题
"Depend80"=hex:14,00,1e,00
试试看
Directory("Windows\Startup"):-File("app.exe","Windows\app.exe")
通过设置Project.dat,在启动项中启动程序试试。
研究跟进,我的app。exe是单文档应用程序,开机自启动时,引用程序会解析系统的命令行,
去打开跟launch80后边数字一致的文件名,肯定没有该文件了,所以会提示
80 was not found.
同时我又修改wince注册表
[HKEY_LOCAL_MACHINE\init]
"Launch100"="app.exe"
"Depend100"=hex:1E,00
问题依然,不过错误变成100 was not found
这说明launch100 打开app.exe是发送了一个命令要打开100的文件,但是不成功,我改进了应用程序,在initinstance中添加了cmdInfo.m_nShellCommand = CCommandLineInfo::FileNew;语句
具体如下:可惜问题依旧,但是单独启动没问题,说明用launch启动app.exe存在问题,问高手,后续如何开展,有关launch启动应用程序的问题
*************************************************************************************
// 分析标准外壳命令、DDE、打开文件操作的命令行
CCommandLineInfo cmdInfo;
cmdInfo.m_nShellCommand = CCommandLineInfo::FileNew
ParseCommandLine(cmdInfo);
// 调度在命令行中指定的命令。如果
// 用 /RegServer、/Register、/Unregserver 或 /Unregister 启动应用程序,则返回 FALSE。
if (!ProcessShellCommand(cmdInfo))
return FALSE;
************************************************************************************
直接启动,可以放到Startup里面啊,不用那么麻烦吧,
不过这种可以的,把Dependse设置成GRAPHIC启动后,再试试吧
LZ在程序开头添加
while(!IsAPIReady(SH_SHELL))
Sleep(500);
试试