Modify WM5 behaviour. - General Topics

I would like to modify my PDA behaviour:
1- Change the welcome screen during boot and place a personal one.
2- Modify the menĂ¹ i see on the desktop, such as menĂ¹ entries like MSN pocket PC etc...
3- Eliminate cprog.exe from startup, i don't want it, i would like to start my own application instead.
Do i need to manipulate the ROM/registry for these modifications?
If yes, about ROM i'm almost a noob yet, is there any tutorial/start up guide?
Thanks.

With my psychic power, I'm gathering all the information about your phone... and giving you the following answers..
1. Search (forum and wiki) on how to modify your splash screen
2. Read the manual
3. Remove it from the \Windows\Start up ?
No

hanmin said:
With my psychic power, I'm gathering all the information about your phone... and giving you the following answers..
1. Search (forum and wiki) on how to modify your splash screen
2. Read the manual
3. Remove it from the \Windows\Start up ?
No
Click to expand...
Click to collapse
Uhm.. i think cprog.exe resides in ROM :-| how could i remove it and their icons
like signal quality ? I can't remove cprog.exe from the windows directory and it's lnk
doesn't appear inside \Windows\start up
Thx.

At least...
If i can't remove cprog.exe, at least i would like to remove the signal quality icon on the top right of the screen and the warning balloon coming from cprog.exe. Or... is there a way to cover all the screen (also the taskbar) with my application GUI?
Thx.

If you can make a dummy exe and have it named cprog.exe, just copy it over. When the OS saw that there is a file with the same name in the storage (and also one in ROM), the OS will launch the one in storage instead of the ROM. Now, it is a matter of getting a dummy EXE.
Just incase, backup your system first.

Thx for help...
Are you sure i can overwrite cprog.exe inside \Windows directory?
I cannot move/copy or delete it. The OS is saying i cannot copy
file and resources present in ROM :|.
How do i backup my system, if i overwrite it, how i get it back?

First, backup. Use backup software such as SPB Backup your system. If things went seriously wrong, you will hardreset your phone, and use the backup EXE file to restore your phone. Just make sure you backup before modifying.
You can use software such as Total Commander for PPC to over write the EXE. I'm very sure (been there, done that) it can over write (cover up) files in ROM, but I'm not sure if it is possible to write over an EXE that is currently running. Try your luck. To recover the overwritten (e.g. original) EXE, just delete it (e.g. delete the new, modified EXE) to expose the original EXE inside the ROM.

There should be no problem overwriting a ROM exe once even if its running. The change will simply not take effect until you reset the device.
To disable it though, you will have to rename the exe first (you will not be able to delete your copy while it is running) then reset so the original will be called instead.
And just to make it clear: you will not overwrite anything. A copy of the file will be created in your storage memory. The original system file will remain as it is, it will simply be "hidden" until you remove your copy.
The backup hanmin suggested is for your data and installed apps. If you are still at the stage were you are experimenting with the phone and don't mind getting it back to factory settings if something goes wrong you can skip it.
What you should investigate though is the notification system. It is somewhere there that cprog.exe is triggered in the first place and if you want your app to pop up instead on incoming call you will most likely have to register a notification for it.
(Though I do not have much experience with TAPI, so I am not really sure about this)
What I do know for a fact is that opening a full screen window (covering both top and bottom bars) is very easy:
Right after the window is created (not in WM_CREATE handler) call SHFullScreen API.

hanmin said:
First, backup. Use backup software such as SPB Backup your system. If things went seriously wrong, you will hardreset your phone, and use the backup EXE file to restore your phone. Just make sure you backup before modifying.
You can use software such as Total Commander for PPC to over write the EXE. I'm very sure (been there, done that) it can over write (cover up) files in ROM, but I'm not sure if it is possible to write over an EXE that is currently running. Try your luck. To recover the overwritten (e.g. original) EXE, just delete it (e.g. delete the new, modified EXE) to expose the original EXE inside the ROM.
Click to expand...
Click to collapse
Thanks, it worked fine, i've just built a dummy exe with a little main returning 0 immediately. And when services.exe starts it, it just returns 0.
I suppose if i hard reset my device cprog become the original.
What kind of APIs should i call to customize taskbar look and feel?

