在启动Windows CE时,隐藏“开始”菜单,并全屏显示Internet Explorer程序
2006-09-05 09:39
344 查看
1 启动Windows CE时候运行程序
如果该程序是放在目标设备的Flash或者Hard Disk中的,也就说断电后仍然会保存,那么可以不将程序一起build进OS Image,直接在project.reg文件中加上以下这段:
[HKEY_LOCAL_MACHINE/Init]
Launchxx = "/MyProgram.exe"
Dependxx = hex:14, 00, 1e, 00
其中xx表示00-99的一个数字,在common.reg文件中已经定义了一些响应的启动程序,比如launch10是shell.exe,launch20是device.exe,launch的数字越小,说明它越先被执行到。Launch里面的字符串就是该程序在目标设备的绝对路径(Windows CE不支持相对路径)。后面的Depend表示这个程序需要依赖的先前程序,系统会等到depend里面所有的程序都launch起来以后,再执行当前的程序。由于我的程序需要启动IE,其依赖的先前程序是Explorer.exe,在BSP里面一般定义的Explorer.exe的启动顺序会是Launch50(这个可以在第一次build OS以后的shell.reg文件中看到),所以要在Depend里面加上32, 00这个先决程序。
2 那么在MyProgram.exe文件里面,需要写的就是所要做的工作,比如隐藏“开始”菜单,启动IE等等事情。隐藏“开始”菜单可以如下来做:
POINT p;
p.x = 0;
p.y = 479; //分辨率纵值减一,如果是640×480就是479
HWND cWndStart = WindowFromPoint(p);
ShowWindow(cWndStart, SW_HIDE);
这个不同于“自动隐藏任务栏”,因为如果不调用ShowWindow(cWndStart, SW_SHOW)函数,那么任务栏永远就出不来了:( 在PC机上也一样……
3 启动IE这一步可以直接ShellExecuteEx()一个http文件,出来的是其默认的IE,如果要对IE进行设置,可以自己写一个EVC程序把浏览器嵌入其中,这个可以参考付林林的Windows CE系列文章http://www.vckbase.com/vckbase/columnist/fllsoft/中的http://www.vckbase.com/document/viewdoc/?id=1145。
如果不想要菜单,也可以在MainFrm.cpp的OnCreate函数中删除m_wndCommandBar相关的代码即可。
要想定义浏览器大小,在MainFrm.cpp的PreCreateWindow函数中设置cs.x,cs.y,cs.cx,cs.cy参数,例如
cs.cx = GetSystemMetrics(SM_CXSCREEN);
cs.cy = GetSystemMetrics(SM_CYSCREEN);
就可以让浏览器全屏显示了。
如果该程序是放在目标设备的Flash或者Hard Disk中的,也就说断电后仍然会保存,那么可以不将程序一起build进OS Image,直接在project.reg文件中加上以下这段:
[HKEY_LOCAL_MACHINE/Init]
Launchxx = "/MyProgram.exe"
Dependxx = hex:14, 00, 1e, 00
其中xx表示00-99的一个数字,在common.reg文件中已经定义了一些响应的启动程序,比如launch10是shell.exe,launch20是device.exe,launch的数字越小,说明它越先被执行到。Launch里面的字符串就是该程序在目标设备的绝对路径(Windows CE不支持相对路径)。后面的Depend表示这个程序需要依赖的先前程序,系统会等到depend里面所有的程序都launch起来以后,再执行当前的程序。由于我的程序需要启动IE,其依赖的先前程序是Explorer.exe,在BSP里面一般定义的Explorer.exe的启动顺序会是Launch50(这个可以在第一次build OS以后的shell.reg文件中看到),所以要在Depend里面加上32, 00这个先决程序。
2 那么在MyProgram.exe文件里面,需要写的就是所要做的工作,比如隐藏“开始”菜单,启动IE等等事情。隐藏“开始”菜单可以如下来做:
POINT p;
p.x = 0;
p.y = 479; //分辨率纵值减一,如果是640×480就是479
HWND cWndStart = WindowFromPoint(p);
ShowWindow(cWndStart, SW_HIDE);
这个不同于“自动隐藏任务栏”,因为如果不调用ShowWindow(cWndStart, SW_SHOW)函数,那么任务栏永远就出不来了:( 在PC机上也一样……
3 启动IE这一步可以直接ShellExecuteEx()一个http文件,出来的是其默认的IE,如果要对IE进行设置,可以自己写一个EVC程序把浏览器嵌入其中,这个可以参考付林林的Windows CE系列文章http://www.vckbase.com/vckbase/columnist/fllsoft/中的http://www.vckbase.com/document/viewdoc/?id=1145。
如果不想要菜单,也可以在MainFrm.cpp的OnCreate函数中删除m_wndCommandBar相关的代码即可。
要想定义浏览器大小,在MainFrm.cpp的PreCreateWindow函数中设置cs.x,cs.y,cs.cx,cs.cy参数,例如
cs.cx = GetSystemMetrics(SM_CXSCREEN);
cs.cy = GetSystemMetrics(SM_CYSCREEN);
就可以让浏览器全屏显示了。
相关文章推荐
- 程序启动让LaunchImage全屏显示,状态栏隐藏,启动完成再显示
- win7 开始 菜单 自定义 要显示的最近打开过的程序的数目 是灰色的 不可以更改 怎么解决?
- xp和win7下"开始"菜单的区别及隐藏显示
- Android如何做到应用程序图标隐藏,由第三方程序显示启动
- ios 启动程序时隐藏状态栏,启动后显示状态栏
- windows mobile 程序启动时全屏显示图片
- 主题 : 隐藏系统状态栏 让app启动时图片全屏 进入程序后显示状态栏方法。
- 隐藏系统状态栏 让app启动时图片全屏 进入程序后显示状态栏方法。
- ios 启动程序时隐藏状态栏,启动后显示状态栏
- 程序启动中状态栏隐藏以及启动后的显示
- 程序隐藏状态栏全屏显示
- ubuntu 下让gvim 自动最大化 全屏及隐藏菜单和工具栏 mac windows 全屏显示
- Andro之Window自带全屏隐藏菜单/显示菜单
- iOS开发-隐藏系统状态栏 让app启动时图片全屏 进入程序后显示状态栏方法。
- ios 启动程序时隐藏状态栏,启动后显示状态栏
- 程序启动时隐藏状态栏,进入应用程序之后显示状态栏
- MFC对话框程序启动的时候直接隐藏、在任务栏不显示图标
- Windows隐藏工具栏并使程序窗口全屏显示
- 程序启动时隐藏状态栏,进入应用程序之后显示状态栏
- C#Winform实现程序关闭隐藏窗体,二次程序启动时显示