您的位置:首页 > 其它

Windows CE下开机自动运行程序

2007-08-12 18:42 134 查看
How to Configure the Registry to Run an Application at Startup
You can add an application to your OS design and then configure the registry to run the application when your run-time image boots.
By doing so, you can decrease the amount of time involved in debugging an application. Otherwise, after your run-time image boots, you must manually load and run the application on your target device.
Note This procedure requires you to have already created an application. For information about creating and building an application in the context of using Platform Builder with a CEPC, see Tutorial: Building a Run-Time Image for a CEPC.
To track your progress, select the check box next to each step.

Step
Topic
1. Open an existing OS design, or create a new one, and then build and download the run-time image to a target device.
How to Use the IDE to Create, Customize, and Build a Run-Time Image
2. Use the Remote Registry Editor to discover the HKEY_LOCAL_MACHINE/Init launch numbers for each .exe file that runs on the target device at startup.
To run your application at startup, assign launch numbers to your application's .exe files in the HKEY_LOCAL_MACHINE/Init section of the registry of the target device.

Connect to your target device using the Remote Registry Editor.


If the connection fails, see Configuring the Connection to a Target Device Using Platform Manager.

In the Windows CE Remote Registry Editor window, expand the Default Device node, then the HKEY_LOCAL_MACHINE node, and then the Init node.

In the right pane, in the Name column, note the launch number for each application.


These numbers use the launchnn format, where nn is the launch number.
Opening Remote Registry Editor
Connecting to a Target Device with a Remote Tool
3. Add the application to your OS design as a project.
Adding an Existing Project to an OS Design
4. Create a registry entry in the HKEY_LOCAL_MACHINE/Init section of the Project.reg file for your application.
Configuring a Registry File to Run an Application at Startup
5. Build the changed Catalog items in your OS design.
Building a Run-Time Image
Building a Selected Project
6. Configure a connection between your development workstation and your target device.
Note Debugging is not necessary at this point.
If your target device is a CEPC, boot your run-time image on the CEPC.
For more information, see How to Configure and Download a Run-Time Image to a CEPC.
If your target device is the Emulator, download your run-time image to the Emulator.
For more information, see Downloading a Run-Time Image to the Emulator.
Configuring a Connection for Downloading and Debugging
7. When the download process is complete, verify that the application launched properly on your target device.
The time required to display the OS depends on the size of the downloaded run-time image.
Not applicable
Configuring a Registry File to Run an Application at Startup
You can configure a registry (.reg) file to run a module when your run-time image starts up. There are two ways to configure registry files:

Modify the registry file before building and downloading the run-time image.

Use the Remote Registry Editor after downloading the run-time image to the device.

Using the Remote Registry Editor changes the run-time image registry, but the changes are not persisted to the registry files in Platform Builder. The next time you download the run-time image, you must configure the registry again.
For more information, see Remote Registry Editor.
To modify a registry file in the IDE

From the Workspace window, choose the ParameterView tab at the bottom of the window.

Expand the nodes until you find the folder for the target device you have chosen.

For example, if you create an OS design for the Emulator, find the Emulator folder.

Expand the folder and then expand the Project Specific Files folder.

Select and open the appropriate registry file.

Typically, this is the Project.reg file. Settings in Project.reg override other registry settings due to the order in which the build system processes the registry files.

Update or add the HKEY_LOCAL_MACHINE/Init section of the registry file with the following code.

6.     [HKEY_LOCAL_MACHINE/Init]

7.     "launchnn"="defined_module_name"

"dependnn"=hex:xx,yy...

The following table shows descriptions of the parameters in the code you must update or add to the HKEY_LOCAL_MACHINE/Init section of the registry file.
Parameter
Description
launchnn
Defines the order that the module is started in, where nn is 00–99.
Enclose this parameter in double quotation marks (" ").
defined_module_name
Specifies the name of the module to be started.
Enclose this parameter in double quotation marks (" ").
dependnn
Optional. Assigns a dependency that prevents the defined module from starting until another module is started, where nn is 00–99.
Enclose this parameter in double quotation marks (" ").
hex:xx,yy...
Defines the hexadecimal number of the module that must be run before the defined module is run.
This parameter consists of the hex keyword, a colon, and one or more hexadecimal numbers, one for each byte of hexadecimal data.
After your run-time image calls a module using the Init registry value, the application must call the SignalStarted function.
SignalStarted indicates that the module is ready for the rest of the OS to continue processing.
The value passed as the parameter to SignalStarted is the value passed on the command line of the module started from the Init key.

If you do not know the hexadecimal numbers for the module dependencies that your application requires, open and search Common.reg for the module names.

The following code example shows how to set your module to depend on the standard initialization modules, which include Filesys.exe, Gwes.exe, Device.exe, and Explorer.exe.
[HKEY_LOCAL_MACHINE/Init]

"launchnn"="defined_exe_name"

"dependnn"=hex:0A,00,14,00,1E,00,32,00


Save and close the registry file.

You have successfully modified a registry file to run a module at startup.

以上方法是要通赤修改注册表来实现,对于用户来说,可能不方便,那么,我们能不能使Windows CE启动完成后自动运行Flash Disk上某个目录下的所的.exe文件呢,请看下面的:

在Windows CE 的Windows 目录下,有一个StartUp文件夹,在Windows CE启动完成后,Windows CE会自动运行这个文件夹下的所有.ExE文件,但这个目录下的所有内容在断电后会丢失,还是不能完成上电自动运行,那么我们能不能把这个目录改到Flash Disk上的某个目录下去呢,答案是肯定的,而且非常容易,我们只要修改注册表

[HKEY_LOCAL_MACHINE/SYSTEM/Explorer/Shell Folders]

"StartUp"="Flash Disk//StartUp"

这样,Windows CE开机后就会运行Flash Disk/StartUp目录下的所有.ExE文件.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: