HyperSprite Tech:

Microsoft Streets and Trips embedded in Road Runner

Version 1.3 updated 2005:06:13 - 17:22 GMT (Jump to changes)

MP3Car.com discussion about this page.

Please make backups of your MSM10USA.dll, New North American Map.stt and menu.skin files  before hacking or replacing them. Don't worry you will know where they are when you get there.

Setting up Streets & Trips 2005 (I don't know if this will work with earlier versions)

Using Resource Hacker ( http://www.users.on.net/johnson/resourcehacker/ ) to hack the "MSM10USA.dll" in MS Streets directory based on what I learned at GPSPassion.com (thread located here http://www.gpspassion.com/forumsen/topic.asp?TOPIC_ID=29500 Thanks Marvin! ).

This is what I am using for Dialog 31500 (the GPS pane)

31500 DIALOGEX 0, 0, 158, 249
STYLE WS_CHILD
CAPTION ""
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
FONT 8, "Tahoma"
{
CONTROL "", 31504, STATIC, SS_GRAYRECT | WS_CHILD | WS_VISIBLE, 0, 0, 158, 65
CONTROL "Track", 31513, BUTTON, BS_AUTOCHECKBOX | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 3, 68, 40, 22 , 0x00020000
CONTROL "Center", 31502, BUTTON, BS_AUTOCHECKBOX | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 45, 68, 45, 22 , 0x00020000
CONTROL "Rotate", 31501, BUTTON, BS_AUTOCHECKBOX | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 45, 91, 45, 22 , 0x00020000
CONTROL "Trail", 31514, BUTTON, BS_AUTOCHECKBOX | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 3, 91, 40, 22 , 0x00020000
CONTROL "", 31518, STATIC, SS_SIMPLE | SS_SUNKEN | WS_CHILD | WS_VISIBLE | WS_DISABLED, 0, 115, 158, 1
CONTROL "Recalculate route from current location to:", 31529, STATIC, SS_LEFTNOWORDWRAP | WS_CHILD | WS_VISIBLE | WS_GROUP, 3, 119, 200, 8
CONTROL "", 31526, COMBOBOX, CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_CHILD | WS_VISIBLE | WS_VSCROLL | WS_TABSTOP, 4, 129, 123, 71
CONTROL "Go", 31525, BUTTON, BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_GROUP | WS_TABSTOP, 90, 144, 42, 28
CONTROL "", 31516, STATIC, SS_SIMPLE | SS_SUNKEN | WS_CHILD | WS_VISIBLE | WS_DISABLED, 1, 177, 158, 1
}

It looks something like this.


Then open Streets & Trips and check it out, it gives this dialog box much more room for fingers on a tiny screen. While you are in there, position the map so it opens on your home town at a decent zoom level, or wherever you happen to drive the most. Now drag the Drawing and Standard menus to undock them and place them out of the way, this way when you open up Streets in Road Runner they will not take up usable space. Also go to View, Toolbars, Location and Scale and uncheck it (it seems to remember this option on future openings where as the other ones, sometimes yes, sometimes no.
For maps that are not as harsh at night and easier to read I the day time, try changing the map style at View, Map Style, Terane Map, it just works a bit better (although still not 3D). Now save your template to C:\Program Files\Microsoft Streets and Trips\Templates as New North American Map.stt

Road Runner

Then for the Front End, Road Runner (a car pc project over at MP3car.com here http://www.mp3car.com/vbulletin/forumdisplay.php?f=72 Thanks Guino!) seems well adapted to customization. Look in the FAQ section to find out how to get the software. Go ahead and do a regular install, when done open the Road Runner configuration tool.

Configure it how you like, the only option you will need to select for this piece will be Hide: Taskbar in the general settings, this will help Streets retain focus.

Now go to C:\Program Files\Road Runner\Skins\BrushMetalHonda (or skin of your choice but make sure you adjust the coordinates appropriately) and make a backup copy of menu.skin in case something goes wrong. Now open the file in notepad and find the line

B06,418,298,369,116,"GPS","GPS"

This is currently line 11, and change it to

B06,418,298,369,116,"LOAD;STREETS.SKIN;Streets;C:\Program Files\Microsoft Streets and Trips\Streets.exe;Microsoft Streets & Trips","Streets"

Save and Close the menu.skin
 

Open your exit_menu.skin and change this line

B01,000,013,411,057,"EXIT","Exit"

This is currently line 6, and change it to

B01,000,013,411,057,"CLOSEWINDOW;Microsoft Streets & Trips||EXIT","Exit"

Save and Close the exit_menu.skin

This will ensure Streets closes when exiting RoadRunner, otherwise it runs in the background and will most likely ask for a save before closing. Something that might cause a hang up for your power off cycle, depending on what you are doing about that.

Download this zip file for the Streets skin files >>  streets-night.zip  << version 1.3
Copy the files to your skin directory, they should be

STREETS2.skin
streets2_down.jpg
streets2_empty.jpg
streets2_off.jpg
streets2_on.jpg
STREETS.skin
streets_down.jpg
streets_empty.jpg
streets_off.jpg
streets_on.jpg

Note: these files are completely new and do not replace any other files so there is no need to back up your whole skin,

And you should be good to go. I know my skins do not match the brush metal skin, but they should be easy enough to customize to match if that is desired. This was more of a “can I get Streets to work in Road Runner?” project. It is still a work in progress and may change over time as I use it to make it better suited for the job. As I write this I already see things I want to change but figure I would get this out there for those who are in a bind with Streets and a CarPC. Also note, this is the night version of this skin, hence the lack of button style elements. Why I did this was because I noticed at night when I drive I don’t see the switch outlines on the dash, just the icons, the day version of this skin has 3D buttons but it’s not ready yet.

Now open Road Runner and click the GPS icon, it should look like this.


Footnote, these buttons work using Sendkeys, so when you click Zoom In, it is not sending a “+” but instead a Alt+V, Z, Y, it’s clunky in code but it works pretty well.

The buttons along the side are:
Exit (the icon is a placeholder for the back screen button I am still working on)
Zoom In
Zoom Out
Show Navigation Menu (I wanted access to change from the pointer to the hand)
GPS pane
Directions pane
Route Planner pane
Find Places pane
Menu Expand


The Menu expand button will open up into this


This menu includes some of the general RR buttons that I tend to want handy when I drive so there is less going back and forth through the main menu.

The buttons on the bottom are:
Menu Contract
Music Player
On Screen Keyboard (this is not working correctly yet, it opens the keyboard but the keyboard only send one letter at a time, so if you typed “123 Oak Drive” when you get back to Streets all you have is an “e”)
Volume Down
Mute (yes, clicking the volume level screen will mute it)
Volume Up
Rewind
Play/Pause
Fast Forward
Gamma

That’s about it for now, I will be testing this setup for a bit and will update the information as I go. Currently I am working to embed Audible.com’s book player right now so it might not get back to this right away.

Things that don't work or I wish worked better and have not figured out how yet: :
If anyone knows how to fix the OSK so it can collect a bunch of input and then send it all at once, let me know, that would help make this thing totally touch screen.

Sending keys to turn on GPS when the program launches would be cool too.

Toggle the Hand and Pointer selections with Sendkeys

A touch friendly "avoid area" scheme would be nice too.

I found the registry entries for this at HKEY_CURRENT_USER\Software\Microsoft\Automap\ if that helps anyone.

Note: Exiting RR will not always shut down Streets.exe, if you go into task manager, you my find it running in the background. This could mess up a shutdown seem if it is waiting for you to answer the Save question.   Solved 11 minutes after this was posted, thanks again to Guino

 

Version Information

1.0 Initial release.
1.1 Fixed Streets closing properly when Road Runner is shut down.
1.2 Changed embedding window name to class.
1.3 Changed window name back to Microsoft Streets & Trips but removed Maps -, this solved the reopening of Streets when a saved map was in use. Requires changing streets.skin, menu.skin, exit_menu.skin. Streets-readme.txt added to zip for version control.

HyperSprite