levenum said:
There should be no problem overwriting a ROM exe once even if its running. The change will simply not take effect until you reset the device.
To disable it though, you will have to rename the exe first (you will not be able to delete your copy while it is running) then reset so the original will be called instead.
And just to make it clear: you will not overwrite anything. A copy of the file will be created in your storage memory. The original system file will remain as it is, it will simply be "hidden" until you remove your copy.
The backup hanmin suggested is for your data and installed apps. If you are still at the stage were you are experimenting with the phone and don't mind getting it back to factory settings if something goes wrong you can skip it.
What you should investigate though is the notification system. It is somewhere there that cprog.exe is triggered in the first place and if you want your app to pop up instead on incoming call you will most likely have to register a notification for it.
(Though I do not have much experience with TAPI, so I am not really sure about this)
What I do know for a fact is that opening a full screen window (covering both top and bottom bars) is very easy:
Right after the window is created (not in WM_CREATE handler) call SHFullScreen API.
Click to expand...
Click to collapse
Thank you for help.
I'm just dealing with cprog.exe becouse it is dropping the data call i make using RIL api. This happens becouse cprog.exe is taking the ownership of the call through TAPI, so since there is no other application using TAPI, cprog.exe believes it's the only owner so it just drops the call. Since i'm not using TAPI but RIL i cannot claim for the call ownership while answering the call. The process cprog.exe gives problems only for answering incoming calls.
The only solution i found is to kill cprog.exe or just replace it with a dummy exe as explained here. That's why i was asking for it. Now my RIL application works fine and i don't need to kill cprog.exe/TSP anymore within my code. I'm forced to use RIL instead of TAPI becouse TAPI doesn't expose some bearer options i can set through RIL.
Bye.

Here is the article abut customizing the taskbar. Unfortunately, as far as I know there are no APIs to deal with it (short of sticking an annoying notification icon there), you have to replace the whole thing or whatever parts of it you do not like with a child window (see LVMTime and LVMTopBat).

levenum said:
Here is the article abut customizing the taskbar. Unfortunately, as far as I know there are no APIs to deal with it (short of sticking an annoying notification icon there), you have to replace the whole thing or whatever parts of it you do not like with a child window (see LVMTime and LVMTopBat).
Click to expand...
Click to collapse
Thanks a lot.

Related

Disabling Access To Games

Hi - is there any way on PocketPC 2003 to disable access to Solitaire and Jawbreaker. I'm pretty sure I can't remove them all together as they're in the ROM - but some registry hack to prevent access to them would be sufficient.
Try this...
You don't list what device or WM versions you are using, but here are two possible solutions you could try:
1) Read through the forums specific to your device, and learn how to cook your own ROM, removing the offending software.
2) Any file in your ROM can be "overwritten" by syncing to your pc and draggin a file with the same name to the folder containing the file you wish to replace. IE. I have a small, written for the pda application, which when run, displays a pop-up saying "This software has been removed because I do not wish for anyone using this device to have fun doing so!" or similar. I then name it solitare.exe and drag it into the Windows directory from my PC. It asks me am I sure I wish to overwrite the file, I click yes and bam! the file is "replaced". (I believe what actually happens is the OS delinks the file and places the new file in the old ones placeholder on the filesystem, it is still in the ROM as that is unwritable unless flashing, but it is no longer accessable, which is what you want to happen.
tried & failed...
I've created a solitare.exe as you suggested and placed it in the Windows directory - it doesn't seem to get run when executed however - The original game still gets run - I fear I may be doing something stupid.
Re: tried & failed...
gremlin said:
I've created a solitare.exe as you suggested and placed it in the Windows directory - it doesn't seem to get run when executed however - The original game still gets run - I fear I may be doing something stupid.
Click to expand...
Click to collapse
Why do you want to block them?
Re: Try this...
pneuma said:
You don't list what device or WM versions you are using, but here are two possible solutions you could try:
1) Read through the forums specific to your device, and learn how to cook your own ROM, removing the offending software.
2) Any file in your ROM can be "overwritten" by syncing to your pc and draggin a file with the same name to the folder containing the file you wish to replace. IE. I have a small, written for the pda application, which when run, displays a pop-up saying "This software has been removed because I do not wish for anyone using this device to have fun doing so!" or similar. I then name it solitare.exe and drag it into the Windows directory from my PC. It asks me am I sure I wish to overwrite the file, I click yes and bam! the file is "replaced". (I believe what actually happens is the OS delinks the file and places the new file in the old ones placeholder on the filesystem, it is still in the ROM as that is unwritable unless flashing, but it is no longer accessable, which is what you want to happen.
Click to expand...
Click to collapse
Hey pneuma.
2) Isn't working for me either. I thought gremlin was doing something wrong, but I just tried it myself, and, although my "fake" solitaire.exe (a renamed app) file is there, so is the original solitaire.exe. Tapping on the Solitaire icon under games runs the game as if nothing happened, although just opening the Games folder would tell you that it didn't work (the Solitaire icon is still the cards)
What did you do that we didn't? I'm using a Universal.
Peculiar...
Personally I haven't tried this specific to the games, but there was a nasty spash screen in the new WM5 for my Himalaya that I replaced in the method detailed above. It would appear however that solitaire might be a system program, as the following files:
\windows\solitaire.lnk
\windows\start menu\solitaire.lnk
have the following Target: ":MSSOLITAIRE"
but don't despair!
If you have resco explorer or some similar mobile based explorer replacement, try edit the links to point to the replacement exe, or even delete the links altogether, as well as the Games directory under "\windows\start menu\" (might not work deleting them though).
If the deletion or edits don't work you may well have to do the same trick, replacing these .lnk files with something else.
--Marc
Thanks to pneuma I think I've got a workable solution without having to hack into the ROM!
I've created two programs (using PocketBuilder) called Solitare.exe and Jawbreaker.exe which just pop up a response window saying "This Application Has Been Disabled"
I've also created two .lnk files - solitare.lnk and jawbreaker.lnk which contain:
22#"\Windows\Solitare.exe"
and
23#"\Windows\Jawbreaker.exe"
respectively
In my boot process I copy the executables and .lnk files to the \Windows directory and also copy the .lnk files to the
\Windows\Start Menu\Program\Games\
directory.
I don't think our users (sorry to diss them) are bright enough to figure out they have to remove all of these files to get the games working again.
Thanks for all your help.
Gremlin.
gremlin said:
(sorry to diss them)
Click to expand...
Click to collapse
But you're dissing them all the way by treating them like this.
Why shouldn't they be able to play Solitair or JawBreaker every now and then during a coffee of lunch break. A bit of light releif never did anyone any harm.
I'm glad I don't work with you. (Bah Humbug)
I have no say in how the users are treated - I am merely a developer - I get told what needs to be done and I do it. I can offer my suggestions at design time but ultimately it is not my decision how the users are treated on the shop floor.
If I was in management it would be a different story.
I'm lovely to work with - I make the tea and everything
gremlin said:
If I was in management it would be a different story.
Click to expand...
Click to collapse
Point taken. :wink:
I would argue that it's hardly worth the effort just to piss people off.
I'll have my tea with milk and no sugar.

