search helpers: Windows Shell, Change Shell, new shell, explorer.exe, startup applications.
If your looking for a really embedded customized device in your car then I suggest you toss out the window GUI (Graphic User Interface) and impliment a new OS shell such as your favorite front end. Poeple concerned with nLite'd systems should consider "taking this plunge" to really customize thier systems. This method of customization is going to be the next generation of CarPc's making the front end act more like a OS wrapper than a 3rd party application.
Here's what your going to acomplish with this guide:
The windows GUI or Shell for those of you who don't know is called "Explorer.exe" not to be confused with Iexplorer.exe, which is Microsoft's web browser. Explorer.exe is your taskbar,desktop and startmenu. What your going to do is make windows start your front end instead of explorer.exe, meaning you will no longer have a desktop, taskbar or startmenu. This enables your system to boot MUCH quicker (depending on how your front end is coded) and because your front end is the new shell if it crashes while your driving windows automatically re-executes it just like it does to explorer.
Now a little warning: This isn't the hardest thing to impliment but the ramifications may be detrimental to your carpc so please think ahead before going through these steps. If you don't plan ahead for this customization then you can back yourself in a corner with no way to get back to a working windows GUI.
lets begin
Alright, so lets begin messin around with your machine !!! There are two ways to change the windows front end. I highly recomend you change the shell through registry with minlogon enabled systems. If your system is not Minlogon enabled then I suggest you impliment for the best sucess in this writeup. How ever, there is a way to change the shell using another method which I will explain last. See "GPEDIT.MSC" title below.
Minlogon Enabled Systems:
Before you even think to continue make SURE your system is done. By this I mean you have a 100% working carpc OS. Screen Resolutions should be properly set and by this I mean if you have an 800 * 600 res skin then change your systems screen res to 800 * 600 to make the front end "full screen" If you have EWF enabled then make sure to turn it off also. Once your system configuration is solid let's start thinking about front ends. If your writing your own your going to need Shell capabilities so that you can still access windows applications such as CMD,Regedit and explorer. Programmers I posted quickly shell app code below its basically the framework to an easy shell app to save you guys some time. It's written in VB.net and your probably going to have to make a few changes.
Code:
Dim ProcID As Integer
Dim autofile As Boolean
'Code Written by Randy B. Intellaworkscarpc.com
' Free for everyone
Try
If KB_text.txt_TEXT.Text = "" Then
custom_MsgBox("Click on the textbox, to enter information.")
Else
'*
'* let's see if the input was a hot command
'*
Select Case (LCase(KB_text.txt_TEXT.Text))
Case "explorer"
ProcID = Shell("C:\WINDOWS\explorer.exe", AppWinStyle.NormalFocus)
autofile = True
Case "cmd"
ProcID = Shell("C:\WINDOWS\System32\cmd.exe", AppWinStyle.NormalFocus)
autofile = True
Case "gpedit"
ProcID = Shell("C:\WINDOWS\System32\gpedit.msc", AppWinStyle.NormalFocus)
autofile = True
Case "gpedit.msc"
ProcID = Shell("C:\WINDOWS\System32\gpedit.msc", AppWinStyle.NormalFocus)
autofile = True
Case "regedit"
ProcID = Shell("C:\WINDOWS\regedit", AppWinStyle.NormalFocus)
autofile = True
End Select
'*
'* Ok no hot command was inputted, lets try to exec the command
'*
If autofile = False Then
ProcID = Shell(KB_text.txt_TEXT.Text, AppWinStyle.NormalFocus)
End If
End If
Catch ex As Exception
Program_error(ex.Message)
End Try
For everyone else not writing thier own front end this is where your going to have to do a little homework. You need a front end that can launch external applications. Such as CMD & Regedit so that once the front end is set as the new shell if you want to make a configuration change you can do so by entering the registry from your front end. This is where you can mess up and back yourself into a corner. Frodoplayer has a great 3rd party launch application.
Now lets flip your system upsidedown !! Open up Regedit and point to this reg hive:
Code:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
"Shell"="Explorer.exe"
Before you get too excited export your old registry to the systems root directory by clicking file->export and toss the file to your root (this is gunna be your easy way out when you need to make a system change) name the file: enableExplorer.reg. Now back in the registry change the "Shell" property to point to your front ends directory location. BE CAREFUL HERE if your directory location has spaces you might want to change it to have no spaces then in registry do the same. example:
Code:
"Shell"="C:\FrodoPlayer\FrodoPlayer.exe"
I cannot stress enough to double check your entry to make sure it is EXACTLY the same as the directory location of the front end. If you mess up here you might as well toss your machine out the window cause your gunna fark your machine.
Save Changes and Export the new registry to your root drive and name this one CustomShell.reg there's your easy way back to a shell so your never gunna have to remember how you did this again... Just launch the explorer.exe shell from your front end and click enableExplorer.exe. Unless you have ewf enabled.
Thats it reboot, cross your fingers....
Bookmarks