Compact Framework Remote Performance Monitoring#

I've been asked by a client to help them setup Remote Performance Monitoring (RPM) tool available with .NET Compact Framework 2.0.  Although it's pretty easy to setup, information is scattered in a lot of places so the reason for this post.

RPM can be found under %Program Files%\Microsoft.NET\SDK\CompactFramework\v2.0\bin. It is available with NETCF SP1 which can be downloaded here.

Steven Pratschner has details on setting up RPM and some other details not documented anywhere.  He's also written some relevant articles here and here.

Chris Tacke wrote a bootstrap application that will automatically setup the device to be used with RPM.  See here for more info and to download. 

David Kline has written detailed descriptions of all the counters here.

If there is anything I missed let me know.


Monday, January 15, 2007 9:55:17 PM (Eastern Standard Time, UTC-05:00) #    Comments [2]  | 

 

TabControl, TabPage, Screen Rotation and Compact Framework#

Was taking a look at a screen rotation (portrait to landscape and back) issue we were having in one of our soon to be released products when using the TabControl/TabPage.Height property and Compact Framework 2.0 and Windows Mobile 5.0.

When the screen orientation changed, the Form.Resize event is raised.  Great, easy enough to adjust some ListViews that are in the TabPage using the following code:

listView2.Height = listView1.Height = (tabControl1.TabPages[0].Height / 2) - 2;

Although you think it would work, it doesn't because the TabPages[0].Height property is the Height before the Screen rotation occurs.

To work around this is easy enough, just use the Form.Height properties.

listView1.Height = listView2.Height = (this.Height - (20 * m_scale)) / 2;

where

  • 20 is the height of the tabs
  • m_scale is to support hi res devices

Download the sample code here.

UPDATE: Got a comment here about using docking and anchoring which is true but for some reason was not working properly in our application, don't know why so we resorted to manually calculating sizes.  I updated the sample code which shows the ListViews properly sizing using the Anchor property on rotation. 


Monday, January 15, 2007 9:34:46 PM (Eastern Standard Time, UTC-05:00) #    Comments [0]  | 

 

Microsoft Windows Mobile 5.0 App Dev Course Promotion#

With the recent release of Collection 5150: Developing Microsoft® Windows Mobile® 5.0 Applications Using Microsoft Visual Studio® 2005, Microsoft Learning and OpenNETCF are running a contest to give way five free access codes to the collection ($190 value).

Here's how it will work:

Starting Monday Jan 8 2007 till Jan 12 (5 days total) we will monitor the following developer forums on the MSDN site:

Smart Devices General
Discussion general Smart device development aspects with Visual Studio 2005 in this forum.

.NET Compact Framework
All issues related to Compact Framework 2.0 and 1.0 runtimes.

Each day I will randomly pick a question asked by a user (make sure your email address is correct) and submit the name to Microsoft Learning. Each winner will then receive an email from Microsoft Learning containing an access code and instructions for registering for the online course.  At the end of the five days I'll post all the winners.

That's it! Now go out there and ask you're questions!


Thursday, January 04, 2007 5:03:19 PM (Eastern Standard Time, UTC-05:00) #    Comments [0]  | 

 

Telephony Library Released#

Neil talks about the new TAPI Managed Library OpenNETCF just released.  If you ever wanted to use the Telephony API  within your .NET Compact Framework application and don't want the hassle of figuring out the P/Invokes then the Telephony Library may be for you.

Give it a try and download the evaluation version here and click here for more information on this and other products available from OpenNETCF.


Wednesday, December 20, 2006 2:34:39 PM (Eastern Standard Time, UTC-05:00) #    Comments [0]  | 

 

OpenNETCF.Media.WaveAudio.Wave Class#

We have received a few customer request to use the Wave.SetVolume and Wave.GetVolume methods in the OpenNETCF.Media.WaveAudio.Wave class.  Unfortunately, there is no default constructor for the Wave class so you cannot directly call these methods.

Using a little bit of Reflection we can get the private contructor of the Wave class using Type.GetConstructors().

Here is some sample code to call Wave.SetVolume and Wave.GetVolume.  (NOTE:  this is currently not supported and may not work in future releases of the Smart Device Framework)

OpenNETCF.Media.WaveAudio.Wave wave = null;

ConstructorInfo[] ci = typeof(OpenNETCF.Media.WaveAudio.Wave).GetConstructors(BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance);

if (ci.Length == 1)

wave = (OpenNETCF.Media.WaveAudio.Wave)ci[0].Invoke(null);

if (wave != null)

wave.SetVolume(1);


Wednesday, November 01, 2006 2:42:36 AM (Eastern Standard Time, UTC-05:00) #    Comments [0]  | 

 

All content © 2008, Mark Arteaga
Related Sites
Archives
Sitemap
Disclaimer

Powered by: newtelligence dasBlog 1.9.7174.0

The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

Send mail to the author(s) E-mail

Theme design by Jelle Druyts