LNK files useless?

hi,
please advise if i am wrong with my thoughts.
i think it is useless and a waste of performance to use LNK files (at least the ms ones).
lets have a look at the calendar.lnk:
if you want to launch the calendar app, you are launching first the calendar.lnk. the lnk file points to a registry setting (mscalendar). so the launcher (or systemhandler or whatever) needs to lookup there to findout what the programm-name and the required parameters are (in this case "poutlook.exe calendar". now after a while of doing nothing effectively the system finally begins to execute poutlook.exe calendar...
so whats the point of using lnk files?
i see so many launchers, programms even tweak utilities which make use of lnk files.
e.g. if you change one of your softkeys with a tweak utility to "phone", it does the same useless thing: it points to a link file instead directly to cprog.exe.
hopefully i am totally wrong but then please give me some advise.
thx
lnk is shortcut files
same as in windows
in windows if you want to start your program from the desktop
and dont want to copy the tons of files the exe file needs to start
to the desktop too you have a shortcut to the exe file
Some more on the subject:
The use of lnk files does not slow down the loading, in fact it can make it much more officiant.
Take Skype for example: it has a large executable (several MB). If you were to place that exe under "programs" to launch it it will take the system several seconds (quite noticeable period of time) just to find the icon inside the exe so even if you were just scrolling through your programs the device would appear to hang while the icon was loading.
A solution to that (which now became official part of the program installation) was to keep the icon in smaller exe (a resource dll or just plain ico file can also be used) and the lnk will "state" that the icon is not in the main exe.
Another use of the lnk files is the one you mentioned your self:
poutlook.exe calendar
Without lnk files you would be forced to type any parameters manually every time just like in the good old dos days.
By the way, the process you described, lnk-registry-exe does not take that long on current devices.
Just try launching a given exe directly and check if you notice any difference in lag.
If anything, it is the certificate check combined with relatively slow read speeds of flash memory that make WM 5 and 6 devices look sluggish.
levenum,
thanks a lot for your time and explanation.
sure, i was aware that lnk files help you to launch more easily programs with longer command strings when you use the default launcher.
but how about a different launcher (e.g. rltoday), where you setup once your config within that launcher. would you really point to the calendar.lnk file (which points to registry, which points to an exe file) instead of typing "poutlook.exe -calendar" directly into the launching path within rltoday?
anyway, if you say that there is no time lag, the discussion is more or less of "academical nature".
thanks
oliver
I am not familiar with rltoday, but it all comes down to how the programmer implemented the launcher.
There are two different commands, CreateProcess designed specifically to launch executable files and for that purpose only.
SellExecuteEx that acts exactly like a click in file explorer. The writer of the launcher has the option of which to use and I suspect they often use the second command.
The reason is simple: they want to give the user as much options as possible. If you want to bother and look up the exe and its command line, good for you, go for it. But what if you are a regular user who just wants to get that stupid icon on his today screen?
He wouldn't know or care about lnk->registry->exe. He just knows to look under windows\start menu\programs for something familiar.
Also having to interpret input of different types may be extra work so some launcher creators may want to only allow lnk and let the system understand and run their content.
That way they do not need to implement options for different icons, command line parameters and control panel applets.

[Q] free space question?

Why is that if I install an application, but then decided I do not like it a small portion of my space is gone even after the uninstall and a run through with a registry clean-up software. Any way to get this fixed?
Well the best way to get this done would be to use an application that thoroughly cleans out all traces of any installed application from your device. Shortcuts, folders, customizations, Registry entries, skins, upgrades etc. Most uninstallers aren't able to get all that done. I use SK Tools and it works pretty effectively. Gives me all my space back
the main problem is that it doesn't delete some of the files from the /windows folder.
registry keys aren't space consuming (relatively speaking of course).
usually uninstalling an application DOES delete the created folder from /program files/ or wherever.. unless you've put your own files inside the folder and then you need to delete them, and the folder, by yourself.
yeah i deleted the files there too and even used sktools and such but the more space than before is taken.
well, some files are replaced in the windows folder which are necessary to other applications. since the uninstallation of an app can't bring back the old files, it won't delete the necessary files and if they're larger than the old ones.. it'll take some space.
so i guess there is nothing I could do then?
bugtoday said:
so i guess there is nothing I could do then?
Click to expand...
Click to collapse
Well! you could do it the hard way. Hard reset the device which will wipe out everything you loaded and install by hand (i.e. not restore from a backup) all the applications you like and want one by one. Obviously not something one would want to do after every trial install and de-install. But after some number of different apps have been tried out and rejected perhaps it is worth the pain.

[Q] How to overwrite Htchomesetting.xml

I have an edited htchomesettings.xml that i want to put on my jade.
Everytime i try to drag 'n drop this file into my windows folder, i get the 'acced denied, be sure the file isn't read-only, in use or that you have enough space left'-error.
When looking at the file's properties (with Resco or total commander) it seems to be fixed in the Rom and i think that's the reason i can't overwrite it.
I already googled it and found some topics concerning this problem, and generally they all give the same advice:
http://forum.xda-developers.com/showpost.php?p=2736263&postcount=500
the problem is, i already used both programs, and apparently it does not seem to work, or i'm doing it wrong or i'm overlooking something...
So, can anyony tell me how to overwrite this file with total commander or resco, if this is possible.
Many thanks, and sorry if this is a stupid question, i searched the web for about 3 hours before asking you guys .
It's a little easier than that. The only thing you need to do is make sure that the plugin is not running. In other words, deactivate the plugin in the Settings menu. Then, do a soft reset, just to make sure that the system has stopped using it. Then you can copy and paste with any program that you like. I have found that using a PC (via ActiveSync) works best. Good luck!!
Thanks for the quick reply thunder.
Unfortunately, it did not work out. I deactivated TouchFlo already (and did the reset). And still it gives me the same error.
"Cannot copy HtcHomeSettings. Make sure your device has sufficient memory, that the file is not set as read-only, and that you have permission to copy this file type"
This time I simply used Active sync as you told me.
Again, does it have something to do with the fact that this file is hardcoded on the rom?
rubain013 said:
Thanks for the quick reply thunder.
Unfortunately, it did not work out. I deactivated TouchFlo already (and did the reset). And still it gives me the same error.
"Cannot copy HtcHomeSettings. Make sure your device has sufficient memory, that the file is not set as read-only, and that you have permission to copy this file type"
This time I simply used Active sync as you told me.
Again, does it have something to do with the fact that this file is hardcoded on the rom?
Click to expand...
Click to collapse
Unfortunately, if it is built into the rom, you will probably have a hard time copying over it. Have you tried to edit the file directly on the phone? I believe that there are a few xml editors for ppc floating out there, you could try that. Also, is there anything in particular that you want to do that requires you to modify the xml? Reason I am asking is because you could use M2D Customizer if you are only looking into modifying some settings. Hope this helps...
Allright, found out how to overwrite it!
Made a .m2dct file containing my preferred theme and settings, then i edited the included HtcHomeSettings.xml file.
Then i used the M2D customizer to load the .2mdct file, and that worked perfectly.
Thanks for the hint, Thunder!

games into games folder

hi there i've installed some games onto my HD2 (uno, FM, tonyhawks) and want to locate them in the games folder not in the main windows area. can anyone help me do this?
open file explorer. browse to windows/startmenu/programs.....look for ur games shortcuts......cut..... nd paste in windows/startmenu/programs/games. done
You're not done at all.
OK, it will move the shortcut to the correct folder, but the icon won't follow. It's defined in the registry ([HKLM\Security\Shell\Startinfo\Start] then the folder name, then the shortcut name, string value "Icon").
People making CABs should be a bit less lousy and direct shortcuts to the correct folder, same for the acompanying icon.
Actually, some people put icon definitions into several registry keys, so they will "follow" the shortcut if you move it. It's actually a satisfying alternative, if you consider it gives the user the ability to put the shortcut wherever he wants (including copying it to several locations) without losing the icon.
But yes, having shortcuts piling up into the Start Menu's first level, or even worse, placing them into dummy folders with a fixed name (sometimes in a foreign language), is pig work, and I saw even worse (yes, it's possible !) : shortcuts landing to a foreign language "Programs" or even "Start menu" folder, so actually not even displaying in the Start Menu !
When you create (or modify) a CAB file, you should heavily use aliases in order to let Windows Mobile translate them to the actual names during installation.
For instance, if you wanted to direct a shortcut to the "Games" folder, whatever its actual name in your own language is, you should NOT put it into "\Windows\StartMenu\Programs\Games" (neither into "%StartMenu_Programs%\Games", though it's still better like that), but you should actually use "%StartMenu_Programs_Games%", which will put the shortcut in the exact correct location.
You can do the same for the program's location itself. For instance, %ProgramFiles_Games% will direct it to the correct folder, according to your system's language, and will even do so, either you choose to install it on the internal memory, or on the SD card.
You can use these aliases inside registry values, too.
Unfortunately, this process may sometimes do it "too much".
It's the case on cooked ROMs, where the author may retain WWE names for some folders and translate others, sometimes using his own syntax. Since the CAB will always translate using the official way, it may still land in an incorrect location...
The ony way to be sure you'll obtain the wanted result, anyway, is to get some CAB editor program and peek inside before copying them to the pocket PC and installing them... And maybe, fix them before using them.
It will be handy each time you'll need to reinstal it, so don't mind inspecting and fixing the CABs you find : it's always better than crashing your system because something wrong or inadequate to your setup was put inside.
One classic case is TouchFlo / Sense tabs, for instance.
Unfortunately, they're all defined inside a unique XML Manila file, so you actually can't just ADD a tab : in fact, this notion does not even exist ; all you can do is overwrite your whole tabs list with another complete one, and pray that you'll end up with the same list, plus the new one... Would you bet your life on that ? I won't.
In real life, you really can NEVER trust a CAB intended to add a tab to your existing setup, as the author most probably don't have the same tabs as you have. In the best case, you'll just loose some tabs (they'll just disappear, even in the tabs list from the settings, and you won't get them back) : the programs and files are still there, but their definition file will have been replaced by the new one. And in the worst case, it will add a definition for a tab whose programs and files are not previously installed on your phone - and you'll crash it once and for all.
That's the reason why now, I never give a tab CAB containing any tabs definitions. I only provide all but the tabs list, and provide separate CABs for all the possible tabs combinations - and you have to choose and use the good one. Or use Maltwater's SenseUtil program to setup your tabs. The good news is my method will setup all the tabs in perfect order as soon as you've soft resetted the device, since my CABs contain the XML file, plus all the registry keys, plus it resets ManiFull.xml.
So, people, whatever I said about good CABs putting the shortcuts where they should... OK, you may be lucky... But the right behaviour should always be to look inside CABs before trying them. You can trust me !
i'm new coming nice to know all
russeini said:
open file explorer. browse to windows/startmenu/programs.....look for ur games shortcuts......cut..... nd paste in windows/startmenu/programs/games. done
Click to expand...
Click to collapse
It's been a while since I had the need to move icons, so there may be newer versions of this program, but the JWMDIconChanger will move the icons for you.

Categories

Resources