PPCGeeks Forums HTC Arrive HTC HD2 HTC Thunderbolt HTC Touch Pro 2 HTC Evo 4G HTC Evo 3D Samsung Galaxy S II Motorola Droid X Apple iPhone Blackberry
Go Back   PPCGeeks > Windows Mobile > WM HTC Devices > HTC Touch Pro > CDMA TP Development
Register Community Search

Notices


 
 
LinkBack Thread Tools Display Modes
Prev Previous Post   Next Post Next
  #10 (permalink)  
Old 03-25-2009, 12:35 PM
FatFrosty's Avatar
N00b
Offline
Pocket PC: Evo 4g
Carrier: Sprint
Location: Cincinnati
 
Join Date: Nov 2007
Posts: 30
Reputation: 85
FatFrosty is becoming a great contributor
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Re: Post Your SDconfig.txt, provisioning.xml, etc. Files Here!

Quote:
Originally Posted by FatFrosty View Post
My next project (divided into many broken hours) is to create a start menu on my SD card and either replace the start menu under windows or redirect it to my hand made directory. The unorganized mess UC creates kills me. Don't expect anything soon though...
I think I've done it so I'll go ahead and share. This solution requires Mortscript. It's the most lightweight program I've seen but one of the most powerful.

The problem I've seen others have is that all the shortcuts in the start menu are checked 'System Files'. This script goes through each of the Start Menu folders and removes all file attributes, then deletes it, one by one.

Here's the Mortscript Code:
Code:
# First delete the Start Menu's original contents
SrcDir = "\Storage Card\Cabs\Start Menu"
aDir = "\Windows\Start Menu"

ForEach bDir in directories ( aDir & "\*" )
If ( bdir ne "\Windows\Start Menu\Settings" )
  if ( ElementCount( DirContents( bDir, DC_FILES ) ) > 0 )
    ForEach tbdFile in files ( bDir & "\*" )
      SetFileAttribs( tbdFile , 0 , 0 , 0 )
      delete( tbdFile )
    EndForEach
  endif
  if ( ElementCount( DirContents( bDir, DC_DIRS ) ) > 0 )
    ForEach cDir in directories ( bDir & "\*")
      if ( ElementCount( DirContents( cDir, DC_FILES ) ) > 0 )
        ForEach tbdFile in files ( cDir & "\*" )
          SetFileAttribs( tbdFile , 0 , 0 , 0 )
          delete( tbdFile )
        EndForEach
      Endif
      if (ElementCount( DirContents( cDir, DC_DIRS ) ) > 0 )
        ForEach dDir in directories (cDir & "\*")
          if ( ElementCount( DirContents( dDir, DC_FILES ) ) > 0 )
            ForEach tbdFile in files ( dDir & "\*" )
              SetFileAttribs( tbdFile , 0 , 0 , 0 )
              delete( tbdFile )
            EndForEach
          Endif
          if ( ElementCount( DirContents( dDir, DC_DIRS ) ) > 0 )
            ForEach eDir in directories (dDir & "\*")
              if ( ElementCount( DirContents( eDir, DC_FILES ) ) > 0 )
                ForEach tbdFile in files ( eDir & "\*" )
                  SetFileAttribs( tbdFile , 0 , 0 , 0 )
                  delete( tbdFile )
                EndForEach
              Endif
              if ( ElementCount( DirContents( eDir, DC_DIRS ) ) > 0 )
                message ( "Some folders are too deep. May require manual deletion.", "Error - fDir" )
              Endif
              Deltree ( eDir )
            EndForEach
          Endif
          Deltree ( dDir )
        EndForEach
      EndIf
      DelTree  ( cDir )
    EndForEach
  endif
  Deltree( bDir )
Endif
EndForEach
ForEach tbdFile in files ( aDir & "\*" )
  SetFileAttribs( tbdFile , 0 , 0 , 0 )
  Delete( tbdFile )
EndForEach

# Then Recreate from a premade source

Foreach tbcDir in directories ( SrcDir & "\*" )
  Xcopy( SrcDir & "\*", aDir, 1, 1 )
Endforeach
Foreach tbcFile in files ( SrcDir & "\*" )
  Xcopy( SrcDir & "\*", aDir, 1, 1 )
Endforeach

# Lastly, delete the script copied to the Memory.
Delete ( "\CustomStartMenu.mscr" )
And here's how I implemented it inside SDConfig.txt:
Code:
CAB: \Storage Card\Cabs\MortScript-4.2-PPC.cab
CPY1:\Storage Card\Cabs\CustomStartMenu.txt
CPY2:\CustomStartMenu.mscr
EXEC:\CustomStartMenu.mscr
SET UP: Take note, it's stored as a txt file in my storage card to prevent any misfirings. The only things I believe that need to be changed from device to device is the directory of the cab in SDConfig, and the first variable in the script, 'SrcDir'. I wouldn't really mess with 'aDir', it can potentially be a Mortscript Virus.

My replacement Start Menu was already set up on my SD card. The easiest way I found was to organize the real start menu however I liked it, then just copied all of the contents over to my SD. I copied the Settings folder to my SD card (which is apparently empty) for backup, but the script is supposed to skip over the settings folder when deleting. It's partially because Mortscript doesn't want to automatically copy over the settings folder for some reason. But the reason could easily be poor coding on my part.

Limitations: The deletion portion of this script is limited to about five levels deep into the start menu. So if you originally have this folder -> \Start Menu\Programs\Utilities\Internet\IM\, it'll prolly throw up an error. I've never seen a rom that organized the start menu for you so I think 3 levels is overkill. I haven't seen and don't think there will be any limitation on how deep of folders you can copy.

If there are any problems I'll help as much as I can.
Attached Files
File Type: cab MortScript-4.2-PPC.cab (190.9 KB, 15 views) Click for barcode!
File Type: txt CustomStartMenu.txt (2.3 KB, 31 views) Click for barcode!
Reply With Quote
This post has been thanked 3 times.
 

  PPCGeeks > Windows Mobile > WM HTC Devices > HTC Touch Pro > CDMA TP Development


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


All times are GMT -4. The time now is 01:07 AM.


Powered by vBulletin® ©2000 - 2026, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.6.0
©2012 - PPCGeeks.com