Now let's take a look atCabApplicationProgramIs a very important class. This class can be considered asCabApplication startup point. He isFormshellapplication.
FormshellapplicationThe inheritance relationships are as follows:
This class requires two type parameters, one is inherited fromWorkitem(If you do not needWorkitemOfOnrunstartedMethod to achieve more processing, which can be directly used hereWorkitem),One is inherited fromForm.
Public Class Program:Formshellapplication<Myworkitem,Shellform>
NormallyMainCallRunMethod, runRunMethod initializes many application information. You can useOverrideTo rewrite or addFormshellapplication.
FormshellapplicationIncludingFormshellapplication) The following steps:
1. registerunhandledexceptionhandler |
2.CreateBuild strategies |
3.Create top-levelWorkitem |
4.Create and initializeVisualizer |
5.AddServices |
6. CreateShell |
CabThe standard services provided are as follows, which can be extended by developers:
ÜSimpleworkitemactivationservice
ÜFilecatalogmoduleenumerator
ÜWindowsprincipalauthenticationservice
ÜModuleloaderservice
ÜDataprotectioncryptographyservice
ÜTracesourcecatalogservice
ÜCommandadaptermapservice
ÜWorkitemextensionservice
ÜWorkitemtypecatalogservice
ÜControlactivationservice
ExecutedFormshellapplicationSubclassRunMethod,CabThe application is started. Then, execute the command according to your own needs.Workitem.