Compact 2013 Ebook

25.9 Ex2. MinShellExtensions
Created by djones on 6/27/2013 8:42:05 AM

Example 2: MinShell Extensions

Requirements

The OS should have

  • MinShell and App Development components
    • The "Generic OS" from chapter 13 suffices
  • CoreCon subproject from 24.6 Example 2.
    As an alternative the CoreCon project could be merged with this project by adding the six CoreCon files to this project. The registry entry conditionals would need to match that: Remove the SYSGEN_CORECON conditional.

Create the subproject

1. Run CEComponentWiz and create a new project.

2. Menu,Generate Component—>Component Details—>
Call it MinShellExtensions
Add a Description, Comment and Vendor name

3. Get content:
Menu, Get Content—>Images and browse to the MinShell directory and select desktop.bmp:

C:\WINCE800\Public\Shell\oak\MinShell

This file is the image that is displayed on the desktop in MinShell.
At least one file is required as content before CEComponnentWiz will generate the subproject.
The required registry entries will be added manually to this file is used as dummy.
A later activity will extend this activity so as to make the image also a registry entry so as to be able to change it.

4. Make sure the file is under the FILES section

5. Set the OS Version to 8.00

6. Save the project: Menu, File—>Save Project

7. Generate the subproject:
Generate Component Menu, Project—>Generate Development Project

8. Generate the Third Party Version:
Menu, Generate Component Project—>Publish Component to 3rd Party (and Catalog File)

9. Close the wizard

10. Refresh the Catalog and add the project from under the Third Party branch in the Catalog.

11. Add the following to the MinShellExtensions.reg

; ========================================================================================
; Minshell Extensions
; ========================================================================================

IF SYSGEN_MINSHELLEXTENSIONS=1

IF SYSGEN_NETUTILS=1
; Menu for Command Prompt
[HKEY_LOCAL_MACHINE\Software\Microsoft\Shell\Minshell\Ipconfig]
    "App"="ipconfig.exe"
    "Param"="/d"
ENDIF SYSGEN_NETUTILS

IF SYSGEN_CORECON=1

; Menu for Cmaccept3
[HKEY_LOCAL_MACHINE\Software\Microsoft\Shell\Minshell\Cmaccept3]
    "App"="cmaccept3.exe"
    "Param"=""

; Menu for ConmanClient3
[HKEY_LOCAL_MACHINE\Software\Microsoft\Shell\Minshell\ConmanClient3]
    "App"="conmanclient3.exe"
    "Param"=""

ENDIF SYSGEN_CORECON

ENDIF SYSGEN_MINSHELLEXTENSIONS

; ========================================================================================

This works because when the MinShell menu is created it, iterates through HKLM\Software\Microsoft\MinShell registry entries adding a menu item for each entry.
Note the conditionals on the registry items. They aren't included if the .exe is not in the image.


12. Build the subproject and OS:
Just Build all Subprojects with Target Build setting to run MakeImage afterwards.

Testing

  1. Inspect the image file and check that the registry entries in 11. are present under HKLM\Software\Microsoft\MinShell
    Also check that the desktop.bmp file is in the image.
  2. Run the OS and check that the three extra menu items are present in MinShell
  3. From the MinShell menu run Ipconfig and check the Debug Output window on the development machine for the IP Address of the target.
  4. Run ConmanClient3 and CmAccept3 from the MinShell menu and check that they are running in the Target:
    Target—>Target Control
    gi proc

    They should show as running processes.
  5. Develop an Compact 2013 SDK application in a second instance of Visual Studio 2012 and use CoreCon, initiated by the MinShell menu commands, to launch and debug the application

Footnote

There are two Codeplex projects that expand upon this theme:

  • Compact13MinShell
    • This implements as customizable copy of the MinShell Catalog component as a separate OS Subproject, that the next project exploits when this project is included in the OS rather than MinShell. Also adds a couple of items to the menu such as Target Control.
  • Compact13Tools
    • Adds a variety of OS runtime tools that are supported by the Compact13Minshell menu:
      • Compact13RunApp
        Can browse file system to choose app and launch it. Can navigate to shortcuts as well.
      • Compact13TaskManager
        A simple implementation of a Task Manager to switch to applications and close applications via their windows. Can also launch new tasks as per Compact13RunApp.
      • Compact13WebBrowser
        A simple Web Browser implementation in IE style using the Compact Framework WebBrowser component.
      • Compact13Notepad
        A text editor with similar UI to the Windows classic Notepad,
      • CoreCon3
        The CoreCon modules required for debugging SDK Managed Code apps.

NEXT: 

print

Click here to provide feedback and input

  Comments

There is no comment.

Turkish porno izle video site in rokettubeporno izle