激活blog
[STAThread()]
public static void Main(string[] args)
{
commandLineArgs = args;
bool noLogo = false;
SplashScreenForm.SetCommandLineArgs(args);
foreach (string parameter in SplashScreenForm.GetParameterList()) {
switch (parameter.ToUpper()) {
case "NOLOGO":
noLogo = true;
break;
}
}
if (!noLogo) {
SplashScreenForm.SplashScreen.Show();
}
Application.ThreadException += new ThreadExceptionEventHandler(ShowErrorBox);
bool ignoreDefaultPath = false;
string [] addInDirs = ICSharpCode.SharpDevelop.AddInSettingsHandler.GetAddInDirectories(out ignoreDefaultPath);
AddInTreeSingleton.SetAddInDirectories(addInDirs, ignoreDefaultPath);
ArrayList commands = null;
try {
ServiceManager.Services.AddService(new MessageService());
ServiceManager.Services.AddService(new ResourceService());
ServiceManager.Services.AddService(new IconService());
ServiceManager.Services.InitializeServicesSubsystem("/Workspace/Services");
commands = AddInTreeSingleton.AddInTree.GetTreeNode("/Workspace/Autostart").BuildChildItems(null);
for (int i = 0; i < commands.Count - 1; ++i) {
((ICommand)commands[i]).Run();
}
} catch (XmlException e) {
MessageBox.Show("Could not load XML :" + Environment.NewLine + e.Message);
return;
} catch (Exception e) {
MessageBox.Show("Loading error, please reinstall :" + Environment.NewLine + e.ToString());
return;
} finally {
if (SplashScreenForm.SplashScreen != null) {
SplashScreenForm.SplashScreen.Close();
}
}
try {
// run the last autostart command, this must be the workbench starting command
if (commands.Count > 0) {
((ICommand)commands[commands.Count - 1]).Run();
}
} finally {
// unloading services
ServiceManager.Services.UnloadAllServices();
}
}