admin管理员组

文章数量:1538748

2024年3月18日发(作者:)

开机自启sd卡中的应用程序

应用程序, 开机

开发板:TE2440-II

操作系统:飞凌的wince5.0

开发软件:evc4.0 sp4

因开发需要,对应用软件要开机自启,网上很多人总结了有三种方式。这三种方式对于应用程序比较小的软件均可使用,对于应用程序很大要放在SD卡的

软件,第三种更好用一些。现在告诉大家,如何开机后自启动在sd卡上的应用程序。方法如下:

首先在EVC里编译生成了可执行文件,拷贝到smdk2440a_ARMV4I_Release中,在写一个lnk文件,内容是

1. 60# Storage

复制代码

.然后在你的工程中,打开,添加如下两句:

1. $(_FLATRELEASEDIR) NK S

2. $(_FLATRELEASEDIR) NK S

复制代码

在中添加

1. Directory("Windowsstartup"):-File("","")

复制代码

,即可编译内核。

在这个过程中如果出现找不到或者文件,可采用下面方式实现(一个很厉害的人教我的):

将这两个文件放在一个自选目录下比如c:example中,,然后打开platform -settings-选择custom build actions -选择pre-make image 然后加入一

条编译前指令:

1. copy c: %_FLATRELEASEDIR%

复制代码

也要作同样的处理 。

经过以上修改应该就可实现了。

的代码如下:

1. int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow)

2. {

3. WIN32_FIND_DATA fd;

4. HANDLE hd=INVALID_HANDLE_VALUE;

5.

6.

7. int iCount = 20;

8. while(iCount--)

9. {

10. hd=::FindFirstFile(lpCmdLine,&fd);

11. Sleep(500);

12.

13. if(INVALID_HANDLE_VALUE!=hd)

14. break;

15. }

16.

17. if(0==iCount)

18. return 0;

19.

20. FindClose(hd);

21.

22. SHELLEXECUTEINFO ShExeInfo={0};

23. =sizeof(SHELLEXECUTEINFO);

24. =SEE_MASK_NOCLOSEPROCESS;

25. =NULL;

26. =NULL;

27. =lpCmdLine;

28. meters=L"";

29. ctory=NULL;

30. =SW_SHOW;

31. pp=NULL;

32.

33. ShellExecuteEx(&ShExeInfo);

34. return 0;

35. }

复制代码

我采用的bootloader是版本是飞凌第四版boot,系统是WINCE5.0。以上供大家学习参考。

本文标签: 文件方式编译应用程序打开