Dear all:
I am developping a program to change XDAII's sound.
using waveOutSetVolume() and waveOutGetVolume() can set and get XDAII's volume correctly, when playing multimedia or other applications.
But it does not work for GSM call. I mean in a GSM call, these two functions cannot do anything about gsm's volume.
Who know how to set and get GSM's volume in a call?
using waveOutGetNumDevs() can only return 1, which means only 1 waveform device available. whether it is mean GSM audio device is not a waveform device? then how to control it?
thanks
Do u means ringtone volume?
YES. Do u have any idea?
Not sure if this will work but try looking up phoneSetRing in the help:-
LONG WINAPI phoneSetRing(
HPHONE hPhone,
DWORD dwRingMode,
DWORD dwVolume
);
hPhone
Handle to the open phone device. The application must be the owner of the phone device.
dwRingMode
Ringing pattern with which to ring the phone. This parameter must be within the range of zero to the value of the dwNumRingModes member in the PHONECAPS structure. If dwNumRingModes is zero, the ring mode of the phone cannot be controlled; if dwNumRingModes is 1, a value of zero for dwRingMode indicates that the phone should not be rung (silence), and other values from 1 to dwNumRingModes are valid ring modes for the phone device.
dwVolume
The volume level with which the phone is ringing. This is a number in the range 0x00000000 (silence) to 0x0000FFFF (maximum volume). The actual granularity and quantization of volume settings in this range are service provider-specific. A value for dwVolume that is out of range is set to the nearest value in the range.
Jamie
I know how to set ring volume, but how to display it?
Dear all:
Now i can set ring volume according some experts help. they had ever past some guides in this forum. I just re-paste part of my program.
void SetGSMVolume(DWORD *devGSMVolumeLevel)
{
HKEY Key = NULL;
//dwPhoneVolumeLevel between 0 and 0xFFFFFFFF
DWORD res = RegOpenKeyEx(HKEY_CURRENT_USER,_T("\\ControlPanel\\Volume"),0,0,&Key);
if (res == ERROR_SUCCESS)
{
res = RegSetValueEx(Key,_T("Ringer"),0,REG_DWORD,(LPBYTE)devGSMVolumeLevel,sizeof(DWORD));
if (res != ERROR_SUCCESS) {;}
//RegCloseKey(Key);
}
RegCloseKey(Key);
Sleep(500);
}
But I meet another question: I can set any value for the ring, and read it out correctly. But the display on icon is not right. The icon always fixed at some point, I can set it use pen, not program.
Who can help me to synchrize the display and my ring volume?
The value in registry is aligned with what i set, not same with its display.
thanks
I've a question to change the telephone sound volume of the mda II for speaking. For this I found the function phoneSetVolume(HPHONE hPhone, DWORD dwHookSwitchDev, DWORD dwVolume) of the TAPI.
Now I've the problem that I don't know how to get the handle to the phone (HPHONE).
Can anybody help me?
Thanks!
use phoneOpen
There is still a problem...
Okay, but the function phoneOpen requires also parameters which I don't know where I can get they. For instance the HPHONEAPP. Where can I get the phone application or the deviceID and then the LPPHONE.
I am very thankful to you when you could help me how to get the parameters.
Or is it possible to change the volume of the telephone speaker by changing a registry key? Do you know the key name?
Thanks a lot!
Re: There is still a problem...
phoneInitializeEx gives you PhoneApp and number of phone devices, phoneOpen gives you hPhone, deviceID is probably 0 (test all deviceIDs starting from 0 to the count returned by phoneInitializeEx). Read MSDN for more information.
I don't know the registry key, and modifying it would not change the device volume immediately.
Thanks for your reply!
When I use the function phoneInitializeEx() it returns a value that is negative but not an determined error. Here is my code. Can you say me whats wrong?!
HPHONEAPP lpHPhoneApp;
DWORD lpdwNumDevs;
DWORD lpdwAPIVersion;
PHONEINITIALIZEEXPARAMS lpPhoneInitializeExParams;
long result = phoneInitializeEx(&lpHPhoneApp, NULL, NULL, NULL, &lpdwNumDevs, &lpdwAPIVersion, &lpPhoneInitializeExParams);
hey guys,
is the a possibility to turn off the green led blinking?
Yes, put the phone into flight mode.
The top led blinking green indicates you have a signal on the network.
Steady orange - charging
Steady green - charge complete.
Bottom led: flashing green - active wifi
flashing blue - active bluetooth
well, without losing connection to the network.
any registryhack?
is there nothing to switch the led off? (without loosing connection! )
i will pay for the feature
ok there is no free solution?!
Is here anybody who could code a solution? if so, how much is it?
yours, acco
There is a solution. Its not expensive too.
Non transparent tape.
Just don't look at the led or simply note the blinking time it takes and close your eye accordingly.
Hehehe..
This thread is pretty funny
you can crack it totaly make it blank with a pencil....
haha!!
I absolutely mean it serious!
I suppose there might be registry entries that control it but I reckon you're stuck with it.
There ist only one entry with "LED" in the name.
HKEY_LOCAL_MACHINE/Security/System/SYSTEM/NLedAPIsReady = Notification LED APIs
And the same in Events.
And one called nleddrvr.dll maybe NotifyLEDDriver...
I think we have to wait for a while. My ex-device a I-mate Jasjar we have a .cab that make the green light no visible.
I didn't found a .cab yet, but as soon as I found it I'll tell you all.
Hi,
hm... i have waited for one month now. but it seem to be not enough!?...
ok, i'm still hoping!
aco
Maybe this can help some people.
Disable menu animations
To disable menu animations (sliding in/out) and speed up performance of the UI a bit:
HKLM\SYSTEM\GWE\Menu\AniType = 0 (DWORD decimal)
To change it back to the default:
HKLM\SYSTEM\GWE\Menu\AniType = 6 (DWORD decimal)
Disable window animations
To disable window animations (minimizing/maximizing) and speed up performance of the UI a bit:
HKLM\SYSTEM\GWE\Animate = 0 (DWORD decimal)
And to switch them back on:
HKLM\SYSTEM\GWE\Animate = 1 (DWORD decimal)
Increase font cache
To increase the font cache, speeding up font rendering at the cost of a bit of memory:
HKLM\SYSTEM\GDI\GLYPHCACHE\limit = 16384 (DWORD decimal)
To change it back to the default:
HKLM\SYSTEM\GDI\GLYPHCACHE\limit = 8192 (DWORD decimal)
You can set the value to pretty much anything you like
Enable FileSystem cache
To enable the FileSystem cache, speeding up overall performance at the risk of the cache not being written on a sudden reset:
HKLM\System\StorageManager\FATFS\EnableCache = 1 (DWORD decimal)
To disable again:
HKLM\System\StorageManager\FATFS\EnableCache = 0 (DWORD decimal)
Note that by default, the cache size is zero, and you will see no effect. See "Increase FileSystem cache" to incease the cache size
Increase FileSystem cache
To increase the file system cache:
HKLM\System\StorageManager\FATFS\CacheSize = 4096 (DWORD decimal)
To return the file system cache to zero:
HKLM\System\StorageManager\FATFS\CacheSize = 0 (DWORD decimal)
You can set the value to pretty much anything you like
Increase FileSystem filter cache
To enable the file system filter cache, speeding up overall performance with file mangement:
HKLM\System\StorageManager\Filters\fsreplxfilt\ReplStoreCacheSize = 4096 (DWORD decimal)
To return the file system filter cache to zero:
HKLM\System\StorageManager\Filters\fsreplxfilt\ReplStoreCacheSize = 0 (DWORD decimal)
You can set the value to pretty much anything you like
Change the thickness of scrollbars
To change the thickness of the scrollbars at the right/bottom of documents larger than the screen, adjust...
For the horizontal (bottom) scrollbar:
HKLM\System\GWE\cyHScr = 9 (DWORD decimal)
For the vertical (right) scrollbar:
HKLM\System\GWE\cxVScr = 9 (DWORD decimal)
The default thickness is 13. You can set the value to pretty much anything you like
Change the length of scrollbar arrow buttons
To go with changing the thickness of the scrollbars, you may wish to change the length of the scrollbar arrow buttons...
For the horizontal (bottom) scrollbar arrows:
HKLM\System\GWE\cyVScr = 9 (DWORD decimal)
For the vertical (right) scrollbar:
HKLM\System\GWE\cxHScr = 9 (DWORD decimal)
The default length is 13. You can set the value to pretty much anything you like
Enable ClearType in Landscape mode
To enable ClearType in Landscape mode:
HKLM\System\GDI\ClearTypeSettings\OffOnRotation = 0 (DWORD decimal)
To disable:
HKLM\System\GDI\ClearTypeSettings\OffOnRotation = 1 (DWORD decimal)
Note that your PocketPC screen's LCD red/green/blue ordering required for proper ClearType display is only correct for Portrait display. You may or may not prefer to leave ClearType in Landscape mode disabled
Add a 'Disconnect' button (and Timer) to the Connection List for GPRS
To add a Disconnect button:
HKLM\ControlPanel\Phone\Flags2 = 8 (DWORD decimal)
To add a Disconnect button and a timer display showing how long GRPS is in use for the session:
HKLM\ControlPanel\Phone\Flags2 = 16 (DWORD decimal)
To disable both the Disconnect button and the timer:
HKLM\ControlPanel\Phone\Flags2 = 0 (DWORD decimal)
Change the 'user agent' identification of Pocket Internet Explorer
To change the 'user agent' identification of Pocket Internet Explorer, several fields need to be adjusted. The example shows how to identify as Internet Explorer 6 - desktop version
The standard compliance 'user-agent' string:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\User Agent\(Default) = "Mozilla/4.0" (REG_SZ string, no quotes)
Defaults to "Mozilla/2.0" The application/version string:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\User Agent\Version = "MSIE 6.0" (REG_SZ string, no quotes)
Defaults to "MSIE 4.01" The host operating system string:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\User Agent\Platform = "Windows NT 5.0" (REG_SZ string, no quotes)
Defaults to "Windows CE" Please note that if you change the Platform string, PDA-friendly sites may stop sending you PDA-friendly content automatically. Leave this string set to "Windows CE" unless a site absolutely refuses to work, or you want the site to feed you its normal content.
Change the location of 'Temporary Internet Files'
When browsing the web, pages and images are saved in the 'Temporary Internet Files' location. You can change this location to, for example, your Storage Card:
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Cache = "\Storage Card\cacheie" (REG_SZ string, no quotes)
To return to the original location:
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Cache = "\Windows\Profiles\guest\Temporary Internet Files" (REG_SZ string, no quotes)
Change the display of the clock in the taskbar
The clock in the taskbar can be changed to show not only the time, but also the date, or just the date, or nothing at all.
To show nothing:
HKLM\Software\Microsoft\Shell\TBOpt = 0 (DWORD decimal)
To show just the clock:
HKLM\Software\Microsoft\Shell\TBOpt = 1 (DWORD decimal)
To show just the date:
HKLM\Software\Microsoft\Shell\TBOpt = 2 (DWORD decimal)
To show both the date and the clock:
HKLM\Software\Microsoft\Shell\TBOpt = 3 (DWORD decimal)
Note 1: If you switch to the Analog clock display, the date will remain visible -through- the Analog clock
Note 2: Setting the clock to show 'nothing' will still keep the reserved space, showing the taskbar background, and obscure any icons that will shift to the right.
Note 3: Your date may get obscured by the space reserved for the OK/Close button in the top-right. You can fix this my adding spaces at the end of your 'Short Date Format'. See also the tweak on 'Change the Short Date Format'
Change the Short Date Format
Applications may call upon the system to provide a 'short date format'. One such application is the Date/Time display in the taskbar, if set to show the date. To change the Short Date Format to show "Mon/2" (example):
HKLM\nls\overrides\SSDte = "ddd/d " (REG_SZ string, no quotes)
Note 1: For more information on date/time formatting strings, see: http://msdn.microsoft.com/library/d...vbenlr98/html/vafmtuserdefineddateformats.asp
Note 2: All applications using the short date format will be affected by this change. Choose wisely
Disable the security warning when installing non-certified application
To disable the security warning when installing a non-certfied application, set:
HKLM\Security\Policies\Policies\0000101a = 1 (DWORD decimal)
To restore the warnings:
HKLM\Security\Policies\Policies\0000101a = 0 (DWORD decimal)
Note that this makes it easier for any malware to install itself
Change the application launched by Today screen Soft Keys
To change the application launched by the Today screen Left soft key:
HKCU\Software\Microsoft\Today\Keys\112\Open = "\Windows\Calendar.exe" (REG_SZ string, including quotes)
To change the title of the Left soft key:
HKCU\Software\Microsoft\Today\Keys\112\(Default) = "Calendar" (REG_SZ string, no quotes)
To change the application launched by the Today screen Right soft key:
HKCU\Software\Microsoft\Today\Keys\113\Open = "\Windows\Start Menu\Programs\Contacts.lnk" (REG_SZ string, including quotes)
To change the title of the Right soft key:
HKCU\Software\Microsoft\Today\Keys\113\(Default) = "Contacts" (REG_SZ string, no quotes)
Note that 113 normally doesn't exist by default, and probably needs to be created
Also note that there is at least 1 application that allows you to set these through a GUI, developed by FdcSoft called SoftKeyAppletEx
Disable 3gp (video) size limit
To disable the 3gp (video recording format) size limit:
HKLM\SOFTWARE\HTC\camera\AppDefSettings\P3\EnableLimit = 0 (DWORD decimal)
To re-enable:
HKLM\SOFTWARE\HTC\camera\AppDefSettings\P3\EnableLimit = 1 (DWORD decimal)
Add GPS settings icon
If you have a GPS device, you can add a GPS settings icon to your Start > Settings menu using:
HKLM\ControlPanel\GPS Settings\Group = 2 (DWORD decimal)
HKLM\ControlPanel\GPS Settings\redirect <-- delete, or rename, this value
Note that '2' stands for the Connections tab, '1' is System and '0' would be Personal
Note also that this has reportedly disabled one person's USB connectivity. To restore, set "GPS Program Port = None", "GPS Connection Port = None", "Automatic GPS Management = on"
Add Lunar Calendar mode to Calendar
You can add a Lunar Calendar mode to the Calendar view, showing a 'Month' view with the Lunar months/days.
HKLM\Software\Microsoft\Calendar\ShowLunarCalendar = 1 (DWORD decimal)
And to disable again:
HKLM\Software\Microsoft\Calendar\ShowLunarCalendar = 0 (DWORD decimal)
Change location of ringtones
You can change the location where WM5 will look for ringtones by adjusting the following key (example given is for ringtones placed on the Storage Card root folder)
HKCU\ControlPanel\Sound\Categories\Ring\Directory = "\Storage Card\" (REG_SZ string, no quotes)
The default location may be "\Windows\" or "\Windows\Rings\" depending on your Device provider
Change slide-out keyboard layout
If you have a Device from one country, but would like to use the keyboard layout of another, you can change the keyboard's language setting to do so...
For US layout (QWERTY):
HKCU\ControlPanel\Keybd\Locale = 1033 (DWORD decimal)
For German layout (QWERTZ):
HKCU\ControlPanel\Keybd\Locale = 1031 (DWORD decimal)
For French layout (AZERTY):
HKCU\ControlPanel\Keybd\Locale = 1036 (DWORD decimal)
For other codes, see: http://www.microsoft.com/globaldev/reference/winxp/xp-lcid.mspx
Show Edge network indicator instead of GPRS
If your network provider supports the Edge network (and your device does as well), you can use the following to show a little 'E' icon instead of 'G' icon when connected to an Edge network:
HKLM\Drivers\BuiltIn\RIL\EnableDifferGprsEdgeIcon = 1 (DWORD decimal)
To disable again:
HKLM\Drivers\BuiltIn\RIL\EnableDifferGprsEdgeIcon = 0 (DWORD decimal)
Note that your device -and- your network operator need to support Edge, otherwise you won't see it. Also note that if you connect to GPRS, you will still see the 'G' icon.
Make reminders show only once
By default, reminders will keep bugging you for 2 minutes. You can change this to zero minutes by adjusting this value:
HKCU\ControlPanel\Notifications\Reminders\AutoSnooze\AutoSnoozeMins = 0 (DWORD decimanl)
Note that you can set this to any value you like. Alternative to setting this value to zero is to delete the '?AutoSnooze' key altogether
Remove operator skin from Phone app
If your device's Phone app is skinned, you can remove by setting:
HKLM\Security\Phone\Skin\Enabled = 0 (DWORD decimal)
Similarly, you can restore it with:
HKLM\Security\Phone\Skin\Enabled = 1 (DWORD decimal)
En/Disable receiving of files over BlueTooth/IrDA
If you want to prevent receiving files over BlueTooth or IrDA, you can set the following value:
HKLM\Software\Microsoft\Obex\IsEnabled = 0 (DWORD decimal)
And to (re-)enable:
HKLM\Software\Microsoft\Obex\IsEnabled = 1 (DWORD decimal)
GPRS always on
If you want your GPRS (or EDGE) connection to always be on, set the following:
HKLM\Comm\ConnMgr\Providers\{7C4B7A38-5FF7-4bc1-80F6-5DA7870BB1AA}\Connections\|gprs connection name|\AlwaysOn = 1 (DWORD decimal)
And to turn it off:
HKLM\Comm\ConnMgr\Providers\{7C4B7A38-5FF7-4bc1-80F6-5DA7870BB1AA}\Connections\|gprs connection name|\AlwaysOn = 0 (DWORD decimal)
Note that |gprs connection name| will depend on the name you've given your GPRS connection
Hide/Show Screen orientation icon
If you wish to hide the Screen orientation icon, shown in the task bar on some devices, you can set:
HKLM\System\GDI\Rotation\HideOrientationUI = 1 (DWORD decimal)
And to show it again:
HKLM\System\GDI\Rotation\HideOrientationUI = 0 (DWORD decimal)
If this doesn't work, you can try:
HKLM\Services\screenrotate = 0 (DWORD decimal)
And to show it again:
HKLM\Services\screenrotate = 1 (DWORD decimal)
Note that this icon and its feature may not be available on your device at all.
Hide/Show battery indicator in Task bar
If you wish to hide the battery indicator in the task bar on some devices, you can set:
HKLM\Services\Power\ShowIcon = 0 (DWORD decimal)
And to show:
HKLM\Services\Power\ShowIcon = 1 (DWORD decimal)
Note that this icon and its feature may not be available on your device at all. For example, the HTC Wizard regularly ships with a battery indicator in the Tray instead, governed by "Windows\Startup\Init_Tray.exe"._
_Note also that this reportedly does not work on AKU2 ROMs to remove the new battery indicator
Show slide-out keyboard caps/dot icon next to SIP
If your device contains a file called "capnotify.exe", try running it (most devices that have it will already have it in the Windows\StartUp\ folder), and setting the following value to get a visual presentation of whether you are in caps or dot (alternate key function) mode:
HKCU\ControlPanel\Keybd\EnableIndicator = 1
Please note that if your device has no external keyboard with caps/dot mode, you won't gain anything from this tweak
Please also note that the application "?CapNotify.exe" must be running (normally found in \Windows\?StartUp\ already) for this to work
Change ringtone/vibrate/LED flash characteristics
If you would like more control over how your device rings/vibrates/flashes its LEDs on events, you can can change the Script values of these events. For example, for an incoming call performing 'activate device, play ringtone, wait 3 seconds, repeat':
HKCU\ControlPanel\Sounds\RingTone0\Script = "apw3r" (REG_SZ string, no quotes)
For performing 'active device, set volume to 33%, play ringtone, set volume to 67%, play ringtone, set volume to 100%, play ringtone (no repeat)':
HKCU\ControlPanel\Sounds\RingTone0\Script = "ac33pc67pc100p" (REG_SZ string, no quotes)
The following are the full codes available to you. Please note that all the codes are executed simultaneously except after a ringtone play / wait code. E.g. 'v1p' will vibrate and play at the same time, while vibrating for 1 second. But 'pv1' will play the ringtone through all the way first, then start vibrating for 1 second.
a = activate device
cN = set volume to N in percentage max volume
fN = flash notification LED for N seconds
p = play ringtone. Note that this will play the ringtone all the way through before continuing with the next code.
r = repeat. Note that this should be the last code in your Script string, if used at all.
vN = vibrate for N seconds
wN = wait for N seconds. Note that the device will wait this long before continuing with the next code.
Change the keyboard backlight duration
To change the duration of the keyboard backlight, you can set (example is 30 seconds):
HKCU\ControlPanel\Backlight\QKeyLedTimeout = 30 (DWORD decimal)
Please note that this may not work on some devices. One such notable exception is the HTC Wizard.
Disable the SMS Sent notification
If you're tired of the "Message Sent" notification after sending an SMS/text message, you can disable them:
HKLM\Software\Microsoft\Inbox\Settings\SMSNoSentMsg = 1 (DWORD decimal)
And to re-enable:
HKLM\Software\Microsoft\Inbox\Settings\SMSNoSentMsg = 0 (DWORD decimal)
Please note that the 'Settings' key may not exist in your device, and thus may have to be created first.
Change the SMS Sent notification text
If you just want the "Message Sent" notification to read something different, adjust the following:
HKLM\Software\Microsoft\Inbox\Svc\SMS\MessageSent = "Message Sent" (REG_SZ string, no quotes)
Always require SMS Delivery notification
If you always want an SMS Delivery notification (see note below!), and are tired of ticking the 'Request message delivery notification' checkbox, set:
HKCU\Software\Microsoft\Inbox\Settings\SMSDeliveryNotify = 1 (DWORD decimal)
To disable again:
HKCU\Software\Microsoft\Inbox\Settings\SMSDeliveryNotify = 0 (DWORD decimal)
Note 1: Delivery notifications will depend on your and the recipient's operator network capabilities! Note 2: You can still override this with the regular checkbox.
Set default SIP
The default SIP on practically every device is the Keyboard. You may prefer entry with a different SIP. If so, you can set this to be the default SIP through:
HKCU\ControlPanel\SIP\DefaultIM = |SIP ClassID|
The |SIP ClassID| will depend on the SIP's ClassID, which may vary per-device. You can find the correct ClassID by searching for "IsSIPInputMethod" in HKCR, then going to the top key and checking the name of the SIP that's in the (Default) value.
Please note that this doesn't work with all SIPs. Transcriber/Calligrapher are two examples of this.
You can, however, set Transcriber as the default SIP by starting Transcriber.exe on startup. (This should be moved to, or added to, non-registry Tweaks page)
WARNING: Do not assume that the below ClassIDs would be -as found- on your device! Setting it to a non-existant SIP may prevent your device from booting up!
The following are some of the ClassIDs typically found:
Typical pre-installed:
{42429667-ae04-11d0-a4f8-00aa00a749b9} = Keyboard
{51A2CB38-154E-4C92-A625-A83871C99EC2} = Phone Pad
{42429690-ae04-11d0-a4f8-00aa00a749b9} = Letter Recognizer
{42429691-ae04-11d0-a4f8-00aa00a749b9} = Block Recognizer
{F0034DD0-2AD4-11d1-9CB0-E84BE8000000} = Transcriber
Third Party:
{991A1001-9DCB-11d3-B3C2-000000000000} = AccessPanel
{1E03E205-12D7-4d82-963E-C01889F2EC10} = Claviature
{95BDB641-772F-11d2-AC6B-204C4F4F5020} = Fitaly
{52429695-AE04-11D0-A4F8-00AA00A749B9} = FleXslide
{4EAD10BD-83AC-44b9-99AE-71958C1B0F0E} = InPad
{C099F78A-924E-4814-A8CF-54E7BD8C2124} = JetKeys
{4128DEE4-EE84-4338-A261-CC704CB32C19} = NanoPad
{42429695-AE04-11D0-A4F8-00AA00A749B9} = NullKB
{025ECAC2-075B-4b82-A972-05E4C17719EA} = PDAMedia Excel
{FA957346-A925-4b68-B9E1-D3D0310F4433} = PDAMEdia KBD
{DE6510EF-6691-401D-B1D3-B9074BFD1555} = PHM Character Map
{81FC2CAD-AD71-4793-9464-36D27630E584} = PHM Clipboard Pane
{9DD23292-0AB3-48F2-A245-0713652A8CEE} = PHM Ext. Keyboard
{FFFD6819-FF21-4e93-B844-A1BBF986B55C} = QuikWriting
{991A1000-9DCB-11d3-B3C2-000000000000} = RapidCalc
{A070BE16-AD56-11d3-BC77-00C06C512035} = Resco Keyboard Pro
{7F0854D9-9ADA-45A9-A3A2-189D9BE8A653} = Smilies Input Panel
{26F56EF0-2CE8-4C46-ADC8-FE0A7DF12DD1} = SPB Fullscreen Keyboard
{5efab5bd-0af5-48f8-abec-6f36e3a0b5af} = TenGo
{8A7968F3-677B-4F64-859C-8A49FCCCB9BF} = TextPlus
{A5304BFA-CC1D-493f-87D3-D9C17147FA32} = TopKey
{4345EA53-B8A5-4E24-A14A-F7C34DD78077} = WordLogic
Add/remove items from the SIP list
If you have a few items in your SIP list which you don't use, they can be removed from the list by setting the IsSIPInputMethod for each item you want removed. To remove the SIP from the list, replace the $SIP_CLSID$ in the example below with a CLSID from the Set default SIP tweak.:
HKEY_CLASSES_ROOT\CLSID\$SIP_CLSID$\IsSIPInputMethod\(Default) = 0 (DWORD decimal)
To add it back to the list:
HKEY_CLASSES_ROOT\CLSID\$SIP_CLSID$\IsSIPInputMethod\(Default) = 1 (DWORD decimal)
Put custom text on bottom-right of Today screen
You can set some piece of text on the bottom-right of the Today Screen by setting the following key:
HKLM\Software\Microsoft\Shell\DeviceBeta\Today = "Hello World" (REG_SZ string, no quotes)
Please note that this text won't take up Today item text. It will be obscured by Today items.
Navigate PIE up/down with the four-way pad
By default, PIE uses the four-way pad's up/down buttons to jump between hyperlinks and form fields. You can set it up to page up/down instead by setting:
\HKLM\Software\Microsoft\Internet Explorer\Navigation\4-Way Nav = 0 (DWORD decimal)
And to re-enable hyperlink/form field navigation:
\HKLM\Software\Microsoft\Internet Explorer\Navigation\4-Way Nav = 1 (DWORD decimal)
Note that you may still jump between links using Tab and Shift-Tab if your Device has a built-in hardware keyboard.
Navigate PIE up/down with any key
You can change the keys used by IE for page up/page down browsing by creating keys linked to these controls:
Page Up:
HKLM\Software\Microsoft\Internet Explorer\KeyMaps\|key code| = 1 (DWORD decimal)
Page Down
HKLM\Software\Microsoft\Internet Explorer\KeyMaps\|key code| = 2 (DWORD decimal)
Where |key code| is the code of the key pressed. For example, if your Device has a phone pad on the front, you may prefer to use the '2' key (keycode 50) for page up, and the '8' key (keycode 56) for page down, leaving the four-way pad to browse links:
HKLM\Software\Microsoft\Internet Explorer\KeyMaps\50 = 1 (DWORD decimal)
HKLM\Software\Microsoft\Internet Explorer\KeyMaps\56 = 2 (DWORD decimal)
Disable charging over USB
If your device can charge over USB, you can probably disable this feature by setting:
HKLM\Drivers\BuiltIn\usbfndrv\EnableUsbCharging = 0 (DWORD decimal)
And to re-enable:
HKLM\Drivers\BuiltIn\usbfndrv\EnableUsbCharging = 1 (DWORD decimal)
Show Calendar event text in Week View
If you wish to see a Calendar event's text in the Week View, set the following:
HKCU\Software\Microsoft\Calendar\ShowTextInWeekView = 1 (DWORD decimal)
To disable it again:
HKCU\Software\Microsoft\Calendar\ShowTextInWeekView = 0 (DWORD decimal)
Please note that your event must have long enough a duration to show the event text, and the week view (with its narrow columns) truncates long words easily
Also note that the key "Calendar" may not exist - just create it if it doesn't
Change Calendar 'working days'
If you wish to change the 'working days' in the calendar, adjust the following:
For a Mon-Fri workweek (default):
HKLM\Software\Microsoft\Calendar\ActiveTimes\ActiveTimes = 2210003E (DWORD hexadecimal)
For a Mon-Sat workweek:
HKLM\Software\Microsoft\Calendar\ActiveTimes\ActiveTimes = 2210007E (DWORD hexadecimal)
For a Tue-Thu workweek:
HKLM\Software\Microsoft\Calendar\ActiveTimes\ActiveTimes = 22100016 (DWORD hexadecimal)
Here's how this works. When editing the value, switch to "Binary" mode. For the default Mon-Fri, you should see:
100010000100000000000000111110
The last 7 numbers are what we're interested in. They stand for the days of the week, in reverse order: Saturday, Friday, Thursday, Wednesday, Tuesday, Monday, Sunday. When the number is "1", it is a working day. If it is "0", it's not a working day. So to look at the above examples again:
Days : SFTWTMS
Mon-Fri: 0111110
Mon-Sat: 1111110
Tue-Thu: 0011100
Using the above, you should be able to set the working days to whatever you'd like.
Note that this value also adjusts the working HOURS. The examples here all use the default 8am-5pm workday. See the "Change Calendar 'working hours'" tweak to modify this.
Note that the ActiveTimes key and value may not exist. Simply create them first.
Change Calendar 'working hours'
If you wish to change the 'working hours' in the calendar, adjust the following:
For 8am-5pm (default):
HKLM\Software\Microsoft\Calendar\ActiveTimes\ActiveTimes = 2210003E (DWORD hexadecimal)
For 9am-5pm:
HKLM\Software\Microsoft\Calendar\ActiveTimes\ActiveTimes = 2212003E (DWORD hexadecimal)
For 2pm-10pm:
HKLM\Software\Microsoft\Calendar\ActiveTimes\ActiveTimes = 2C1C003E (DWORD hexadecimal)
Here's how this works.
The first 2 characters define the ending hour as a count of half hours since midnight, in hexadecimal. So for midnight, it would be 0 half hours in hexadecimal = 0. 5pm is 17 hours, or 34 half hours. 34 in hexadecimal is 22. 10pm is 22 hours, or 44 half hours. 44 in hexadecimal is 2C. You can use a calculator capable of hexadecimal conversions to get the hexadecimal number.
Similarly, the next 2 characters define the starting hour as a count of half hours since midnight, in hexadecimal. So for 8am.. 16 half hours, 16 in hexadecimal is 10. 9am = 18 half hours = 12. 14h = 28hh = 1C.
Using the above, you should be able to se the working hours to whatever you'd line.
Note that this value also adjusts the working DAYS. The examples here all use the default Mon-Fri workweek. See the "Change Calendar 'working days'" tweak to modify this.
Note that the ActiveTimes key and value may not exist. Simply create them first.
Note that you cannot set the End time earlier than the Start time, for obvious reasons
Note that you cannot set a Midnight end time. The best you can do is 11.30pm (2F)
Show 'busy status' in Calendar Agenda View
To show the "Free"/"Tentative"/"Out of office" states in the Agenda View, set:
HKLM\Software\Microsoft\Calendar\ShowBusyInDescription = 1 (DWORD decimal)
To hide it again:
HKLM\Software\Microsoft\Calendar\ShowBusyInDescription = 0 (DWORD decimal)
Note that this only appears to affect the 'Agenda' view. No other views, and not the Today Screen item.
Make WM5 ask where to install a program (1)
If you wish to be able to specify whether to install a program on WM5's Main storage, or your Storage Card, regardless of installer setting set:
HKLM\Software\apps\Microsoft Application Installer\fAskDest = 1 (DWORD decimal)
To disable again:
HKLM\Software\apps\Microsoft Application Installer\fAskDest = 0 (DWORD decimal)
Please note that many applications do not support being installed on the Storage Card and may behave unpredictably, including crashing
Make WM5 ask where to install a program (2)
An alternative method of making WM5 ask where to install a program is by adding the "/askdest" option to the Windows CE loader:
HKCR\cabfile\Shell\open\command = 'wceload.exe "%1" /askdest' (REG_SZ string, no quotes)
Make WM5 keep CAB files around after installing (1)
If you wish to keep the original .CAB file around after installing the application, set:
HKLM\Software\apps\Microsoft Application Installer\nDynamicDelete = 0 (DWORD decimal)
Or to restore to the default:
HKLM\Software\apps\Microsoft Application Installer\nDynamicDelete = 2 (DWORD decimal)
Make WM5 keep CAB files around after installing (2)
An alternative method of making WM5 keep the original .CAB file around after installing the application is by adding the "/nodelete" option to the Windows CE loader:
HKCR\cabfile\Shell\open\command = 'wceload.exe "%1" /nodelete' (REG_SZ string, no quotes)
Make WM5 prompt before overwriting an existing installation
If you wish to make WM5 prompt you before overwriting an existing installation, set:
HKLM\Software\apps\Microsoft Application Installer\fAskOptions = 1 (DWORD decimal)
To disable again:
HKLM\Software\apps\Microsoft Application Installer\fAskOptions = 0 (DWORD decimal)
Show Tomorrow's Appointments on Calendar Today item
If you wish to see tomorrow's Appointments on the Calendar Today item, set:
If you wish to see today's All Day event as well:
HKLM\Software\Microsoft\Today\Items\Calendar\Flags = 5 (DWORD decimal)
If you do not wish to see today's All Day event:
HKLM\Software\Microsoft\Today\Items\Calendar\Flags = 4 (DWORD decimal)
Other values (attainable through the "Options..." dialog for the Calendar Today item just as well):
0 = Show Upcoming Appointments
1 = Show Upcoming Appointments and today's "All Day" event
2 = Show Next Appointment
3 = Show Next Appointment and today's "All Day" event
It works out to the following binary structure:
Default Behavior: Show Upcoming Appointments
000
||'- Show "All Day" events (doesn't show tomorrow's "All Day" events)
|'- Show Next Appointment
'- Show Tomorrow's Appointments
Low Battery warning
By default, a PPC will sound a warning sound when the battery is running low (10%, fixed value), but there's no way to disable or change the notification. To enable this, so that it is visible in the "Sounds & Notifications" control panel, set:
HKCU\ControlPanel\Notifications\{A877D663-239C-47a7-9304-0D347F580408}\Default = "Low battery warning" (REG_SZ string, no quotes)
Note that the string used can be whatever you like it to be
Replace Left/Right-handed landscape option with single Landscape option
If for some reason you wish to disable the display of left-handed/right-handed in Start > Settings > |System| > Screen, and replace it with a single "Landscape" option, set:
HKLM\System\GDI\Rotation\LandscapeFixed = 1 (DWORD decimal)
To restore, set:
HKLM\System\GDI\Rotation\LandscapeFixed = 0 (DWORD decimal)
Please note that when you set it fixed, you can no longer switch between left-handed/right-handed through Start > Settings > |System| > Screen, only between Portrait and Landscape. If you wish to change the orientation, use an external application or see the Landscape Orientation Tweak.
Change Landscape Orientation
By default, the Landscape Orientation (i.e. what way the screen is rotated when put into Landscape mode) is set either by the manufacturer or through the Screen control panel applet. If you have disabled the left-handed/right-handed orientation (see "Replace Left/Right-handed landscape option with single Landscape option" tweak), you can still change the Landscape orientation through the registry:
Right-handed:
HKLM\System\GDI\Rotation\LandscapeMode = 1 (DWORD decimal)
Left-handed:
HKLM\System\GDI\Rotation\LandscapeMode = 4 (DWORD decimal)
Please note that a soft reset is required for this to take effect - an external screen rotation utility is recommended over this tweak
Please also note that some devices which change orientation automatically based on e.g. keyboard slide-out may have the orientation hard-wired, and switch to e.g. Left-handed even if you set it to go to Right-handed
________________________________________
AKU2 ROMs tweaks
These are tweaks that have been confirmed to work on AKU2 ROMs, and confirmed not to work on earlier ROMs
Show Wireless Today item
By just adding following keys to the registry will get you a nice 'wireless' today item that show Network name/status, WiFi name/status as well as Bluetooth status. Confirmed to work on AKU2 ROMs
[HKLM\Software\Microsoft\Today\Items\"Wireless"]
"DLL"="netui.dll"
"Order"=dword:00000000
"Enabled"=dword:00000001
"Type"=dword:00000004
Add time sync page to Phone Settings
To add a time sync page to your Phone Settings (Start > Settings > Phone > Options > Time Zones) , set the following:
HKLM\SOFTWARE\OEM\PhoneSetting\ShowTimeZonesPage = 1 (DWORD decimal)
And to remove again:
HKLM\SOFTWARE\OEM\PhoneSetting\ShowTimeZonesPage = 0 (DWORD decimal)
________________________________________
AKU2.2 ROMs tweaks
These are tweaks that have been confirmed to work on AKU2.2 ROMs, and confirmed not to work on earlier ROMs
Restore Clock on Taskbar when on Today Screen
The AKU2 update brought with them a, arguably lame, battery icon which replaced the Clock. Although the clock can be restored when running applications, it is permanently removed when on the Today Screen. Microsoft have addressed users' concern over this in the AKU2.2 update. You can restore the clock entire by setting the following:
HKLM\Software\Microsoft\Shell\ShowTitleBarClock = 1 (DWORD decimal)
Microsoft blog entry: http://blogs.msdn.com/windowsmobile/archive/2006/04/28/586453.aspx
________________________________________
Tweaks that can be done through the normal user interface
These are tweaks that can be done through the normal user interface, and thus don't require tweaking the registry in any way, shape or form
Default SMS Delivery Notifications to on
This tweak can be set through: Start > Programs > Messaging*, Menu > Tools > Options... > Text Messages* > [x] Request delivery notifications
To always have SMS Delivery Notifications enabled:
HKCU\Software\Microsoft\Inbox\Settings\SMSDeliveryNotify = 1 (DWORD decimal)
To disable them (can still enable per-SMS in SMS settings):
HKCU\Software\Microsoft\Inbox\Settings\SMSDeliveryNotify = 0 (DWORD decimal)
Note that SMS Delivery Notifications are a network provider option, and the recipient may refuse them to be sent out
Show the clock in all applications
This tweak can be set through: Start > Settings > |System| > Clock & Alarms* > |More| > [x] Display the clock on the title bar in all programs
To show the clock on the titlebar in all applications:
HKLM\Software\Microsoft\Shell\TaskBar\LimitedClock = 0 (DWORD decimal)
To hide it again (only visible on Today Screen):
HKLM\Software\Microsoft\Shell\TaskBar\LimitedClock = 1 (DWORD decimal)
Note that on AKU2.0 ROMs, it is not possible to show the clock on the taskbar when on the Today Screen at all. This was adjusted by Microsoft for AKU2.2. Pre-AKU2.0 ROMs do not suffer from this deficiency.
Tweaks that work in WM2003, but do not work on WM5
Please put depricated or debunked tweaks here, so they are not reinstated by some other well-meaning person later. Of course, please provide corroberation of your change.
Enable Realtime Memory Defragmenting (or something.)
There isn't any concise description of this tweak, but it appears to free up some memory if nothing else.
HKCU\Software\Microsoft\Shell\NeverDorkMemory
Note that you should only create the key; this is not a value! See here: http://www.pocketpcthoughts.com/index.php?action=expand,47926
wow! a lot of nice settings!
but i can't find something to disable the LED in Standby.
There is one similar point:
---
If you would like more control over how your device rings/vibrates/flashes its LEDs on events
---
but this is only for events and not for the green flashing, or isn't it?
Take a look a little bit in the middle and you can read: Change ringtone/vibrate/LED flash characteristics
Enjoy!!!!
Check out this topic on Modaco! It's a dedicated thread to your "problem"
Thanks for the Link!!!
I am trying to set the volume to my needs then put it back after. I have use the code from ppc developer network and when that did not set the correct volume I also did the registry as well. Don't worry about "reg", its my registry class and it works fine.
DWORD oldReg=0;
oldReg=reg->readDWORDfromReg(name,path);
reg->saveDWORDtoRegistry(name,path,0xffffffff);
WAVEFORMATEX wf;
wf.wFormatTag = WAVE_FORMAT_PCM;
wf.nChannels = 1;
wf.nSamplesPerSec = 8000 * 1000;
wf.wBitsPerSample = 8;
wf.nBlockAlign = wf.nChannels * wf.wBitsPerSample / 8;
wf.nAvgBytesPerSec = wf.nSamplesPerSec * wf.nBlockAlign;
wf.cbSize = 0;
HWAVEOUT hwo;
DWORD dwVolume=0xffffffff;
DWORD oldVolume=0;
int waveDevice=-1;
UINT numberOfDevices=waveOutGetNumDevs();
for(UINT id=0;id<numberOfDevices;id++)
{
if (waveOutOpen(&hwo,id,&wf,0,0,CALLBACK_NULL)==MMSYSERR_NOERROR)
{
waveDevice=id;
waveOutGetVolume(hwo,&oldVolume);
waveOutSetVolume(hwo,dwVolume);
waveOutClose(hwo);
break;
}
}
.........playing sound here all ok....
//put the volume back
if(waveDevice!=-1)
{
if (waveOutOpen(&hwo, waveDevice, &wf, 0, 0, CALLBACK_NULL) == MMSYSERR_NOERROR)
{
waveOutSetVolume(hwo, oldVolume);
waveOutClose(hwo);
}
}
reg->saveDWORDtoRegistry(name,path,oldReg);
I can set the volume to any value below the origional volume but any attempt to set a volume higher just dose nothing. There are no errors (checking left out here), just the same level. I did not seriously expect the registry part to work as I guess there is some event to trigger that change, but others seem to get results from waveOutSetVolume.
Well, I never tried changing volume by code, but I know TCPMP player does it well and it's open source so might be worth taking a look at.
Thanks levenum, I will give it a look.
Before I got a chance to look at that code I got a result. I have been using PlaySound to play a resource with no volume change working. When I use waveOutWrite to play a buffer containing the same data I can get the volume change I am after. There is still something wrong with my code because the sound gets garbled but I think I will figure that part out. I also want to next test playsound with a file instead of a resource.
<edit>
using playsound with the same file plays clear sound but the volume change is not working. Its a pity because to get the waveoutwrite to work properly i had to fill in the WAVEFORMATEX with the CORRECT values. This means that if I am allowing the user to specify files to play I will have to find out the samples per second and bits per sample info before I can use the file.