<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5320350318741133625</id><updated>2011-11-27T15:39:54.229-08:00</updated><category term='Common'/><category term='VS 2008'/><category term='LINQ'/><category term='Windows Mobile 5.0'/><category term='DotNet 3.5'/><category term='CF 3.5'/><title type='text'>RRave Webblog</title><subtitle type='html'>This blog dedicated for Compact framework base device applications,Windows Mobile base device applications,Common Microsoft Programming Languages(C#,VB.net,C++) and ASP.NET.Since all the posts and articles are based on those Technologies.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://ravesoft.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5320350318741133625/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://ravesoft.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>RRave</name><uri>http://www.blogger.com/profile/02162942492813501463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://4.bp.blogspot.com/_XXhoLiK87qs/SeoObND7qDI/AAAAAAAAADo/ROkVa_JFjkY/S220/profile.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>27</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5320350318741133625.post-8173489156252410493</id><published>2010-10-21T01:36:00.001-07:00</published><updated>2010-10-21T01:36:31.670-07:00</updated><title type='text'>The New .NET Community web Portal</title><content type='html'>Dear My Friends,&lt;br /&gt;&lt;br /&gt;I have launch the new .NET Community website to help to all developers and software professionals than more this blog.&lt;br /&gt;&lt;br /&gt;Please visitor, you can find all latest technologies articles, tips and codesnippet in &lt;a href="http://www.codegain.com"&gt;www.codegain.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;even you can publish your blog or articles and etc in &lt;a href="http://www.codegain.com"&gt;www.codegain.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I'm planning to open article competition,it will help to all the developers and software professional to show their talent and earn or win free gifts and cash prizes.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Thank you&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5320350318741133625-8173489156252410493?l=ravesoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ravesoft.blogspot.com/feeds/8173489156252410493/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5320350318741133625&amp;postID=8173489156252410493' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5320350318741133625/posts/default/8173489156252410493'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5320350318741133625/posts/default/8173489156252410493'/><link rel='alternate' type='text/html' href='http://ravesoft.blogspot.com/2010/10/new-net-community-web-portal.html' title='The New .NET Community web Portal'/><author><name>RRave</name><uri>http://www.blogger.com/profile/02162942492813501463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://4.bp.blogspot.com/_XXhoLiK87qs/SeoObND7qDI/AAAAAAAAADo/ROkVa_JFjkY/S220/profile.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5320350318741133625.post-5109642017622497342</id><published>2009-05-04T05:41:00.000-07:00</published><updated>2009-05-04T05:44:27.386-07:00</updated><title type='text'>SMTP error code and descriptions</title><content type='html'>Hi Guys,&lt;br /&gt;&lt;br /&gt;Here List of error code and description for the possible error in SMTP.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Error code and Description List&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;421 Service not available, closing transmission channel (This may be a reply to any command if the service knows it must shut down)&lt;br /&gt;450 Requested mail action not taken: mailbox unavailable (E.g., mailbox busy)&lt;br /&gt;451 Requested action aborted: local error in processing&lt;br /&gt;452 Requested action not taken: insufficient system storage&lt;br /&gt;500 Syntax error, command unrecognized (This may include errors such as command line too long)&lt;br /&gt;501 Syntax error in parameters or arguments&lt;br /&gt;502 Command not implemented&lt;br /&gt;503 Bad sequence of commands&lt;br /&gt;504 Command parameter not implemented&lt;br /&gt;550 Requested action not taken: mailbox unavailable (E.g., mailbox not found, no access)&lt;br /&gt;551 User not local; please try&lt;br /&gt;552 Requested mail action aborted: exceeded storage allocation&lt;br /&gt;553 Requested action not taken: mailbox name not allowed (E.g., mailbox syntax incorrect)&lt;br /&gt;554 Transaction failed&lt;br /&gt;&lt;br /&gt;The other codes that provide you with helpful information about what's happening with your messages are:&lt;br /&gt;&lt;br /&gt;211 System status, or system help reply&lt;br /&gt;214 Help message (Information on how to use the receiver or the meaning of a particular non-standard command; this reply is useful&lt;br /&gt;only to the human user)&lt;br /&gt;220 Service ready&lt;br /&gt;221 Service closing transmission channel&lt;br /&gt;250 Requested mail action okay, completed&lt;br /&gt;251 User not local; will forward to&lt;br /&gt;354 Start mail input; end with . (a dot)&lt;br /&gt;&lt;br /&gt;I think its make error free email component.&lt;br /&gt;&lt;br /&gt;Thank you&lt;br /&gt;Keep It Watch&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5320350318741133625-5109642017622497342?l=ravesoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ravesoft.blogspot.com/feeds/5109642017622497342/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5320350318741133625&amp;postID=5109642017622497342' title='41 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5320350318741133625/posts/default/5109642017622497342'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5320350318741133625/posts/default/5109642017622497342'/><link rel='alternate' type='text/html' href='http://ravesoft.blogspot.com/2009/05/smtp-error-code-and-descriptions.html' title='SMTP error code and descriptions'/><author><name>RRave</name><uri>http://www.blogger.com/profile/02162942492813501463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://4.bp.blogspot.com/_XXhoLiK87qs/SeoObND7qDI/AAAAAAAAADo/ROkVa_JFjkY/S220/profile.jpg'/></author><thr:total>41</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5320350318741133625.post-8026133004092123721</id><published>2009-05-01T20:57:00.000-07:00</published><updated>2009-05-02T21:54:42.966-07:00</updated><title type='text'>How to deploy crysatl report to server with asp.net</title><content type='html'>Hi Guys,&lt;br /&gt;&lt;br /&gt;Most of the developer has a doubt how they could deploy crystal report with asp.net on server, what are component they need to deploy?.&lt;br /&gt;&lt;br /&gt;here full explanation about Deployment and license.&lt;br /&gt;&lt;br /&gt;A common misconception about deploying a Crystal Reports application written in ASP.NET is that the remote server must have the Crystal Reports .NET server components installed. The only thing to keep in mind is that you must purchase a licensed copy of Crystal Reports from Business Objects (&lt;a href="www.businessobjects.com"&gt;www.businessobjects.com&lt;/a&gt;) in order to deploy your application to a remote server. The license for the version that comes shipped with Visual Studio .NET is just for evaluation and only works on the local development machine. &lt;br /&gt;&lt;br /&gt;The issue that developers run into is how the Crystal Reports Developer tool is installed on the development machine. When installed, the developer tool installs the server components into the following directory:&lt;br /&gt;&lt;br /&gt;C:\Program Files\Common Files\Crystal Decisions\2.5\managed&lt;br /&gt;&lt;br /&gt;From there, the components are registered into the local machine's Global Assembly Cache (GAC) located in C:\windows\assembly. If you are using Visual Studio .NET to develop your application, then you reference the Crystal Decisions classes from the GAC. This is fine when you run the application on the local machine. But when you deploy the application to the remote server, by default you will get an error because the Crystal Decisions components are not registered in the remote server's GAC. Here is how you work around this issue.&lt;br /&gt;&lt;br /&gt;For all of the classes your application references, you need to go to the above Common Files directory and copy the matching DLL files to your application bin folder. The bin folder is located in the root of your Visual Studio .NET application. Once you have copied the DLLs, remove any old references from your Visual Studio .NET application. You will find this setting in Solution Explorer under References. Right-click any CrystalDecisions.* reference and select Remove. Then right-click on Reference and select Add Reference. Click Browse, where the default directory should be your application's root, and double-click the bin directory. Select the Crystal Decisions components and click Open and then OK. Recompile your application, and upload it to the remote application. Make sure you upload all of the contents of the bin folder.&lt;br /&gt;&lt;br /&gt;With the steps above, you should not have any issues deploying your Crystal Reports application built with Visual Studio .NET. If you are still using classic ASP to generate your Crystal Reports, then the components still have to be registered on the server: either use the Installation CD or extract the components and manually register the components on the web server using regsvr32.exe or a COM+ package. You can find additional support information at &lt;a href="www.businessobjects.com/support/default.asp"&gt;www.businessobjects.com/support/default.asp&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Thank you&lt;br /&gt;Keep It Watch&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5320350318741133625-8026133004092123721?l=ravesoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ravesoft.blogspot.com/feeds/8026133004092123721/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5320350318741133625&amp;postID=8026133004092123721' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5320350318741133625/posts/default/8026133004092123721'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5320350318741133625/posts/default/8026133004092123721'/><link rel='alternate' type='text/html' href='http://ravesoft.blogspot.com/2009/05/how-to-deploy-crysatl-report-to-server.html' title='How to deploy crysatl report to server with asp.net'/><author><name>RRave</name><uri>http://www.blogger.com/profile/02162942492813501463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://4.bp.blogspot.com/_XXhoLiK87qs/SeoObND7qDI/AAAAAAAAADo/ROkVa_JFjkY/S220/profile.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5320350318741133625.post-5494589175200295462</id><published>2009-04-24T10:08:00.000-07:00</published><updated>2009-04-24T10:14:13.415-07:00</updated><title type='text'>My latest Article in HighonCoding.com</title><content type='html'>Hi Guys&lt;br /&gt;&lt;br /&gt;Recently i worked few new concept in windows mobile and published on the highoncoding.com.The links are here for your look.&lt;br /&gt;&lt;a href="http://www.highoncoding.com/Articles/552_How_to_Run_Multi_Threaded_Windows_Mobile_Application_with_High_Performance.aspx"&gt;&lt;br /&gt;http://www.highoncoding.com/Articles/552_How_to_Run_Multi_Threaded_Windows_Mobile_Application_with_High_Performance.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.highoncoding.com/Articles/551_How_to_Access_SQL_Server_2005_from_the_Windows_Mobile_Devices.aspx"&gt;http://www.highoncoding.com/Articles/551_How_to_Access_SQL_Server_2005_from_the_Windows_Mobile_Devices.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Thank you so much&lt;br /&gt;Keep It Watch&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5320350318741133625-5494589175200295462?l=ravesoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ravesoft.blogspot.com/feeds/5494589175200295462/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5320350318741133625&amp;postID=5494589175200295462' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5320350318741133625/posts/default/5494589175200295462'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5320350318741133625/posts/default/5494589175200295462'/><link rel='alternate' type='text/html' href='http://ravesoft.blogspot.com/2009/04/my-latest-article-in-highoncodingcom.html' title='My latest Article in HighonCoding.com'/><author><name>RRave</name><uri>http://www.blogger.com/profile/02162942492813501463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://4.bp.blogspot.com/_XXhoLiK87qs/SeoObND7qDI/AAAAAAAAADo/ROkVa_JFjkY/S220/profile.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5320350318741133625.post-1984617059588044615</id><published>2009-04-24T10:05:00.000-07:00</published><updated>2009-04-24T10:08:41.148-07:00</updated><title type='text'>The great video demostrations for Windows mobile</title><content type='html'>Hi Guys&lt;br /&gt;&lt;br /&gt;Recently i visit a great web portal , there lots of Video demonstration for Windows Mobile Developers.&lt;br /&gt;&lt;br /&gt;few links are here&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.mrbool.com/articles/viewcomp.asp?comp=12351"&gt;http://www.mrbool.com/articles/viewcomp.asp?comp=12351&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.mrbool.com/articles/viewcomp.asp?comp=12332"&gt;http://www.mrbool.com/articles/viewcomp.asp?comp=12332&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Thank you So  much&lt;br /&gt;Keep it watch&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5320350318741133625-1984617059588044615?l=ravesoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ravesoft.blogspot.com/feeds/1984617059588044615/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5320350318741133625&amp;postID=1984617059588044615' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5320350318741133625/posts/default/1984617059588044615'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5320350318741133625/posts/default/1984617059588044615'/><link rel='alternate' type='text/html' href='http://ravesoft.blogspot.com/2009/04/great-video-demostrations-for-windows.html' title='The great video demostrations for Windows mobile'/><author><name>RRave</name><uri>http://www.blogger.com/profile/02162942492813501463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://4.bp.blogspot.com/_XXhoLiK87qs/SeoObND7qDI/AAAAAAAAADo/ROkVa_JFjkY/S220/profile.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5320350318741133625.post-9164270530990193691</id><published>2009-04-06T01:32:00.000-07:00</published><updated>2009-04-06T01:34:22.595-07:00</updated><title type='text'>how to incorporate WSDL file within the .NET project</title><content type='html'>Hi Guys&lt;br /&gt;&lt;br /&gt;Sometimes we need incorporate WSDL file(Web service ) to our .net project.&lt;br /&gt;&lt;br /&gt;Please read this link to achieve this.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/7h3ystb6.aspx"&gt;http://msdn.microsoft.com/en-us/library/7h3ystb6.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Thank you&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5320350318741133625-9164270530990193691?l=ravesoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ravesoft.blogspot.com/feeds/9164270530990193691/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5320350318741133625&amp;postID=9164270530990193691' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5320350318741133625/posts/default/9164270530990193691'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5320350318741133625/posts/default/9164270530990193691'/><link rel='alternate' type='text/html' href='http://ravesoft.blogspot.com/2009/04/how-to-incorporate-wsdl-file-within-net.html' title='how to incorporate WSDL file within the .NET project'/><author><name>RRave</name><uri>http://www.blogger.com/profile/02162942492813501463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://4.bp.blogspot.com/_XXhoLiK87qs/SeoObND7qDI/AAAAAAAAADo/ROkVa_JFjkY/S220/profile.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5320350318741133625.post-6325094143931627085</id><published>2008-09-10T19:25:00.001-07:00</published><updated>2008-09-10T19:32:29.262-07:00</updated><title type='text'>Full Screen featues in Windows mobile.</title><content type='html'>Hi Guys,&lt;br /&gt;&lt;br /&gt;I look msdn forums last few days,in the forum many guys asked about the full screen features in windows mobile. Since i will post here my code for that.&lt;br /&gt;&lt;br /&gt;The full screen features we can do by two ways.&lt;br /&gt;1. We can do simplify in Windows mobile 5.0 or later like hide the menu,give empty text and set widows state is maximized.&lt;br /&gt;2.we can do by the calling P/Invoke.&lt;br /&gt;   it's little interesting, because of OS API have a interesting method  "&lt;a href="http://msdn.microsoft.com/en-us/library/aa453694.aspx"&gt;SHFullScreen&lt;/a&gt;"&lt;br /&gt;&lt;br /&gt;So when we pass our current form handle and window states to this method it's done.&lt;br /&gt;&lt;br /&gt;before that we must get window handle to for current window.&lt;br /&gt;&lt;br /&gt;so sample code below&lt;br /&gt;&lt;br /&gt; public class WinAPI&lt;br /&gt;    {&lt;br /&gt;&lt;br /&gt;        internal const int SHFS_SHOWTASKBAR = 0x0001;&lt;br /&gt;        internal const int SHFS_HIDETASKBAR = 0x0002;&lt;br /&gt;        internal const int SHFS_SHOWSIPBUTTON = 0x0004;&lt;br /&gt;        internal const int SHFS_HIDESIPBUTTON = 0x0008;&lt;br /&gt;        internal const int SHFS_SHOWSTARTICON = 0x0010;&lt;br /&gt;        internal const int SHFS_HIDESTARTICON = 0x0020;&lt;br /&gt;        // Code used to hide the Windows bar&lt;br /&gt;&lt;br /&gt;        [DllImport("aygshell.dll", EntryPoint = "SHFullScreen", SetLastError = true)]&lt;br /&gt;        internal static extern bool SHFullScreen(IntPtr hwndRequester, int dwState);&lt;br /&gt;        [DllImport("coredll.dll", EntryPoint = "GetForegroundWindow", SetLastError = true)]&lt;br /&gt;        internal static extern IntPtr GetForegroundWindow();&lt;br /&gt;        [DllImport("coredll.dll")]&lt;br /&gt;        public static extern IntPtr GetCapture();&lt;br /&gt;        // Code used to hide the Windows bar&lt;br /&gt;        public static void FullScreen()&lt;br /&gt;        {&lt;br /&gt;            IntPtr hwnd = GetForegroundWindow();&lt;br /&gt;            SHFullScreen(hwnd, SHFS_HIDETASKBAR);&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;that's all&lt;br /&gt;&lt;br /&gt;thank you&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5320350318741133625-6325094143931627085?l=ravesoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ravesoft.blogspot.com/feeds/6325094143931627085/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5320350318741133625&amp;postID=6325094143931627085' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5320350318741133625/posts/default/6325094143931627085'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5320350318741133625/posts/default/6325094143931627085'/><link rel='alternate' type='text/html' href='http://ravesoft.blogspot.com/2008/09/full-screen-featues-in-windows-mobile.html' title='Full Screen featues in Windows mobile.'/><author><name>RRave</name><uri>http://www.blogger.com/profile/02162942492813501463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://4.bp.blogspot.com/_XXhoLiK87qs/SeoObND7qDI/AAAAAAAAADo/ROkVa_JFjkY/S220/profile.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5320350318741133625.post-8285059574872873389</id><published>2008-09-04T22:51:00.000-07:00</published><updated>2008-09-04T22:53:47.817-07:00</updated><title type='text'>Hi How to use the System State in Windows mobile</title><content type='html'>Hi Guys&lt;br /&gt;&lt;br /&gt;here simple sample how to use the system state class in windows mobile.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Question&lt;/span&gt;: How to check the cradlepresent in the Windows mobile Device or Emulator ?&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Answers&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt; SystemState cradleState = null;&lt;br /&gt;&lt;br /&gt;        private void Init()&lt;br /&gt;        {&lt;br /&gt;            cradleState = new SystemState(SystemProperty.CradlePresent);&lt;br /&gt;            cradleState.Changed += new ChangeEventHandler(cradleState_Changed);&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        void cradleState_Changed(object sender, ChangeEventArgs args)&lt;br /&gt;        {&lt;br /&gt;            bool isPresent =Convert.ToBoolean(SystemState.GetValue(SystemProperty.CradlePresent));&lt;br /&gt;            if (isPresent)&lt;br /&gt;            {&lt;br /&gt;                MessageBox.Show("Present");&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;thank you&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5320350318741133625-8285059574872873389?l=ravesoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ravesoft.blogspot.com/feeds/8285059574872873389/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5320350318741133625&amp;postID=8285059574872873389' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5320350318741133625/posts/default/8285059574872873389'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5320350318741133625/posts/default/8285059574872873389'/><link rel='alternate' type='text/html' href='http://ravesoft.blogspot.com/2008/09/hi-how-to-use-system-state-in-windows.html' title='Hi How to use the System State in Windows mobile'/><author><name>RRave</name><uri>http://www.blogger.com/profile/02162942492813501463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://4.bp.blogspot.com/_XXhoLiK87qs/SeoObND7qDI/AAAAAAAAADo/ROkVa_JFjkY/S220/profile.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5320350318741133625.post-7046837575265987487</id><published>2008-09-04T22:48:00.000-07:00</published><updated>2008-09-04T22:50:55.862-07:00</updated><title type='text'>All System States in WIndows mobile</title><content type='html'>Hi Guys&lt;br /&gt;&lt;br /&gt;see here list of all System states.&lt;br /&gt;&lt;br /&gt;using System;&lt;br /&gt;&lt;br /&gt;namespace Microsoft.WindowsMobile.Status&lt;br /&gt;{&lt;br /&gt;    // Summary:&lt;br /&gt;    //     Specifies the device-wide system properties&lt;br /&gt;    public enum SystemProperty&lt;br /&gt;    {&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the name of the application that was previously active and the name&lt;br /&gt;        //     of the application that is currently active, separated by the 'Escape' character&lt;br /&gt;        //     ('\e').&lt;br /&gt;        ActiveApplication = 0,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the orientation of the display, specified as the number of degrees,&lt;br /&gt;        //     ranging from 0 to 360. Portrait = 0. Landscape = 90 or -90.&lt;br /&gt;        DisplayRotation = 1,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets a value indicating whether a keyboard is attached and enabled.&lt;br /&gt;        KeyboardPresent = 2,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets a value indicating whether the device is connected to a cradle.&lt;br /&gt;        CradlePresent = 3,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets a value indicating whether a camera is attached and enabled.&lt;br /&gt;        CameraPresent = 4,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the number of unread SMS messages.&lt;br /&gt;        MessagingSmsUnread = 5,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the number of unread MMS messages&lt;br /&gt;        MessagingMmsUnread = 6,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the number of unplayed voice mail messages.&lt;br /&gt;        MessagingVoiceMailTotalUnread = 7,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the number of unplayed voice mail messages for line 1.&lt;br /&gt;        MessagingVoiceMail1Unread = 8,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the number of unplayed voice mail messages for line 2&lt;br /&gt;        MessagingVoiceMail2Unread = 9,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the number of unread ActiveSync e-mail messages.&lt;br /&gt;        MessagingActiveSyncEmailUnread = 10,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the total number of unread e-mail messages from all POP3/IMAP accounts.&lt;br /&gt;        MessagingTotalEmailUnread = 11,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the number of unread e-mail messages from all non-ActiveSync messaging&lt;br /&gt;        //     accounts.&lt;br /&gt;        MessagingOtherEmailUnread = 12,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the name of the e-mail account that was last active.&lt;br /&gt;        MessagingLastEmailAccountName = 13,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the name of the SMS messaging account.&lt;br /&gt;        MessagingSmsAccountName = 14,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the name of the MMS messaging account.&lt;br /&gt;        MessagingMmsAccountName = 15,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Get the name of the Outlook e-mail messaging account.&lt;br /&gt;        MessagingActiveSyncAccountName = 16,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the number of active tasks.&lt;br /&gt;        TasksActive = 17,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the number of high priority tasks that are currently active.&lt;br /&gt;        TasksHighPriority = 18,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the number of active tasks that are due today.&lt;br /&gt;        TasksDueToday = 19,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the number of overdue tasks.&lt;br /&gt;        TasksOverdue = 20,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the subject of the next Appointment.&lt;br /&gt;        CalendarNextAppointmentSubject = 21,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the location of the next Appointment.&lt;br /&gt;        CalendarNextAppointmentLocation = 22,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the starting time of the next Appointment.&lt;br /&gt;        CalendarNextAppointmentStart = 23,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the ending time of the next Appointment.&lt;br /&gt;        CalendarNextAppointmentEnd = 24,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the album artist's name of the currently playing track in Windows Media&lt;br /&gt;        //     Player.&lt;br /&gt;        MediaPlayerAlbumArtist = 25,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the title of the track currently playing in Windows Media Player. For&lt;br /&gt;        //     example, "128Kbps"&lt;br /&gt;        MediaPlayerTrackBitrate = 26,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the title of the track currently playing in Windows Media Player.&lt;br /&gt;        MediaPlayerTrackTitle = 27,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the album title of the currently playing track in Windows Media Player.&lt;br /&gt;        MediaPlayerAlbumTitle = 28,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the artist's name of the currently playing track in Windows Media Player.&lt;br /&gt;        MediaPlayerTrackArtist = 29,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the number of the current track playing in Windows Media Player.&lt;br /&gt;        MediaPlayerTrackNumber = 30,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the genre of the currently playing track in Windows Media Player.&lt;br /&gt;        MediaPlayerTrackGenre = 31,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the elapsed time (in milliseconds) of the currently playing track in&lt;br /&gt;        //     Windows Media Player.&lt;br /&gt;        MediaPlayerTrackTimeElapsed = 32,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the remaining battery power level, expressed as a percentage of fully&lt;br /&gt;        //     charged.&lt;br /&gt;        PowerBatteryStrength = 33,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the current battery state (for example, it is low, and charging). This&lt;br /&gt;        //     enumeration allows a bitwise combination of its member values.&lt;br /&gt;        PowerBatteryState = 34,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the remaining backup battery power level, expressed as a percentage&lt;br /&gt;        //     of fully charged.&lt;br /&gt;        PowerBatteryBackupStrength = 35,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the current backup battery state (for example, it is low, and charging).&lt;br /&gt;        //     This enumeration allows a bitwise combination of its member values.&lt;br /&gt;        PowerBatteryBackupState = 36,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the current time. This Date/Time value updates once per minute.&lt;br /&gt;        Time = 37,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the current date. This Date/Time value changes once per day. Monitor&lt;br /&gt;        //     this property to perform actions on a daily basis. Note: Do not use Date&lt;br /&gt;        //     to get an accurate clock time; instead, use Time.&lt;br /&gt;        Date = 38,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Get the phone signal strength, expressed as a percentage of full strength.&lt;br /&gt;        PhoneSignalStrength = 39,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the name of the mobile operator (i.e., the mobile phone company, or&lt;br /&gt;        //     carrier).&lt;br /&gt;        PhoneOperatorName = 40,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the name of the person you are talking to on the phone. This value is&lt;br /&gt;        //     not set when you are talking on a conference call.&lt;br /&gt;        PhoneTalkingCallerName = 41,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the number of active phone calls.&lt;br /&gt;        PhoneActiveCallCount = 42,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the localized name of the current sound profile. (Smartphone only)&lt;br /&gt;        PhoneProfileName = 43,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the non-localized name of the current sound profile. For example, "Normal",&lt;br /&gt;        //     "Silent", "Car", "Headset", "Loud", "Meeting", or "Speakerphone". (Smartphone&lt;br /&gt;        //     only)&lt;br /&gt;        PhoneProfile = 44,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the cell broadcast message&lt;br /&gt;        PhoneCellBroadcast = 45,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets a value indicating whether there is a conflict with the next Appointment.&lt;br /&gt;        CalendarNextAppointmentHasConflict = 46,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the mobile device owner's name.&lt;br /&gt;        OwnerName = 47,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the mobile device owner's phone number.&lt;br /&gt;        OwnerPhoneNumber = 48,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the mobile device owner's e-mail address.&lt;br /&gt;        OwnerEmail = 49,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the text notes entered by the owner of the mobile device.&lt;br /&gt;        OwnerNotes = 50,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets ActiveSync's current synchronization state.&lt;br /&gt;        ActiveSyncStatus = 51,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the number of missed phone calls.&lt;br /&gt;        PhoneMissedCalls = 52,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets a value indicating whether a headset is present&lt;br /&gt;        HeadsetPresent = 53,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets a value indicating whether a car kit is present&lt;br /&gt;        CarKitPresent = 54,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets a value indicating whether the speakerphone is active&lt;br /&gt;        SpeakerPhoneActive = 55,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets a value indicating whether the phone supports multiple lines.&lt;br /&gt;        PhoneMultiLine = 56,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets a value indicating whether the Subscriber Identity Module (SIM) memory&lt;br /&gt;        //     is full.&lt;br /&gt;        PhoneSimFull = 57,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets a value indicating whether the Subscriber Identity Module (SIM) is installed&lt;br /&gt;        //     in the mobile device.&lt;br /&gt;        PhoneNoSim = 58,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets a value indicating whether the Subscriber Identity Module (SIM) is invalid.&lt;br /&gt;        PhoneInvalidSim = 59,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets a value indicating whether the Subscriber Identity Module (SIM) is blocked.&lt;br /&gt;        PhoneBlockedSim = 60,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets a value indicating whether the phone's radio is turned off.&lt;br /&gt;        PhoneRadioOff = 61,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets a value indicating whether the mobile device has a phone.&lt;br /&gt;        PhoneRadioPresent = 62,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets a value indicating whether the phone's ringer is off (i.e., if it rings&lt;br /&gt;        //     and/or vibrates).&lt;br /&gt;        PhoneRingerOff = 63,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets a value indicating whether line 1 is selected.&lt;br /&gt;        PhoneLine1Selected = 64,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets a value indicating whether line 2 is selected.&lt;br /&gt;        PhoneLine2Selected = 65,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets a value indicating whether the phone is currently in roaming mode.&lt;br /&gt;        PhoneRoaming = 66,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets a value indicating whether call forwarding is enabled on line 1.&lt;br /&gt;        PhoneCallForwardingOnLine1 = 67,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets a value indicating whether there was a new missed call.&lt;br /&gt;        PhoneMissedCall = 68,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets a value indicating whether the phone has an active cellular data connection.&lt;br /&gt;        PhoneActiveDataCall = 69,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets a value indicating whether the call barring feature is enabled.&lt;br /&gt;        PhoneCallBarring = 70,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets a value indicating whether a phone call is currently on hold.&lt;br /&gt;        PhoneCallOnHold = 71,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets a value indicating whether a conference call is currently in progress.&lt;br /&gt;        PhoneConferenceCall = 72,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets a value indicating whether there is an incoming (ringing) call.&lt;br /&gt;        PhoneIncomingCall = 73,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets a value indicating whether the phone is currently attempting to connect&lt;br /&gt;        //     an outgoing call.&lt;br /&gt;        PhoneCallCalling = 74,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets a value indicating whether the phone currently has GPRS coverage.&lt;br /&gt;        PhoneGprsCoverage = 75,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets a value indicating whether the phone is not currently connected to a&lt;br /&gt;        //     network.&lt;br /&gt;        PhoneNoService = 76,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets a value indicating whether the phone is currently searching for service&lt;br /&gt;        //     on a network.&lt;br /&gt;        PhoneSearchingForService = 77,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets a value indicating whether the phone is currently registered on its&lt;br /&gt;        //     home network.&lt;br /&gt;        PhoneHomeService = 78,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets a value indicating whether the phone currently has 1xRTT coverage.&lt;br /&gt;        Phone1xRttCoverage = 79,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets a value indicating whether there is currently a phone call in the talking&lt;br /&gt;        //     state.&lt;br /&gt;        PhoneCallTalking = 80,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets a value indicating whether call forwarding is currently active on line&lt;br /&gt;        //     2.&lt;br /&gt;        PhoneCallForwardingOnLine2 = 81,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the next Appointment.&lt;br /&gt;        CalendarNextAppointment = 82,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the user's availability (e.g., Free, Busy, Tenative, Out of Office)&lt;br /&gt;        //     status for the next Appointment.&lt;br /&gt;        CalendarNextAppointmentBusyStatus = 83,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the next Appointment's categories.&lt;br /&gt;        CalendarNextAppointmentCategories = 84,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the current Appointment.&lt;br /&gt;        CalendarAppointment = 85,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the current Appointment's subject.&lt;br /&gt;        CalendarAppointmentSubject = 86,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the current Appointment's location.&lt;br /&gt;        CalendarAppointmentLocation = 87,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the current Appointment's starting time.&lt;br /&gt;        CalendarAppointmentStartTime = 88,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the current Appointment's ending time.&lt;br /&gt;        CalendarAppointmentEndTime = 89,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets a value indicating whether the current Appointment has a scheduling&lt;br /&gt;        //     conflict with an existing Appointment.&lt;br /&gt;        CalendarAppointmentHasConflict = 90,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the user's availability (free/busy status) for the time-slot taken by&lt;br /&gt;        //     the current Appointment.&lt;br /&gt;        CalendarAppointmentBusyStatus = 91,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the current Appointment's categories.&lt;br /&gt;        CalendarAppointmentCategories = 92,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the Appointment that is currently displayed on the Home Screen.&lt;br /&gt;        CalendarHomeScreenAppointment = 93,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the subject of the Appointment that is currently displayed on the Home&lt;br /&gt;        //     Screen.&lt;br /&gt;        CalendarHomeScreenAppointmentSubject = 94,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the location of the Appointment that is currently displayed on the Home&lt;br /&gt;        //     Screen.&lt;br /&gt;        CalendarHomeScreenAppointmentLocation = 95,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the starting time of the Appointment that is currently displayed on&lt;br /&gt;        //     the Home Screen.&lt;br /&gt;        CalendarHomeScreenAppointmentStartTime = 96,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the ending time of the Appointment that is currently displayed on the&lt;br /&gt;        //     Home Screen.&lt;br /&gt;        CalendarHomeScreenAppointmentEndTime = 97,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets a value indicating whether the Appointment that is currently displayed&lt;br /&gt;        //     on the Home Screen has a scheduling conflict.&lt;br /&gt;        CalendarHomeScreenAppointmentHasConflict = 98,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the user's availability (free/busy status) for the Appointment displayed&lt;br /&gt;        //     on the Home Screen.&lt;br /&gt;        CalendarHomeScreenAppointmentBusyStatus = 99,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the categories of the Appointment that is currently displayed on the&lt;br /&gt;        //     Home Screen.&lt;br /&gt;        CalendarHomeScreenAppointmentCategories = 100,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the name of the person who is currently placing the incoming call.&lt;br /&gt;        PhoneIncomingCallerName = 101,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the name of the last caller to place an incoming call.&lt;br /&gt;        PhoneLastIncomingCallerName = 102,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the incoming call's phone number (Caller ID).&lt;br /&gt;        PhoneIncomingCallerNumber = 103,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the last incoming call's phone number (Caller ID).&lt;br /&gt;        PhoneLastIncomingCallerNumber = 104,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the name of the property that matches the Caller ID, e.g. "h" for "Home&lt;br /&gt;        //     Telephone".&lt;br /&gt;        PhoneIncomingCallerContactPropertyName = 105,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the name of the property that matches the last Caller ID, e.g. "h" for&lt;br /&gt;        //     "Home Telephone".&lt;br /&gt;        PhoneLastIncomingCallerContactPropertyName = 106,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the CEPROPID of the property that matches the Caller ID, for example,&lt;br /&gt;        //     PIMPR_HOME_TELEPHONE_NUMBER.&lt;br /&gt;        PhoneIncomingCallerContactPropertyID = 107,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the CEPROPID of the property that matches the last Caller ID, for example,&lt;br /&gt;        //     PIMPR_HOME_TELEPHONE_NUMBER.&lt;br /&gt;        PhoneLastIncomingCallerContactPropertyID = 108,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the Contact that matches the Caller ID.&lt;br /&gt;        PhoneIncomingCallerContact = 109,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the Contact that matches the last Caller ID.&lt;br /&gt;        PhoneLastIncomingCallerContact = 110,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the currently connected caller's phone number.&lt;br /&gt;        PhoneTalkingCallerNumber = 111,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the name of the property of the contact who is on the active phone call,&lt;br /&gt;        //     e.g. "h" for "Home Telephone".&lt;br /&gt;        PhoneTalkingCallerContactPropertyName = 112,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the CEPROPID of the property of the contact who is on the active phone&lt;br /&gt;        //     call, for example, PIMPR_HOME_TELEPHONE_NUMBER.&lt;br /&gt;        PhoneTalkingCallerContactPropertyID = 113,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the contact who is on the active phone call.&lt;br /&gt;        PhoneTalkingCallerContact = 114,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets a value indicating the number of connections that are currently connected.&lt;br /&gt;        ConnectionsCount = 115,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets a value indicating the number of Bluetooth connections that are currently&lt;br /&gt;        //     connected.&lt;br /&gt;        ConnectionsBluetoothCount = 116,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets a semicolon delimited string containing the description of each of the&lt;br /&gt;        //     Bluetooth connections.&lt;br /&gt;        ConnectionsBluetoothDescriptions = 117,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets a value indicating the number of cellular connections that are currently&lt;br /&gt;        //     connected.&lt;br /&gt;        ConnectionsCellularCount = 118,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets a semicolon delimited string containing the description of each cellular&lt;br /&gt;        //     connection.&lt;br /&gt;        ConnectionsCellularDescriptions = 119,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets a value indicating the number of network connections that are currently&lt;br /&gt;        //     connected.&lt;br /&gt;        ConnectionsNetworkCount = 120,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets a semicolon delimited string containing the description of each network&lt;br /&gt;        //     connection.&lt;br /&gt;        ConnectionsNetworkDescriptions = 121,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets a semicolon delimited string containing the adapter name of each network&lt;br /&gt;        //     connection.&lt;br /&gt;        ConnectionsNetworkAdapters = 122,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets a value indicating the number of desktop connections that are currently&lt;br /&gt;        //     connected.&lt;br /&gt;        ConnectionsDesktopCount = 123,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets a semicolon delimited string containing the description of each desktop&lt;br /&gt;        //     connection.&lt;br /&gt;        ConnectionsDesktopDescriptions = 124,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets a value indicating the number of network connections that are currently&lt;br /&gt;        //     connected.&lt;br /&gt;        ConnectionsProxyCount = 125,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets a semicolon delimited string containing the description of each proxy&lt;br /&gt;        //     connection.&lt;br /&gt;        ConnectionsProxyDescriptions = 126,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets a value indicating the number of modem connections that are currently&lt;br /&gt;        //     connected.&lt;br /&gt;        ConnectionsModemCount = 127,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets a semicolon delimited string containing the description of each modem&lt;br /&gt;        //     connection.&lt;br /&gt;        ConnectionsModemDescriptions = 128,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets a value indicating the number of connections of unknown type that are&lt;br /&gt;        //     currently connected.&lt;br /&gt;        ConnectionsUnknownCount = 129,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets a semicolon delimited string containing the description of each connections&lt;br /&gt;        //     of unknown type.&lt;br /&gt;        ConnectionsUnknownDescriptions = 130,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets a value indicating the number of virtual private network connections&lt;br /&gt;        //     that are currently connected.&lt;br /&gt;        ConnectionsVpnCount = 131,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets a semicolon delimited string containing the description of each virtual&lt;br /&gt;        //     private network connection.&lt;br /&gt;        ConnectionsVpnDescriptions = 132,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the current "All Day Event" Appointment.&lt;br /&gt;        CalendarEvent = 133,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the subject of the current "All Day Event" Appointment.&lt;br /&gt;        CalendarEventSubject = 134,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the location of the current "All Day Event" Appointment.&lt;br /&gt;        CalendarEventLocation = 135,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the starting time of the current "All Day Event" Appointment. This will&lt;br /&gt;        //     be the starting day of an Appointment Event that spans multiple days.&lt;br /&gt;        CalendarEventStartTime = 136,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the ending time of the current "All Day Event" Appointment. This will&lt;br /&gt;        //     be the starting day of an Appointment Event that spans multiple days.&lt;br /&gt;        CalendarEventEndTime = 137,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets a value indicating whether the user's availability (free/busy) status&lt;br /&gt;        //     conflicts with the current "All Day Event".&lt;br /&gt;        CalendarEventHasConflict = 138,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the user's availability (free/busy status) for the current "All Day&lt;br /&gt;        //     Event".&lt;br /&gt;        CalendarEventBusyStatus = 139,&lt;br /&gt;        //&lt;br /&gt;        // Summary:&lt;br /&gt;        //     Gets the categories for the current "All Day Event".&lt;br /&gt;        CalendarEventCategories = 140,&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;thank you&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5320350318741133625-7046837575265987487?l=ravesoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ravesoft.blogspot.com/feeds/7046837575265987487/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5320350318741133625&amp;postID=7046837575265987487' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5320350318741133625/posts/default/7046837575265987487'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5320350318741133625/posts/default/7046837575265987487'/><link rel='alternate' type='text/html' href='http://ravesoft.blogspot.com/2008/09/all-system-states-in-windows-mobile.html' title='All System States in WIndows mobile'/><author><name>RRave</name><uri>http://www.blogger.com/profile/02162942492813501463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://4.bp.blogspot.com/_XXhoLiK87qs/SeoObND7qDI/AAAAAAAAADo/ROkVa_JFjkY/S220/profile.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5320350318741133625.post-254224873219207565</id><published>2008-07-22T21:16:00.000-07:00</published><updated>2008-07-22T21:40:39.780-07:00</updated><title type='text'>Get List of threads in Windows MObile.</title><content type='html'>Hi Guys,&lt;br /&gt;&lt;br /&gt;it's another nice good morning, because of  when i look MS forums last night, one guy asked , how can get list of threads in .net CF. then i tried work out in my home. then it's come sounds is good.&lt;br /&gt;&lt;br /&gt;Here code for you.&lt;br /&gt;&lt;br /&gt;first i want to create threadentry32 structure.&lt;br /&gt; class THREADENTRY32&lt;br /&gt;    {&lt;br /&gt;      &lt;br /&gt;        public uint cntUsage;       &lt;br /&gt;        public uint dwFlags;&lt;br /&gt;        public uint dwSize;&lt;br /&gt;        public uint th32AccessKey;&lt;br /&gt;        public uint th32CurrentProcessID;&lt;br /&gt;        public uint th32OwnerProcessID;&lt;br /&gt;        public uint th32ThreadID;&lt;br /&gt;        public int tpBasePri;&lt;br /&gt;        public int tpDeltaPri;&lt;br /&gt;public THREADENTRY32()&lt;br /&gt;{&lt;br /&gt;}&lt;br /&gt; public THREADENTRY32(byte[] aData)&lt;br /&gt;        {&lt;br /&gt;            this.dwSize = BitConverter.ToUInt32(aData, 0);&lt;br /&gt;            this.cntUsage = BitConverter.ToUInt32(aData, 4);&lt;br /&gt;            this.th32ThreadID =BitConverter.ToUInt32(aData, 8);&lt;br /&gt;            this.th32OwnerProcessID = BitConverter.ToUInt32(aData, 12);&lt;br /&gt;            this.tpBasePri = BitConverter.ToInt32(aData, 0x10);&lt;br /&gt;            this.tpDeltaPri = BitConverter.ToInt32(aData, 0x18);&lt;br /&gt;            this.dwFlags = BitConverter.ToUInt32(aData, 0x20);&lt;br /&gt;            this.th32AccessKey = BitConverter.ToUInt32(aData, 0x24);&lt;br /&gt;            this.th32CurrentProcessID = BitConverter.ToUInt32(aData, 40);&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt; public byte[] ToByteArray()&lt;br /&gt;        {&lt;br /&gt;            byte[] aData = new byte[0x2c];&lt;br /&gt;            Util.SetUInt(aData, 0, 0x2c);&lt;br /&gt;            return aData;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;then i want to  get snapshot for thread collections.&lt;br /&gt;&lt;br /&gt;if i want to get thread snapshot olny , flag should be 4.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[DllImport("toolhelp.dll", EntryPoint = "CreateToolhelp32Snapshot", SetLastError = true)]&lt;br /&gt;            private static extern IntPtr CreateToolhelp32SnapshotAPI(uint flags, uint processid);&lt;br /&gt;&lt;br /&gt; [DllImport("toolhelp.dll", EntryPoint = "CloseToolhelp32Snapshot", SetLastError = true)]&lt;br /&gt;            private static extern int CloseToolhelp32SnapshotAPI(IntPtr handle); &lt;br /&gt;&lt;br /&gt; [DllImport("toolhelp.dll", EntryPoint = "Thread32First", SetLastError = true)]&lt;br /&gt;            private static extern int Thread32FirstAPI(IntPtr handle, byte[] te);&lt;br /&gt;&lt;br /&gt; [DllImport("toolhelp.dll", EntryPoint = "Thread32Next", SetLastError = true)]&lt;br /&gt;            private static extern int Thread32NextAPI(IntPtr handle, byte[] te);&lt;br /&gt;&lt;br /&gt;public static THREADENTRY32[] GetThreads(uint processID)&lt;br /&gt;        {&lt;br /&gt;            ArrayList list = new ArrayList();&lt;br /&gt;            IntPtr handle = CreateToolhelp32Snapshot(4, processID);&lt;br /&gt;            if (((int) handle) &lt;= 0)&lt;br /&gt;            {&lt;br /&gt;                throw new Exception("Unable to create snapshot");&lt;br /&gt;            }&lt;br /&gt;            try&lt;br /&gt;            {&lt;br /&gt;                byte[] te = new THREADENTRY32().ToByteArray();&lt;br /&gt;                for (int i = Thread32First(handle, te); i == 1; i = Thread32Next(handle, te))&lt;br /&gt;                {&lt;br /&gt;                    THREADENTRY32 threadentry = new THREADENTRY32(te);&lt;br /&gt;                    if ((processID == 0) || (threadentry.th32OwnerProcessID == processID))&lt;br /&gt;                    {&lt;br /&gt;                        THREADENTRY32entry = new THREADENTRY32(threadentry);&lt;br /&gt;                        list.Add(entry);&lt;br /&gt;                    }&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;            catch (Exception exception)&lt;br /&gt;            {&lt;br /&gt;                throw new Exception("Exception: " + exception.Message);&lt;br /&gt;            }&lt;br /&gt;            CloseToolhelp32Snapshot(handle);&lt;br /&gt;            return (THREADENTRY32[]) list.ToArray(typeof(THREADENTRY32));&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;That's all&lt;br /&gt;&lt;br /&gt;try and give a feedback.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5320350318741133625-254224873219207565?l=ravesoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ravesoft.blogspot.com/feeds/254224873219207565/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5320350318741133625&amp;postID=254224873219207565' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5320350318741133625/posts/default/254224873219207565'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5320350318741133625/posts/default/254224873219207565'/><link rel='alternate' type='text/html' href='http://ravesoft.blogspot.com/2008/07/get-list-of-threads-in-windows-mobile.html' title='Get List of threads in Windows MObile.'/><author><name>RRave</name><uri>http://www.blogger.com/profile/02162942492813501463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://4.bp.blogspot.com/_XXhoLiK87qs/SeoObND7qDI/AAAAAAAAADo/ROkVa_JFjkY/S220/profile.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5320350318741133625.post-6788627884137561272</id><published>2008-07-19T18:07:00.000-07:00</published><updated>2008-07-19T18:11:02.044-07:00</updated><title type='text'>Gradient Button in Windows mobile.</title><content type='html'>Hi Guys,&lt;br /&gt;Again in this post series, today gradient button in windows mobile with managed code.&lt;br /&gt;&lt;br /&gt;it's pretty simple,and when are finished it's look cool and nice.&lt;br /&gt;&lt;br /&gt;i had posted my article in the &lt;a href="http://www.codeproject.com"&gt;www.codeproject.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;here link for you all.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.codeproject.com/KB/mobile/Gradient_bt_NETCF.aspx"&gt;http://www.codeproject.com/KB/mobile/Gradient_bt_NETCF.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Enjoy .&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5320350318741133625-6788627884137561272?l=ravesoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ravesoft.blogspot.com/feeds/6788627884137561272/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5320350318741133625&amp;postID=6788627884137561272' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5320350318741133625/posts/default/6788627884137561272'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5320350318741133625/posts/default/6788627884137561272'/><link rel='alternate' type='text/html' href='http://ravesoft.blogspot.com/2008/07/gradient-button-in-windows-mobile.html' title='Gradient Button in Windows mobile.'/><author><name>RRave</name><uri>http://www.blogger.com/profile/02162942492813501463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://4.bp.blogspot.com/_XXhoLiK87qs/SeoObND7qDI/AAAAAAAAADo/ROkVa_JFjkY/S220/profile.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5320350318741133625.post-3518420469823041389</id><published>2008-07-16T05:07:00.000-07:00</published><updated>2008-07-16T05:08:52.383-07:00</updated><title type='text'>Get IP address in Windows MObile</title><content type='html'>Hi Guys,&lt;br /&gt;&lt;br /&gt;Get IP address of the device, when they connected to network.&lt;br /&gt;&lt;br /&gt; private void GetMyIP()&lt;br /&gt;        {&lt;br /&gt;            IPHostEntry hostentry = Dns.GetHostEntry(Dns.GetHostName());&lt;br /&gt;            if (hostentry != null)&lt;br /&gt;            {&lt;br /&gt;                IPAddress[] collectionOfIPs = hostentry.AddressList;&lt;br /&gt;                MessageBox.Show(collectionOfIPs[0].ToString());&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;Thank you&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5320350318741133625-3518420469823041389?l=ravesoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ravesoft.blogspot.com/feeds/3518420469823041389/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5320350318741133625&amp;postID=3518420469823041389' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5320350318741133625/posts/default/3518420469823041389'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5320350318741133625/posts/default/3518420469823041389'/><link rel='alternate' type='text/html' href='http://ravesoft.blogspot.com/2008/07/get-ip-address-in-windows-mobile.html' title='Get IP address in Windows MObile'/><author><name>RRave</name><uri>http://www.blogger.com/profile/02162942492813501463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://4.bp.blogspot.com/_XXhoLiK87qs/SeoObND7qDI/AAAAAAAAADo/ROkVa_JFjkY/S220/profile.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5320350318741133625.post-2637245289913468093</id><published>2008-07-15T21:26:00.001-07:00</published><updated>2008-07-15T21:34:49.302-07:00</updated><title type='text'>Gradient BackGround in Windows mobile</title><content type='html'>Hi Guys,&lt;br /&gt;&lt;br /&gt;Another cool stuff in this series, how make to gradient background in Windows mobile device forms?.&lt;br /&gt;&lt;br /&gt;MSDN have answer for above question. because of .NET CF haven't support directly draw Gradient Background, but Win CE API Have support, so we can play with P/Invoke, can make a cool and pretty background. &lt;br /&gt;&lt;br /&gt;Just Sample here&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms229655.aspx"&gt;http://msdn.microsoft.com/en-us/library/ms229655.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Thank you&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5320350318741133625-2637245289913468093?l=ravesoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ravesoft.blogspot.com/feeds/2637245289913468093/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5320350318741133625&amp;postID=2637245289913468093' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5320350318741133625/posts/default/2637245289913468093'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5320350318741133625/posts/default/2637245289913468093'/><link rel='alternate' type='text/html' href='http://ravesoft.blogspot.com/2008/07/gradient-background-in-net-cf.html' title='Gradient BackGround in Windows mobile'/><author><name>RRave</name><uri>http://www.blogger.com/profile/02162942492813501463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://4.bp.blogspot.com/_XXhoLiK87qs/SeoObND7qDI/AAAAAAAAADo/ROkVa_JFjkY/S220/profile.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5320350318741133625.post-8477714540262378858</id><published>2008-07-15T21:17:00.000-07:00</published><updated>2008-07-15T21:35:47.868-07:00</updated><title type='text'>Load Image to PictureBox in Windows Mobile</title><content type='html'>Hi guys,&lt;br /&gt;Another cool stuff, many guys, asking in  MS forums, how load the image to picture box from the device directory. it's pretty easy, there have many ways.&lt;br /&gt;&lt;br /&gt;1.loan image directly from the location&lt;br /&gt;2. load the image from the memory stream.&lt;br /&gt;&lt;br /&gt;So here code for you&lt;br /&gt;&lt;br /&gt;1.&lt;br /&gt;&lt;span id="_ctl0_MainContent_PostFlatView"&gt;&lt;span&gt;&lt;span style=";font-family:Arial;font-size:85%;"&gt;&lt;span style=";font-family:Calibri;font-size:100%;"&gt;pictureBox.Image = new Bitmap (“Full.Path.To.Bitmpap.”);&lt;br /&gt;&lt;br /&gt;2.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;meta equiv="Content-Type" content="text/html; charset=utf-8"&gt;&lt;meta name="ProgId" content="Word.Document"&gt;&lt;meta name="Generator" content="Microsoft Word 12"&gt;&lt;meta name="Originator" content="Microsoft Word 12"&gt;&lt;link rel="File-List" href="file:///C:%5CDOCUME%7E1%5CADMINI%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml"&gt;&lt;link rel="themeData" href="file:///C:%5CDOCUME%7E1%5CADMINI%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx"&gt;&lt;link rel="colorSchemeMapping" href="file:///C:%5CDOCUME%7E1%5CADMINI%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:trackmoves/&gt;   &lt;w:trackformatting/&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:donotpromoteqf/&gt;   &lt;w:lidthemeother&gt;EN-US&lt;/w:LidThemeOther&gt;   &lt;w:lidthemeasian&gt;X-NONE&lt;/w:LidThemeAsian&gt;   &lt;w:lidthemecomplexscript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;    &lt;w:splitpgbreakandparamark/&gt;    &lt;w:dontvertaligncellwithsp/&gt;    &lt;w:dontbreakconstrainedforcedtables/&gt;    &lt;w:dontvertalignintxbx/&gt;    &lt;w:word11kerningpairs/&gt;    &lt;w:cachedcolbalance/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;   &lt;m:mathpr&gt;    &lt;m:mathfont val="Cambria Math"&gt;    &lt;m:brkbin val="before"&gt;    &lt;m:brkbinsub val="--"&gt;    &lt;m:smallfrac val="off"&gt;    &lt;m:dispdef/&gt;    &lt;m:lmargin val="0"&gt;    &lt;m:rmargin val="0"&gt;    &lt;m:defjc val="centerGroup"&gt;    &lt;m:wrapindent val="1440"&gt;    &lt;m:intlim val="subSup"&gt;    &lt;m:narylim val="undOvr"&gt;   &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" defunhidewhenused="true" defsemihidden="true" defqformat="false" defpriority="99" latentstylecount="267"&gt;   &lt;w:lsdexception locked="false" priority="0" semihidden="false" unhidewhenused="false" qformat="true" name="Normal"&gt;   &lt;w:lsdexception locked="false" priority="9" semihidden="false" unhidewhenused="false" qformat="true" name="heading 1"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 2"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 3"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 4"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 5"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 6"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 7"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 8"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 9"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 1"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 2"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 3"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 4"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 5"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 6"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 7"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 8"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 9"&gt;   &lt;w:lsdexception locked="false" priority="35" qformat="true" name="caption"&gt;   &lt;w:lsdexception locked="false" priority="10" semihidden="false" unhidewhenused="false" qformat="true" name="Title"&gt;   &lt;w:lsdexception locked="false" priority="1" name="Default Paragraph Font"&gt;   &lt;w:lsdexception locked="false" priority="11" semihidden="false" unhidewhenused="false" qformat="true" name="Subtitle"&gt;   &lt;w:lsdexception locked="false" priority="22" semihidden="false" unhidewhenused="false" qformat="true" name="Strong"&gt;   &lt;w:lsdexception locked="false" priority="20" semihidden="false" unhidewhenused="false" qformat="true" name="Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="59" semihidden="false" unhidewhenused="false" name="Table Grid"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Placeholder Text"&gt;   &lt;w:lsdexception locked="false" priority="1" semihidden="false" unhidewhenused="false" qformat="true" name="No Spacing"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Revision"&gt;   &lt;w:lsdexception locked="false" priority="34" semihidden="false" unhidewhenused="false" qformat="true" name="List Paragraph"&gt;   &lt;w:lsdexception locked="false" priority="29" semihidden="false" unhidewhenused="false" qformat="true" name="Quote"&gt;   &lt;w:lsdexception locked="false" priority="30" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Quote"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="19" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="21" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="31" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Reference"&gt;   &lt;w:lsdexception locked="false" priority="32" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Reference"&gt;   &lt;w:lsdexception locked="false" priority="33" semihidden="false" unhidewhenused="false" qformat="true" name="Book Title"&gt;   &lt;w:lsdexception locked="false" priority="37" name="Bibliography"&gt;   &lt;w:lsdexception locked="false" priority="39" qformat="true" name="TOC Heading"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Font Definitions */  @font-face     {font-family:"Cambria Math";     panose-1:2 4 5 3 5 4 6 3 2 4;     mso-font-charset:1;     mso-generic-font-family:roman;     mso-font-format:other;     mso-font-pitch:variable;     mso-font-signature:0 0 0 0 0 0;} @font-face     {font-family:Calibri;     panose-1:2 15 5 2 2 2 4 3 2 4;     mso-font-charset:0;     mso-generic-font-family:swiss;     mso-font-pitch:variable;     mso-font-signature:-1610611985 1073750139 0 0 159 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal     {mso-style-unhide:no;     mso-style-qformat:yes;     mso-style-parent:"";     margin-top:0in;     margin-right:0in;     margin-bottom:10.0pt;     margin-left:0in;     line-height:115%;     mso-pagination:widow-orphan;     font-size:11.0pt;     font-family:"Calibri","sans-serif";     mso-ascii-font-family:Calibri;     mso-ascii-theme-font:minor-latin;     mso-fareast-font-family:Calibri;     mso-fareast-theme-font:minor-latin;     mso-hansi-font-family:Calibri;     mso-hansi-theme-font:minor-latin;     mso-bidi-font-family:"Times New Roman";     mso-bidi-theme-font:minor-bidi;} .MsoChpDefault     {mso-style-type:export-only;     mso-default-props:yes;     mso-ascii-font-family:Calibri;     mso-ascii-theme-font:minor-latin;     mso-fareast-font-family:Calibri;     mso-fareast-theme-font:minor-latin;     mso-hansi-font-family:Calibri;     mso-hansi-theme-font:minor-latin;     mso-bidi-font-family:"Times New Roman";     mso-bidi-theme-font:minor-bidi;} .MsoPapDefault     {mso-style-type:export-only;     margin-bottom:10.0pt;     line-height:115%;} @page Section1     {size:8.5in 11.0in;     margin:1.0in 1.0in 1.0in 1.0in;     mso-header-margin:.5in;     mso-footer-margin:.5in;     mso-paper-source:0;} div.Section1     {page:Section1;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable     {mso-style-name:"Table Normal";     mso-tstyle-rowband-size:0;     mso-tstyle-colband-size:0;     mso-style-noshow:yes;     mso-style-priority:99;     mso-style-qformat:yes;     mso-style-parent:"";     mso-padding-alt:0in 5.4pt 0in 5.4pt;     mso-para-margin-top:0in;     mso-para-margin-right:0in;     mso-para-margin-bottom:10.0pt;     mso-para-margin-left:0in;     line-height:115%;     mso-pagination:widow-orphan;     font-size:11.0pt;     font-family:"Calibri","sans-serif";     mso-ascii-font-family:Calibri;     mso-ascii-theme-font:minor-latin;     mso-fareast-font-family:"Times New Roman";     mso-fareast-theme-font:minor-fareast;     mso-hansi-font-family:Calibri;     mso-hansi-theme-font:minor-latin;} &lt;/style&gt; &lt;![endif]--&gt;private void LoadImage(string filePath)&lt;br /&gt;        {&lt;br /&gt;            using (FileStream reader = new FileStream(filePath, FileMode.Open))&lt;br /&gt;            {&lt;br /&gt;                byte[] data = new byte[reader.Length];&lt;br /&gt;                reader.Read(data, 0, (int)reader.Length);&lt;br /&gt;                using (MemoryStream memory = new MemoryStream(data))&lt;br /&gt;                {&lt;br /&gt;                    pictureBox1.Image = new Bitmap(memory);&lt;br /&gt;                    pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;Thank you&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5320350318741133625-8477714540262378858?l=ravesoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ravesoft.blogspot.com/feeds/8477714540262378858/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5320350318741133625&amp;postID=8477714540262378858' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5320350318741133625/posts/default/8477714540262378858'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5320350318741133625/posts/default/8477714540262378858'/><link rel='alternate' type='text/html' href='http://ravesoft.blogspot.com/2008/07/load-image-to-picturebox-in-net-cf.html' title='Load Image to PictureBox in Windows Mobile'/><author><name>RRave</name><uri>http://www.blogger.com/profile/02162942492813501463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://4.bp.blogspot.com/_XXhoLiK87qs/SeoObND7qDI/AAAAAAAAADo/ROkVa_JFjkY/S220/profile.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5320350318741133625.post-5289305629977509609</id><published>2008-07-15T20:33:00.000-07:00</published><updated>2008-07-15T20:36:43.803-07:00</updated><title type='text'>Transparent Label in .NET Compact framework</title><content type='html'>Hi Guys,&lt;br /&gt;&lt;br /&gt;I seen in MS forums lof of guys, asking how to make transparent label.&lt;br /&gt;it's pretty simple, when we use the Graphics object in .NET CF.&lt;br /&gt;&lt;br /&gt;Here complete code for create transparent label.&lt;br /&gt;&lt;br /&gt;&lt;span&gt;&lt;p align="left"&gt;&lt;span style="font-size:85%;color:#808080;"&gt;&lt;span style="font-size:85%;color:#0000ff;"&gt;private&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;color:#0000ff;"&gt;void&lt;/span&gt;&lt;span style="font-size:85%;"&gt; DrawLabel (&lt;/span&gt;&lt;span style="font-size:85%;color:#2b91af;"&gt;Label&lt;/span&gt;&lt;span style="font-size:85%;"&gt; label, &lt;/span&gt;&lt;span style="font-size:85%;color:#2b91af;"&gt;Graphics&lt;/span&gt;&lt;span style="font-size:85%;"&gt; gfx)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;span style="font-size:85%;color:#808080;"&gt;&lt;span style="font-size:85%;"&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;blockquote dir="ltr" style="margin-right: 0px;"&gt; &lt;p align="left"&gt;&lt;span style="font-size:85%;color:#808080;"&gt;&lt;span style="font-size:85%;color:#0000ff;"&gt;if&lt;/span&gt;&lt;span style="font-size:85%;"&gt; (label.TextAlign == &lt;/span&gt;&lt;span style="font-size:85%;color:#2b91af;"&gt;ContentAlignment&lt;/span&gt;&lt;span style="font-size:85%;"&gt;.TopLeft)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;span style="font-size:85%;color:#808080;"&gt;&lt;span style="font-size:85%;"&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;blockquote dir="ltr" style="margin-right: 0px;"&gt; &lt;p align="left"&gt;&lt;span style="font-size:85%;color:#808080;"&gt;&lt;span style="font-size:85%;"&gt;gfx.DrawString(label.Text, label.Font, &lt;/span&gt;&lt;span style="font-size:85%;color:#0000ff;"&gt;new&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;color:#2b91af;"&gt;SolidBrush&lt;/span&gt;&lt;span style="font-size:85%;"&gt;(label.ForeColor), label.Bounds);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p align="left"&gt;&lt;span style="font-size:85%;color:#808080;"&gt;&lt;span style="font-size:85%;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;span style="font-size:85%;color:#808080;"&gt;&lt;span style="font-size:85%;color:#0000ff;"&gt;else&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;color:#0000ff;"&gt;if&lt;/span&gt;&lt;span style="font-size:85%;"&gt; (label.TextAlign == &lt;/span&gt;&lt;span style="font-size:85%;color:#2b91af;"&gt;ContentAlignment&lt;/span&gt;&lt;span style="font-size:85%;"&gt;.TopCenter)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;span style="font-size:85%;color:#808080;"&gt;&lt;span style="font-size:85%;"&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;blockquote dir="ltr" style="margin-right: 0px;"&gt; &lt;p align="left"&gt;&lt;span style="font-size:85%;color:#808080;"&gt;&lt;span style="font-size:85%;color:#2b91af;"&gt;SizeF&lt;/span&gt;&lt;span style="font-size:85%;"&gt; size = gfx.MeasureString(label.Text, label.Font);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;span style="font-size:85%;color:#808080;"&gt;&lt;span style="font-size:85%;color:#0000ff;"&gt;float&lt;/span&gt;&lt;span style="font-size:85%;"&gt; left = ((&lt;/span&gt;&lt;span style="font-size:85%;color:#0000ff;"&gt;float&lt;/span&gt;&lt;span style="font-size:85%;"&gt;) &lt;/span&gt;&lt;span style="font-size:85%;color:#0000ff;"&gt;this&lt;/span&gt;&lt;span style="font-size:85%;"&gt;.Width + label.Left) / 2 - size.Width / 2;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;span style="font-size:85%;color:#808080;"&gt;&lt;span style="font-size:85%;color:#2b91af;"&gt;RectangleF&lt;/span&gt;&lt;span style="font-size:85%;"&gt; rect = &lt;/span&gt;&lt;span style="font-size:85%;color:#0000ff;"&gt;new&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;color:#2b91af;"&gt;RectangleF&lt;/span&gt;&lt;span style="font-size:85%;"&gt;(left, (&lt;/span&gt;&lt;span style="font-size:85%;color:#0000ff;"&gt;float&lt;/span&gt;&lt;span style="font-size:85%;"&gt;) label.Top, size.Width, label.Height);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;span style="font-size:85%;color:#808080;"&gt;&lt;span style="font-size:85%;"&gt;gfx.DrawString(label.Text, label.Font, &lt;/span&gt;&lt;span style="font-size:85%;color:#0000ff;"&gt;new&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;color:#2b91af;"&gt;SolidBrush&lt;/span&gt;&lt;span style="font-size:85%;"&gt;(label.ForeColor), rect);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p align="left"&gt;&lt;span style="font-size:85%;color:#808080;"&gt;&lt;span style="font-size:85%;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;span style="font-size:85%;color:#808080;"&gt;&lt;span style="font-size:85%;color:#0000ff;"&gt;else&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;color:#008000;"&gt;//is aligned at TopRight&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size:85%;color:#808080;"&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;p align="left"&gt;&lt;span style="font-size:85%;color:#808080;"&gt;&lt;span style="font-size:85%;"&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;blockquote dir="ltr" style="margin-right: 0px;"&gt; &lt;p align="left"&gt;&lt;span style="font-size:85%;color:#808080;"&gt;&lt;span style="font-size:85%;color:#2b91af;"&gt;SizeF&lt;/span&gt;&lt;span style="font-size:85%;"&gt; size = gfx.MeasureString(label.Text, label.Font);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;span style="font-size:85%;color:#808080;"&gt;&lt;span style="font-size:85%;color:#0000ff;"&gt;float&lt;/span&gt;&lt;span style="font-size:85%;"&gt; left = (&lt;/span&gt;&lt;span style="font-size:85%;color:#0000ff;"&gt;float&lt;/span&gt;&lt;span style="font-size:85%;"&gt;) label.Width - size.Width + label.Left;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;span style="font-size:85%;color:#808080;"&gt;&lt;span style="font-size:85%;color:#2b91af;"&gt;RectangleF&lt;/span&gt;&lt;span style="font-size:85%;"&gt; rect = &lt;/span&gt;&lt;span style="font-size:85%;color:#0000ff;"&gt;new&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;color:#2b91af;"&gt;RectangleF&lt;/span&gt;&lt;span style="font-size:85%;"&gt;(left, (&lt;/span&gt;&lt;span style="font-size:85%;color:#0000ff;"&gt;float&lt;/span&gt;&lt;span style="font-size:85%;"&gt;) label.Top, size.Width, label.Height);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;span style="font-size:85%;color:#808080;"&gt;&lt;span style="font-size:85%;"&gt;gfx.DrawString(label.Text, label.Font, &lt;/span&gt;&lt;span style="font-size:85%;color:#0000ff;"&gt;new&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;color:#2b91af;"&gt;SolidBrush&lt;/span&gt;&lt;span style="font-size:85%;"&gt;(label.ForeColor), rect);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p align="left"&gt;&lt;span style="font-size:85%;color:#808080;"&gt;&lt;span style="font-size:85%;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p align="left"&gt;&lt;span style="font-size:85%;color:#808080;"&gt;&lt;span style="font-size:85%;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size:85%;color:#808080;"&gt;&lt;br /&gt;Thank you&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5320350318741133625-5289305629977509609?l=ravesoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ravesoft.blogspot.com/feeds/5289305629977509609/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5320350318741133625&amp;postID=5289305629977509609' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5320350318741133625/posts/default/5289305629977509609'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5320350318741133625/posts/default/5289305629977509609'/><link rel='alternate' type='text/html' href='http://ravesoft.blogspot.com/2008/07/transparent-label-in-net-compact.html' title='Transparent Label in .NET Compact framework'/><author><name>RRave</name><uri>http://www.blogger.com/profile/02162942492813501463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://4.bp.blogspot.com/_XXhoLiK87qs/SeoObND7qDI/AAAAAAAAADo/ROkVa_JFjkY/S220/profile.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5320350318741133625.post-4413663532542147818</id><published>2008-07-15T08:29:00.000-07:00</published><updated>2008-07-15T08:31:53.333-07:00</updated><title type='text'>How to find string within ComboBox in .NET CF</title><content type='html'>Hi&lt;br /&gt;The  comapct framework haven't method for find a string within combobox, but native code have support. So little P/Invoke and get tht features to .NET CF&lt;br /&gt;&lt;br /&gt;Here code for you.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: verdana;"&gt; &lt;span style="color: rgb(102, 102, 102);"&gt;public const int CB_FINDSTRINGEXACT = 0x0158;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana; color: rgb(102, 102, 102);"&gt;        [DllImport("coredll.dll")]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana; color: rgb(102, 102, 102);"&gt;        internal static extern int SendMessage(IntPtr hWnd, int msg, int wParam, string lParam);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana; color: rgb(102, 102, 102);"&gt;        private void FindStringExact(string find)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana; color: rgb(102, 102, 102);"&gt;        {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana; color: rgb(102, 102, 102);"&gt;            int m = SendMessage(comboBox1.Handle, CB_FINDSTRINGEXACT, 0, find + "\0");&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana; color: rgb(102, 102, 102);"&gt;            if (m &gt; 0)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana; color: rgb(102, 102, 102);"&gt;            {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana; color: rgb(102, 102, 102);"&gt;                MessageBox.Show(find);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana; color: rgb(102, 102, 102);"&gt;            }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana; color: rgb(102, 102, 102);"&gt;            else&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana; color: rgb(102, 102, 102);"&gt;            {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana; color: rgb(102, 102, 102);"&gt;                MessageBox.Show("no");&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana; color: rgb(102, 102, 102);"&gt;            }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana; color: rgb(102, 102, 102);"&gt;        }&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Thank you&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5320350318741133625-4413663532542147818?l=ravesoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ravesoft.blogspot.com/feeds/4413663532542147818/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5320350318741133625&amp;postID=4413663532542147818' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5320350318741133625/posts/default/4413663532542147818'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5320350318741133625/posts/default/4413663532542147818'/><link rel='alternate' type='text/html' href='http://ravesoft.blogspot.com/2008/07/how-to-find-string-within-combobox-in.html' title='How to find string within ComboBox in .NET CF'/><author><name>RRave</name><uri>http://www.blogger.com/profile/02162942492813501463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://4.bp.blogspot.com/_XXhoLiK87qs/SeoObND7qDI/AAAAAAAAADo/ROkVa_JFjkY/S220/profile.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5320350318741133625.post-5937198475314167556</id><published>2008-07-15T07:41:00.000-07:00</published><updated>2008-07-15T07:48:38.957-07:00</updated><title type='text'>How to create Action Lable in .Net compact framework.</title><content type='html'>Hi Guys,&lt;br /&gt;&lt;br /&gt;Now i'm back in my blog, so i have plan post some cool stuff in my blog every day.&lt;br /&gt;&lt;br /&gt;According that, today i will post a code for , how to create Action Lable in .NETCF.&lt;br /&gt;&lt;br /&gt;It's pretty simple, Because of we dont need play with P/Invoke. but we want to play with GDI.&lt;br /&gt;&lt;br /&gt;Because of  i  want to create a graphical objects,&lt;br /&gt;&lt;br /&gt;Here complete code for  you.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;using System;&lt;br /&gt;using System.Windows.Forms;&lt;br /&gt;using System.Drawing;&lt;br /&gt;&lt;br /&gt;namespace RaveSoftBlog&lt;br /&gt;{&lt;br /&gt;    /// &lt;summary&gt;&lt;br /&gt;    /// Arrow label button control.&lt;br /&gt;    /// &lt;/summary&gt;&lt;br /&gt;    public class ActionLabel : Control&lt;br /&gt;    {&lt;br /&gt;        class Const&lt;br /&gt;        {&lt;br /&gt;            public static Color DisableColor = Color.FromArgb(150,150,80);&lt;br /&gt;            public static Color PushedColor = Color.FromArgb(160,100,0);&lt;br /&gt;            public static Color ForeColor = Color.FromArgb(90,90,45);&lt;br /&gt;            public static Color BulletColor = Color.FromArgb(180,180,110);&lt;br /&gt;            public const string FontName = "Arial";&lt;br /&gt;            public const int FontSize = 10;&lt;br /&gt;            public const int BulletSize = 8;&lt;br /&gt;        }&lt;br /&gt;       &lt;br /&gt;        // internal fields&lt;br /&gt;        bool m_pushed;&lt;br /&gt;        Rectangle m_rcHitArea;&lt;br /&gt;        Point[] m_bulletPts;&lt;br /&gt;       &lt;br /&gt;        // gdi objects&lt;br /&gt;        Bitmap m_bmp;&lt;br /&gt;        Font m_font;&lt;br /&gt;        Pen m_penPushed, m_penFore, m_penDisabled;&lt;br /&gt;        Brush m_brushPushed, m_brushFore, m_brushDisabled;&lt;br /&gt;&lt;br /&gt;        // ctor&lt;br /&gt;        public ActionLabelControl()&lt;br /&gt;        {&lt;br /&gt;            // colors&lt;br /&gt;            this.ForeColor = Const.ForeColor;&lt;br /&gt;           &lt;br /&gt;            // gdi objects&lt;br /&gt;            CreateGdiObjects();&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        protected override void OnPaint(PaintEventArgs e)&lt;br /&gt;        {&lt;br /&gt;            // draw to memory bitmap&lt;br /&gt;            CreateMemoryBitmap(e.Graphics);&lt;br /&gt;            Graphics g = Graphics.FromImage(m_bmp);&lt;br /&gt;            DrawLabel(g);&lt;br /&gt;           &lt;br /&gt;            // blit memory bitmap to screen&lt;br /&gt;            e.Graphics.DrawImage(m_bmp, 0, 0);&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        protected override void OnPaintBackground(PaintEventArgs e)&lt;br /&gt;        {&lt;br /&gt;            // don't pass to base since we paint everything, avoid flashing&lt;br /&gt;        }&lt;br /&gt;       &lt;br /&gt;        protected override void OnEnabledChanged(EventArgs e)&lt;br /&gt;        {&lt;br /&gt;            // redraw when enabled state changes&lt;br /&gt;            Invalidate();&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        // draw label and arrow&lt;br /&gt;        private void DrawLabel(Graphics g)&lt;br /&gt;        {&lt;br /&gt;            // background&lt;br /&gt;            g.Clear(Parent.BackColor);&lt;br /&gt;           &lt;br /&gt;            // determine what pen and brush to use&lt;br /&gt;            Pen pen = m_pushed ? m_penPushed :&lt;br /&gt;                (this.Enabled ? m_penFore : m_penDisabled);&lt;br /&gt;&lt;br /&gt;            Brush brush = m_pushed ? m_brushPushed :&lt;br /&gt;                (this.Enabled ? m_brushFore : m_brushDisabled);&lt;br /&gt;&lt;br /&gt;            // draw solid arrow if enabled&lt;br /&gt;            if (this.Enabled)&lt;br /&gt;                g.FillPolygon(brush, m_bulletPts);&lt;br /&gt;&lt;br /&gt;            g.DrawPolygon(pen, m_bulletPts);&lt;br /&gt;&lt;br /&gt;            // label text&lt;br /&gt;            Size textSize = g.MeasureString(Text, m_font).ToSize();&lt;br /&gt;            g.DrawString(Text, m_font, brush,&lt;br /&gt;                Const.BulletSize+8, (this.Height - textSize.Height)/2);&lt;br /&gt;        }&lt;br /&gt;       &lt;br /&gt;        protected override void OnMouseDown (MouseEventArgs e)&lt;br /&gt;        {&lt;br /&gt;            base.OnMouseDown(e);&lt;br /&gt;            this.Capture = true;&lt;br /&gt;&lt;br /&gt;            // see if clicked on label text or arrow&lt;br /&gt;            if (m_rcHitArea.Contains(e.X, e.Y))&lt;br /&gt;            {&lt;br /&gt;                m_pushed = true;&lt;br /&gt;                Invalidate();&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        protected override void OnMouseUp (MouseEventArgs e)&lt;br /&gt;        {&lt;br /&gt;            base.OnMouseUp(e);&lt;br /&gt;            this.Capture = false;&lt;br /&gt;            m_pushed = false;&lt;br /&gt;            Invalidate();&lt;br /&gt;        }&lt;br /&gt;       &lt;br /&gt;        protected override void OnClick(EventArgs e)&lt;br /&gt;        {&lt;br /&gt;            if (m_pushed)&lt;br /&gt;                base.OnClick(e);&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        private void CreateGdiObjects()&lt;br /&gt;        {&lt;br /&gt;            // gdi objects&lt;br /&gt;            m_font = new Font(Const.FontName, Const.FontSize, FontStyle.Bold);&lt;br /&gt;            m_penPushed = new Pen(Const.PushedColor);&lt;br /&gt;            m_penFore = new Pen(this.ForeColor);&lt;br /&gt;            m_penDisabled = new Pen(Const.DisableColor);&lt;br /&gt;            m_brushPushed = new SolidBrush(Const.PushedColor);&lt;br /&gt;            m_brushFore = new SolidBrush(this.ForeColor);&lt;br /&gt;            m_brushDisabled = new SolidBrush(Const.DisableColor);&lt;br /&gt;        }&lt;br /&gt;       &lt;br /&gt;        private void CreateMemoryBitmap(Graphics g)&lt;br /&gt;        {&lt;br /&gt;            // see if need to create gdi objects&lt;br /&gt;            if (m_bmp == null || m_bmp.Width != this.Width || m_bmp.Height != this.Height)&lt;br /&gt;            {&lt;br /&gt;                // memory bitmap&lt;br /&gt;                m_bmp = new Bitmap(this.Width, this.Height);&lt;br /&gt;               &lt;br /&gt;                // bullet points&lt;br /&gt;                int halfHeight = this.Height/2;&lt;br /&gt;                m_bulletPts = new Point[3];&lt;br /&gt;                m_bulletPts[0] = new Point(0, halfHeight-(Const.BulletSize/2));&lt;br /&gt;                m_bulletPts[1] = new Point(Const.BulletSize, halfHeight);&lt;br /&gt;                m_bulletPts[2] = new Point(0, halfHeight+(Const.BulletSize/2));&lt;br /&gt;&lt;br /&gt;                // hit area&lt;br /&gt;                Size textSize = g.MeasureString(Text, m_font).ToSize();&lt;br /&gt;                m_rcHitArea = new Rectangle(0,&lt;br /&gt;                    (this.Height - textSize.Height)/2,&lt;br /&gt;                    textSize.Width + Const.BulletSize + 8,&lt;br /&gt;                    textSize.Height);&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Thank you&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5320350318741133625-5937198475314167556?l=ravesoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ravesoft.blogspot.com/feeds/5937198475314167556/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5320350318741133625&amp;postID=5937198475314167556' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5320350318741133625/posts/default/5937198475314167556'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5320350318741133625/posts/default/5937198475314167556'/><link rel='alternate' type='text/html' href='http://ravesoft.blogspot.com/2008/07/how-to-create-action-lable-in-net.html' title='How to create Action Lable in .Net compact framework.'/><author><name>RRave</name><uri>http://www.blogger.com/profile/02162942492813501463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://4.bp.blogspot.com/_XXhoLiK87qs/SeoObND7qDI/AAAAAAAAADo/ROkVa_JFjkY/S220/profile.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5320350318741133625.post-6262386507053930905</id><published>2008-07-15T07:38:00.000-07:00</published><updated>2008-07-15T07:41:09.445-07:00</updated><title type='text'>System Center Mobile device</title><content type='html'>Hi Guys,&lt;br /&gt;&lt;br /&gt;Another good news, the Microsoft lounge the new blog for SCMD.&lt;br /&gt;&lt;br /&gt;i hope it's help to mobile related developer with MS.&lt;br /&gt;&lt;br /&gt;http://blogs.technet.com/scmdm/&lt;br /&gt;&lt;br /&gt;Thank you&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5320350318741133625-6262386507053930905?l=ravesoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ravesoft.blogspot.com/feeds/6262386507053930905/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5320350318741133625&amp;postID=6262386507053930905' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5320350318741133625/posts/default/6262386507053930905'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5320350318741133625/posts/default/6262386507053930905'/><link rel='alternate' type='text/html' href='http://ravesoft.blogspot.com/2008/07/system-center-mobile-device.html' title='System Center Mobile device'/><author><name>RRave</name><uri>http://www.blogger.com/profile/02162942492813501463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://4.bp.blogspot.com/_XXhoLiK87qs/SeoObND7qDI/AAAAAAAAADo/ROkVa_JFjkY/S220/profile.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5320350318741133625.post-8127775101323719533</id><published>2008-01-09T00:39:00.001-08:00</published><updated>2008-01-09T00:39:56.500-08:00</updated><title type='text'>Use the Sync Framework with C#</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-AU"&gt;Hi Guys&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-AU"&gt;Micro soft introduce new framework for&lt;span style=""&gt;  &lt;/span&gt;all type sync. This framework&lt;span style=""&gt;  &lt;/span&gt;have&lt;span style=""&gt;  &lt;/span&gt;varity type of the specify sync operation with database or filesystem. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-AU"&gt;List of those are,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-AU"&gt;1.ADO.Net&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-AU"&gt;2.Common(File System)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-AU"&gt;You can downlaod SyncFramework from bellow url&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-AU"&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=35E8F16E-AAA4-4919-8B3C-1CE4EA1F6552&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyId=35E8F16E-AAA4-4919-8B3C-1CE4EA1F6552&amp;amp;displaylang=en&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-AU"&gt;The Sync framework have managed class libraries. So we can code with C# or other your desired language (MS).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-AU"&gt;After download and installed , create a new Project with C# or your desired language.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;&lt;span style="" lang="EN-AU"&gt;I had create console application with C#&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-AU"&gt;Afte you must add References Microsoft &lt;span style=""&gt; &lt;/span&gt;&lt;/span&gt;&lt;code&gt;&lt;span style="font-size: 10pt; line-height: 115%;"&gt;Synchronization&lt;/span&gt;&lt;/code&gt;&lt;span style="" lang="EN-AU"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;code&gt;&lt;span style="font-size: 10pt; line-height: 115%;"&gt;using System;&lt;/span&gt;&lt;/code&gt;&lt;span style="font-size: 10pt; line-height: 115%; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;    using System.IO;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;    using Microsoft.Synchronization;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;    using Microsoft.Synchronization.Files;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;    public class FileSyncProviderSample&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;    {&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;        public static void Main( string [] args)&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;        {&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;            if (args.Length &lt;&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                string .IsNullOrEmpty(args[0]) || string .IsNullOrEmpty(args[1]) ||&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                ! Directory .Exists(args[0]) || ! Directory .Exists(args[1]))&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;            {&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                Console .WriteLine(&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                  "Usage: FileSyncSample [valid directory path 1] [valid directory path 2]" );&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                return ;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;            }&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;            string replica1RootPath = args[0];&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;            string replica2RootPath = args[1];&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;            string idFileName = "filesync.id" ;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;            SyncId replica1Id = GetReplicaId( Path .Combine(args[0], idFileName));&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;            SyncId replica2Id = GetReplicaId( Path .Combine(args[1], idFileName));&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;            try&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;            {&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                // Set options for the sync operation&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                FileSyncOptions options = FileSyncOptions.ExplicitDetectChanges |&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                         FileSyncOptions.RecycleDeletes | FileSyncOptions.RecycleOverwrites;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                FileSyncScopeFilter filter = new FileSyncScopeFilter();&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                filter.FileNameExcludes.Add(idFileName); // Exclude the id file&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                // Explicitly detect changes on both replicas upfront, to avoid two change&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                // detection passes for the two-way sync&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                DetectChangesOnFileSystemReplica(&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                    replica1Id, replica1RootPath, filter, options);&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                DetectChangesOnFileSystemReplica(&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                    replica2Id, replica2RootPath, filter, options);&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                // Sync in both directions&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                SyncFileSystemReplicasOneWay(replica1Id, replica2Id,&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                    replica1RootPath, replica2RootPath, filter, options);&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                SyncFileSystemReplicasOneWay(replica2Id, replica1Id,&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                    replica2RootPath, replica1RootPath, filter, options);&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;            }&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;            catch ( Exception e)&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;            {&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                Console .WriteLine( "\nException from File System Provider:\n" + e.ToString());&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;            }&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;        }&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;        public static void DetectChangesOnFileSystemReplica(&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                SyncId replicaId, string replicaRootPath,&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                FileSyncScopeFilter filter, FileSyncOptions options)&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;        {&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;            FileSyncProvider provider = null ;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;            try&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;            {&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                provider = new FileSyncProvider(replicaId, replicaRootPath, filter, options);&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                provider.DetectChanges();&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;            }&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;            finally&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;            {&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                // Release resources&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                if (provider != null )&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                    provider.Dispose();&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;            }&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;        }&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;        public static void SyncFileSystemReplicasOneWay(&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                SyncId sourceReplicaId, SyncId destinationReplicaId,&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                string sourceReplicaRootPath, string destinationReplicaRootPath,&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                FileSyncScopeFilter filter, FileSyncOptions options)&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;        {&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;            FileSyncProvider sourceProvider = null ;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;            FileSyncProvider destinationProvider = null ;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;            try&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;            {&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                sourceProvider = new FileSyncProvider(&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                    sourceReplicaId, sourceReplicaRootPath, filter, options);&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                destinationProvider = new FileSyncProvider(&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                    destinationReplicaId, destinationReplicaRootPath, filter, options);&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                destinationProvider.AppliedChange +=&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                    new EventHandler &lt;appliedchangeeventargs&gt;(OnAppliedChange);&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                destinationProvider.SkippedChange +=&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                    new EventHandler &lt;skippedchangeeventargs&gt;(OnSkippedChange);&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                SyncAgent agent = new SyncAgent();&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                agent.LocalProvider = sourceProvider;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                agent.RemoteProvider = destinationProvider;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                agent.Direction = SyncDirection.Upload; // Sync source to destination&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                Console .WriteLine( "Synchronizing changes to replica: " +&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                    destinationProvider.RootDirectoryPath);&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                agent.Synchronize();&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;            }&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;            finally&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;            {&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                // Release resources&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                if (sourceProvider != null ) sourceProvider.Dispose();&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                if (destinationProvider != null ) destinationProvider.Dispose();&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;            }&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;        }&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;        public static void OnAppliedChange( object sender, AppliedChangeEventArgs args)&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;        {&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;            switch (args.ChangeType)&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;            {&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                case ChangeType.Create:&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                    Console .WriteLine( "-- Applied CREATE for file " + args.NewFilePath);&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                    break ;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                case ChangeType.Delete:&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                    Console .WriteLine( "-- Applied DELETE for file " + args.OldFilePath);&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                    break ;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                case ChangeType.Overwrite:&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                    Console .WriteLine( "-- Applied OVERWRITE for file " + args.OldFilePath);&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                    break ;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                case ChangeType.Rename:&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                    Console .WriteLine( "-- Applied RENAME for file " + args.OldFilePath +&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                                      " as " + args.NewFilePath);&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                    break ;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;            }&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;        }&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;        public static void OnSkippedChange( object sender, SkippedChangeEventArgs args)&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;        {&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;            Console .WriteLine( "-- Skipped applying " + args.ChangeType.ToString().ToUpper()&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                  + " for " + (! string .IsNullOrEmpty(args.CurrentFilePath) ?&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                                args.CurrentFilePath : args.NewFilePath) + " due to error" );&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;            if (args.Exception != null )&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                Console .WriteLine( "   [" + args.Exception.Message + "]" );&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;        }&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;        public static SyncId GetReplicaId( string idFilePath)&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;        {&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;            SyncId replicaId = null ;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;            if ( File .Exists(idFilePath))&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;            {&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                using ( StreamReader sr = File .OpenText(idFilePath))&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                {&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                    string strGuid = sr.ReadLine();&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                    if (! string .IsNullOrEmpty(strGuid))&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                        replicaId = new SyncId( new Guid (strGuid));&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                }&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;            }&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;            if (replicaId == null )&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;            {&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                using ( FileStream idFile = File .Open(&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                            idFilePath, FileMode .OpenOrCreate, FileAccess .ReadWrite))&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                {&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                    using ( StreamWriter sw = new StreamWriter (idFile))&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                    {&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                        replicaId = new SyncId( Guid .NewGuid());&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                        sw.WriteLine(replicaId.GetGuidId().ToString( "D" ));&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                    }&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;                }&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;            }&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;            return replicaId;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;        }&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=""&gt;    }&lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;span style="" lang="EN-AU"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-AU"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-AU"&gt;basically sync framework work GUID as references. Because of Sync is time depend operation,so we must need a unique id for identification our file/DB is changed , removed and etc.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-AU"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;&lt;span style="" lang="EN-AU"&gt;Con&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-AU"&gt;The SyncFramework&lt;span style=""&gt;  &lt;/span&gt;had&lt;span style=""&gt;  &lt;/span&gt;greate feature for sync operation to all types of operation. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-AU"&gt;You can use the Sync framework for Database Sync , File System Sync,And &lt;span style=""&gt; &lt;/span&gt;Mobile decvice File Sync.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-AU"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-AU"&gt;More from&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-AU"&gt;&lt;a href="http://msdn2.microsoft.com/en-us/sync/default.aspx"&gt;http://msdn2.microsoft.com/en-us/sync/default.aspx&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-AU"&gt;&lt;a href="http://msdn2.microsoft.com/en-us/sync/bb887623.aspx"&gt;http://msdn2.microsoft.com/en-us/sync/bb887623.aspx&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-AU"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-size: 10pt; line-height: 115%; color: rgb(0, 102, 0);"&gt;Best Regards&lt;br /&gt;RRave&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;span style="font-size: 10pt; line-height: 115%; color: rgb(0, 102, 0);"&gt;&lt;u1:p&gt;MCTS/MCPD&lt;/u1:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;span style="" lang="EN-AU"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-AU"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-AU"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5320350318741133625-8127775101323719533?l=ravesoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ravesoft.blogspot.com/feeds/8127775101323719533/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5320350318741133625&amp;postID=8127775101323719533' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5320350318741133625/posts/default/8127775101323719533'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5320350318741133625/posts/default/8127775101323719533'/><link rel='alternate' type='text/html' href='http://ravesoft.blogspot.com/2008/01/use-sync-framework-with-c.html' title='Use the Sync Framework with C#'/><author><name>RRave</name><uri>http://www.blogger.com/profile/02162942492813501463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://4.bp.blogspot.com/_XXhoLiK87qs/SeoObND7qDI/AAAAAAAAADo/ROkVa_JFjkY/S220/profile.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5320350318741133625.post-8839986130403486151</id><published>2007-12-27T21:51:00.000-08:00</published><updated>2007-12-27T22:19:59.919-08:00</updated><title type='text'>Access Assembly file and get Product informations</title><content type='html'>&lt;p class="MsoNormal"&gt;Hi Guys&lt;/p&gt;  &lt;p class="MsoNormal"&gt;We have good features in the .net based on the application version and customizations. Basically dot net provide unique assembly file for the common setting within the Projects. And we can play with that file within code as well. How I can say that? The dot net give few attributes based on the assembly manipulations. Let say we want to know the current version of the Product, so we want to access assembly file and get answer from that file. Since when we try access that product version attribute in the assembly file, we must use the AssemblyVersionAttribute attribute.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;And lot’s customization attribute exist in the .net class library based on the assembly file.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;List of commonly using attributes.&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpFirst" style="text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="line-height: 115%;"&gt;&lt;span style=""&gt;1.&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style="font-size: 10pt; line-height: 115%; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(49, 163, 196);"&gt;1.AssemblyTitleAttribute&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;&lt;span style=""&gt;2.&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style="font-size: 10pt; line-height: 115%; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(49, 163, 196);"&gt;2.AssemblyCompanyAttribute&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;&lt;span style=""&gt;3.&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style="font-size: 10pt; line-height: 115%; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(49, 163, 196);"&gt;3.AssemblyVersionAttribute&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;&lt;span style=""&gt;4.&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style="font-size: 10pt; line-height: 115%; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(49, 163, 196);"&gt;4.AssemblyProductAttribute&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpLast" style="text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="line-height: 115%;"&gt;&lt;span style=""&gt;5.5&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;   5.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; line-height: 115%; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(49, 163, 196);"&gt;AssemblyCopyrightAttribute&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size: 10pt; line-height: 115%; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(49, 163, 196);"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; line-height: 115%; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(49, 163, 196);"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;  &lt;p class="MsoListParagraph" style="text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;&lt;span style=""&gt;6.&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style="font-size: 10pt; line-height: 115%; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(49, 163, 196);"&gt;6.AssemblyDescriptionAttribute&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;Now see, somebody can know how use those attribute with our coding .somebody may be can’t know. This article provides simple class with commonly using attribute, and gets information from the assembly about the product.&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;Let’s see the class.&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: blue;"&gt;using&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt; System;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: blue;"&gt;using&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt; System&lt;b&gt;&lt;span style="color: red;"&gt;.&lt;/span&gt;&lt;/b&gt;Collections&lt;b&gt;&lt;span style="color: red;"&gt;.&lt;/span&gt;&lt;/b&gt;Generic;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: blue;"&gt;using&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt; System&lt;b&gt;&lt;span style="color: red;"&gt;.&lt;/span&gt;&lt;/b&gt;Text;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: blue;"&gt;using&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt; System&lt;b&gt;&lt;span style="color: red;"&gt;.&lt;/span&gt;&lt;/b&gt;Reflection;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: blue;"&gt;namespace&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt; AccessAssembly&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;class&lt;/span&gt; &lt;span style="color: rgb(49, 163, 196);"&gt;ApplicationDetails&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;    &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;span style="color: blue;"&gt;static&lt;/span&gt; &lt;span style="color: blue;"&gt;string&lt;/span&gt; companyName &lt;b&gt;&lt;span style="color: red;"&gt;=&lt;/span&gt;&lt;/b&gt; &lt;span style="color: blue;"&gt;string&lt;/span&gt;&lt;b&gt;&lt;span style="color: red;"&gt;.&lt;/span&gt;&lt;/b&gt;Empty;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&lt;summary&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; Get the name of the system provider name from the assembly&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&lt;/summary&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;static&lt;/span&gt; &lt;span style="color: blue;"&gt;string&lt;/span&gt; CompanyName&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;        &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;            &lt;/span&gt;&lt;span style="color: blue;"&gt;get&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;            &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                &lt;/span&gt;&lt;span style="color: rgb(49, 163, 196);"&gt;Assembly&lt;/span&gt; assembly &lt;b&gt;&lt;span style="color: red;"&gt;=&lt;/span&gt;&lt;/b&gt; System&lt;b&gt;&lt;span style="color: red;"&gt;.&lt;/span&gt;&lt;/b&gt;Reflection&lt;b&gt;&lt;span style="color: red;"&gt;.&lt;/span&gt;&lt;/b&gt;&lt;span style="color: rgb(49, 163, 196);"&gt;Assembly&lt;/span&gt;&lt;b&gt;&lt;span style="color: red;"&gt;.&lt;/span&gt;&lt;/b&gt;GetEntryAssembly();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;         &lt;/span&gt;&lt;span style=""&gt;       &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt; (assembly &lt;b&gt;&lt;span style="color: red;"&gt;!=&lt;/span&gt;&lt;/b&gt; &lt;span style="color: blue;"&gt;null&lt;/span&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                    &lt;/span&gt;&lt;span style="color: blue;"&gt;object&lt;/span&gt;[] customAttributes &lt;b&gt;&lt;span style="color: red;"&gt;=&lt;/span&gt;&lt;/b&gt; assembly&lt;b&gt;&lt;span style="color: red;"&gt;.&lt;/span&gt;&lt;/b&gt;GetCustomAttributes(&lt;span style="color: blue;"&gt;typeof&lt;/span&gt;(&lt;span style="color: rgb(49, 163, 196);"&gt;AssemblyCompanyAttribute&lt;/span&gt;), &lt;span style="color: blue;"&gt;false&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                    &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt; ((customAttributes &lt;b&gt;&lt;span style="color: red;"&gt;!=&lt;/span&gt;&lt;/b&gt; &lt;span style="color: blue;"&gt;null&lt;/span&gt;) &lt;b&gt;&lt;span style="color: red;"&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;/b&gt; (customAttributes&lt;b&gt;&lt;span style="color: red;"&gt;.&lt;/span&gt;&lt;/b&gt;Length &lt;b&gt;&lt;span style="color: red;"&gt;&gt;&lt;/span&gt;&lt;/b&gt; 0))&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                    &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                        &lt;/span&gt;companyName &lt;b&gt;&lt;span style="color: red;"&gt;=&lt;/span&gt;&lt;/b&gt; ((&lt;span style="color: rgb(49, 163, 196);"&gt;AssemblyCompanyAttribute&lt;/span&gt;)customAttributes[0])&lt;b&gt;&lt;span style="color: red;"&gt;.&lt;/span&gt;&lt;/b&gt;Company;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                    &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                    &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt; (&lt;span style="color: blue;"&gt;string&lt;/span&gt;&lt;b&gt;&lt;span style="color: red;"&gt;.&lt;/span&gt;&lt;/b&gt;IsNullOrEmpty(companyName))&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                    &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                        &lt;/span&gt;companyName &lt;b&gt;&lt;span style="color: red;"&gt;=&lt;/span&gt;&lt;/b&gt; &lt;span style="color: blue;"&gt;string&lt;/span&gt;&lt;b&gt;&lt;span style="color: red;"&gt;.&lt;/span&gt;&lt;/b&gt;Empty;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                    &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                &lt;/span&gt;&lt;span style="color: blue;"&gt;return&lt;/span&gt; companyName;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;            &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;        &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;span style="color: blue;"&gt;static&lt;/span&gt; &lt;span style="color: blue;"&gt;string&lt;/span&gt; productVersion &lt;b&gt;&lt;span style="color: red;"&gt;=&lt;/span&gt;&lt;/b&gt; &lt;span style="color: blue;"&gt;string&lt;/span&gt;&lt;b&gt;&lt;span style="color: red;"&gt;.&lt;/span&gt;&lt;/b&gt;Empty;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&lt;summary&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; Get System version from the assembly&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&lt;/summary&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;static&lt;/span&gt; &lt;span style="color: blue;"&gt;string&lt;/span&gt; ProductVersion&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;        &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;            &lt;/span&gt;&lt;span style="color: blue;"&gt;get&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;            &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                &lt;/span&gt;&lt;span style="color: rgb(49, 163, 196);"&gt;Assembly&lt;/span&gt; assembly &lt;b&gt;&lt;span style="color: red;"&gt;=&lt;/span&gt;&lt;/b&gt; System&lt;b&gt;&lt;span style="color: red;"&gt;.&lt;/span&gt;&lt;/b&gt;Reflection&lt;b&gt;&lt;span style="color: red;"&gt;.&lt;/span&gt;&lt;/b&gt;&lt;span style="color: rgb(49, 163, 196);"&gt;Assembly&lt;/span&gt;&lt;b&gt;&lt;span style="color: red;"&gt;.&lt;/span&gt;&lt;/b&gt;GetEntryAssembly();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt; (assembly &lt;b&gt;&lt;span style="color: red;"&gt;!=&lt;/span&gt;&lt;/b&gt; &lt;span style="color: blue;"&gt;null&lt;/span&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                    &lt;/span&gt;&lt;span style="color: blue;"&gt;object&lt;/span&gt;[] customAttributes &lt;b&gt;&lt;span style="color: red;"&gt;=&lt;/span&gt;&lt;/b&gt; assembly&lt;b&gt;&lt;span style="color: red;"&gt;.&lt;/span&gt;&lt;/b&gt;GetCustomAttributes(&lt;span style="color: blue;"&gt;typeof&lt;/span&gt;(&lt;span style="color: rgb(49, 163, 196);"&gt;AssemblyVersionAttribute&lt;/span&gt;), &lt;span style="color: blue;"&gt;false&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                    &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt; ((customAttributes &lt;b&gt;&lt;span style="color: red;"&gt;!=&lt;/span&gt;&lt;/b&gt; &lt;span style="color: blue;"&gt;null&lt;/span&gt;) &lt;b&gt;&lt;span style="color: red;"&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;/b&gt; (customAttributes&lt;b&gt;&lt;span style="color: red;"&gt;.&lt;/span&gt;&lt;/b&gt;Length &lt;b&gt;&lt;span style="color: red;"&gt;&gt;&lt;/span&gt;&lt;/b&gt; 0))&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                    &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                        &lt;/span&gt;productVersion &lt;b&gt;&lt;span style="color: red;"&gt;=&lt;/span&gt;&lt;/b&gt; ((&lt;span style="color: rgb(49, 163, 196);"&gt;AssemblyVersionAttribute&lt;/span&gt;)customAttributes[0])&lt;b&gt;&lt;span style="color: red;"&gt;.&lt;/span&gt;&lt;/b&gt;Version;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                    &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                    &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt; (&lt;span style="color: blue;"&gt;string&lt;/span&gt;&lt;b&gt;&lt;span style="color: red;"&gt;.&lt;/span&gt;&lt;/b&gt;IsNullOrEmpty(productVersion))&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                    &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                        &lt;/span&gt;productVersion &lt;b&gt;&lt;span style="color: red;"&gt;=&lt;/span&gt;&lt;/b&gt; &lt;span style="color: blue;"&gt;string&lt;/span&gt;&lt;b&gt;&lt;span style="color: red;"&gt;.&lt;/span&gt;&lt;/b&gt;Empty;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                    &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                &lt;/span&gt;&lt;span style="color: blue;"&gt;return&lt;/span&gt; productVersion;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;            &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;        &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;span style="color: blue;"&gt;static&lt;/span&gt; &lt;span style="color: blue;"&gt;string&lt;/span&gt; productName &lt;b&gt;&lt;span style="color: red;"&gt;=&lt;/span&gt;&lt;/b&gt; &lt;span style="color: blue;"&gt;string&lt;/span&gt;&lt;b&gt;&lt;span style="color: red;"&gt;.&lt;/span&gt;&lt;/b&gt;Empty;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&lt;summary&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; Get the name of the System from the assembly&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&lt;/summary&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;static&lt;/span&gt; &lt;span style="color: blue;"&gt;string&lt;/span&gt; ProductName&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;        &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;            &lt;/span&gt;&lt;span style="color: blue;"&gt;get&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;            &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                &lt;/span&gt;&lt;span style="color: rgb(49, 163, 196);"&gt;Assembly&lt;/span&gt; assembly &lt;b&gt;&lt;span style="color: red;"&gt;=&lt;/span&gt;&lt;/b&gt; System&lt;b&gt;&lt;span style="color: red;"&gt;.&lt;/span&gt;&lt;/b&gt;Reflection&lt;b&gt;&lt;span style="color: red;"&gt;.&lt;/span&gt;&lt;/b&gt;&lt;span style="color: rgb(49, 163, 196);"&gt;Assembly&lt;/span&gt;&lt;b&gt;&lt;span style="color: red;"&gt;.&lt;/span&gt;&lt;/b&gt;GetEntryAssembly();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt; (assembly &lt;b&gt;&lt;span style="color: red;"&gt;!=&lt;/span&gt;&lt;/b&gt; &lt;span style="color: blue;"&gt;null&lt;/span&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                    &lt;/span&gt;&lt;span style="color: blue;"&gt;object&lt;/span&gt;[] customAttributes &lt;b&gt;&lt;span style="color: red;"&gt;=&lt;/span&gt;&lt;/b&gt; assembly&lt;b&gt;&lt;span style="color: red;"&gt;.&lt;/span&gt;&lt;/b&gt;GetCustomAttributes(&lt;span style="color: blue;"&gt;typeof&lt;/span&gt;(&lt;span style="color: rgb(49, 163, 196);"&gt;AssemblyProductAttribute&lt;/span&gt;), &lt;span style="color: blue;"&gt;false&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                    &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt; ((customAttributes &lt;b&gt;&lt;span style="color: red;"&gt;!=&lt;/span&gt;&lt;/b&gt; &lt;span style="color: blue;"&gt;null&lt;/span&gt;) &lt;b&gt;&lt;span style="color: red;"&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;/b&gt; (customAttributes&lt;b&gt;&lt;span style="color: red;"&gt;.&lt;/span&gt;&lt;/b&gt;Length &lt;b&gt;&lt;span style="color: red;"&gt;&gt;&lt;/span&gt;&lt;/b&gt; 0))&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                    &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                        &lt;/span&gt;productName &lt;b&gt;&lt;span style="color: red;"&gt;=&lt;/span&gt;&lt;/b&gt; ((&lt;span style="color: rgb(49, 163, 196);"&gt;AssemblyProductAttribute&lt;/span&gt;)customAttributes[0])&lt;b&gt;&lt;span style="color: red;"&gt;.&lt;/span&gt;&lt;/b&gt;Product;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                    &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                    &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt; (&lt;span style="color: blue;"&gt;string&lt;/span&gt;&lt;b&gt;&lt;span style="color: red;"&gt;.&lt;/span&gt;&lt;/b&gt;IsNullOrEmpty(productName))&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                    &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                        &lt;/span&gt;productName &lt;b&gt;&lt;span style="color: red;"&gt;=&lt;/span&gt;&lt;/b&gt; &lt;span style="color: blue;"&gt;string&lt;/span&gt;&lt;b&gt;&lt;span style="color: red;"&gt;.&lt;/span&gt;&lt;/b&gt;Empty;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                    &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                &lt;/span&gt;&lt;span style="color: blue;"&gt;return&lt;/span&gt; productName;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;            &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;        &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;span style="color: blue;"&gt;static&lt;/span&gt; &lt;span style="color: blue;"&gt;string&lt;/span&gt; copyRightsDetail &lt;b&gt;&lt;span style="color: red;"&gt;=&lt;/span&gt;&lt;/b&gt; &lt;span style="color: blue;"&gt;string&lt;/span&gt;&lt;b&gt;&lt;span style="color: red;"&gt;.&lt;/span&gt;&lt;/b&gt;Empty;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&lt;summary&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; Get the copyRights details from the assembly&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&lt;/summary&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;static&lt;/span&gt; &lt;span style="color: blue;"&gt;string&lt;/span&gt; CopyRightsDetail&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;        &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;            &lt;/span&gt;&lt;span style="color: blue;"&gt;get&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;            &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                &lt;/span&gt;&lt;span style="color: rgb(49, 163, 196);"&gt;Assembly&lt;/span&gt; assembly &lt;b&gt;&lt;span style="color: red;"&gt;=&lt;/span&gt;&lt;/b&gt; System&lt;b&gt;&lt;span style="color: red;"&gt;.&lt;/span&gt;&lt;/b&gt;Reflection&lt;b&gt;&lt;span style="color: red;"&gt;.&lt;/span&gt;&lt;/b&gt;&lt;span style="color: rgb(49, 163, 196);"&gt;Assembly&lt;/span&gt;&lt;b&gt;&lt;span style="color: red;"&gt;.&lt;/span&gt;&lt;/b&gt;GetEntryAssembly();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt; (assembly &lt;b&gt;&lt;span style="color: red;"&gt;!=&lt;/span&gt;&lt;/b&gt; &lt;span style="color: blue;"&gt;null&lt;/span&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                    &lt;/span&gt;&lt;span style="color: blue;"&gt;object&lt;/span&gt;[] customAttributes &lt;b&gt;&lt;span style="color: red;"&gt;=&lt;/span&gt;&lt;/b&gt; assembly&lt;b&gt;&lt;span style="color: red;"&gt;.&lt;/span&gt;&lt;/b&gt;GetCustomAttributes(&lt;span style="color: blue;"&gt;typeof&lt;/span&gt;(&lt;span style="color: rgb(49, 163, 196);"&gt;AssemblyCopyrightAttribute&lt;/span&gt;), &lt;span style="color: blue;"&gt;false&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                    &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt; ((customAttributes &lt;b&gt;&lt;span style="color: red;"&gt;!=&lt;/span&gt;&lt;/b&gt; &lt;span style="color: blue;"&gt;null&lt;/span&gt;) &lt;b&gt;&lt;span style="color: red;"&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;/b&gt; (customAttributes&lt;b&gt;&lt;span style="color: red;"&gt;.&lt;/span&gt;&lt;/b&gt;Length &lt;b&gt;&lt;span style="color: red;"&gt;&gt;&lt;/span&gt;&lt;/b&gt; 0))&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                    &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                        &lt;/span&gt;copyRightsDetail &lt;b&gt;&lt;span style="color: red;"&gt;=&lt;/span&gt;&lt;/b&gt; ((&lt;span style="color: rgb(49, 163, 196);"&gt;AssemblyCopyrightAttribute&lt;/span&gt;)customAttributes[0])&lt;b&gt;&lt;span style="color: red;"&gt;.&lt;/span&gt;&lt;/b&gt;Copyright;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                    &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                    &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt; (&lt;span style="color: blue;"&gt;string&lt;/span&gt;&lt;b&gt;&lt;span style="color: red;"&gt;.&lt;/span&gt;&lt;/b&gt;IsNullOrEmpty(copyRightsDetail))&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                    &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                        &lt;/span&gt;copyRightsDetail &lt;b&gt;&lt;span style="color: red;"&gt;=&lt;/span&gt;&lt;/b&gt; &lt;span style="color: blue;"&gt;string&lt;/span&gt;&lt;b&gt;&lt;span style="color: red;"&gt;.&lt;/span&gt;&lt;/b&gt;Empty;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                    &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                &lt;/span&gt;&lt;span style="color: blue;"&gt;return&lt;/span&gt; copyRightsDetail;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;            &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;        &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;span style="color: blue;"&gt;static&lt;/span&gt; &lt;span style="color: blue;"&gt;string&lt;/span&gt; productTitle &lt;b&gt;&lt;span style="color: red;"&gt;=&lt;/span&gt;&lt;/b&gt; &lt;span style="color: blue;"&gt;string&lt;/span&gt;&lt;b&gt;&lt;span style="color: red;"&gt;.&lt;/span&gt;&lt;/b&gt;Empty;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&lt;summary&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; Get the Product tile from the assembly&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&lt;/summary&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;static&lt;/span&gt; &lt;span style="color: blue;"&gt;string&lt;/span&gt; ProductTitle&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;        &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;            &lt;/span&gt;&lt;span style="color: blue;"&gt;get&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;            &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                &lt;/span&gt;&lt;span style="color: rgb(49, 163, 196);"&gt;Assembly&lt;/span&gt; assembly &lt;b&gt;&lt;span style="color: red;"&gt;=&lt;/span&gt;&lt;/b&gt; System&lt;b&gt;&lt;span style="color: red;"&gt;.&lt;/span&gt;&lt;/b&gt;Reflection&lt;b&gt;&lt;span style="color: red;"&gt;.&lt;/span&gt;&lt;/b&gt;&lt;span style="color: rgb(49, 163, 196);"&gt;Assembly&lt;/span&gt;&lt;b&gt;&lt;span style="color: red;"&gt;.&lt;/span&gt;&lt;/b&gt;GetEntryAssembly();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt; (assembly &lt;b&gt;&lt;span style="color: red;"&gt;!=&lt;/span&gt;&lt;/b&gt; &lt;span style="color: blue;"&gt;null&lt;/span&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                    &lt;/span&gt;&lt;span style="color: blue;"&gt;object&lt;/span&gt;[] customAttributes &lt;b&gt;&lt;span style="color: red;"&gt;=&lt;/span&gt;&lt;/b&gt; assembly&lt;b&gt;&lt;span style="color: red;"&gt;.&lt;/span&gt;&lt;/b&gt;GetCustomAttributes(&lt;span style="color: blue;"&gt;typeof&lt;/span&gt;(&lt;span style="color: rgb(49, 163, 196);"&gt;AssemblyTitleAttribute&lt;/span&gt;), &lt;span style="color: blue;"&gt;false&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                    &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt; ((customAttributes &lt;b&gt;&lt;span style="color: red;"&gt;!=&lt;/span&gt;&lt;/b&gt; &lt;span style="color: blue;"&gt;null&lt;/span&gt;) &lt;b&gt;&lt;span style="color: red;"&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;/b&gt; (customAttributes&lt;b&gt;&lt;span style="color: red;"&gt;.&lt;/span&gt;&lt;/b&gt;Length &lt;b&gt;&lt;span style="color: red;"&gt;&gt;&lt;/span&gt;&lt;/b&gt; 0))&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                    &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                        &lt;/span&gt;productTitle &lt;b&gt;&lt;span style="color: red;"&gt;=&lt;/span&gt;&lt;/b&gt; ((&lt;span style="color: rgb(49, 163, 196);"&gt;AssemblyTitleAttribute&lt;/span&gt;)customAttributes[0])&lt;b&gt;&lt;span style="color: red;"&gt;.&lt;/span&gt;&lt;/b&gt;Title;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                    &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                    &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt; (&lt;span style="color: blue;"&gt;string&lt;/span&gt;&lt;b&gt;&lt;span style="color: red;"&gt;.&lt;/span&gt;&lt;/b&gt;IsNullOrEmpty(productTitle))&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                    &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                        &lt;/span&gt;productTitle &lt;b&gt;&lt;span style="color: red;"&gt;=&lt;/span&gt;&lt;/b&gt; &lt;span style="color: blue;"&gt;string&lt;/span&gt;&lt;b&gt;&lt;span style="color: red;"&gt;.&lt;/span&gt;&lt;/b&gt;Empty;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                    &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                &lt;/span&gt;&lt;span style="color: blue;"&gt;return&lt;/span&gt; productTitle;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;            &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;        &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;       &lt;/span&gt;&lt;span style="color: blue;"&gt;static&lt;/span&gt; &lt;span style="color: blue;"&gt;string&lt;/span&gt; productDescription &lt;b&gt;&lt;span style="color: red;"&gt;=&lt;/span&gt;&lt;/b&gt; &lt;span style="color: blue;"&gt;string&lt;/span&gt;&lt;b&gt;&lt;span style="color: red;"&gt;.&lt;/span&gt;&lt;/b&gt;Empty;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&lt;summary&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; Get the description of the product from the assembly&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&lt;/summary&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;static&lt;/span&gt; &lt;span style="color: blue;"&gt;string&lt;/span&gt; ProductDescription&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;        &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;            &lt;/span&gt;&lt;span style="color: blue;"&gt;get&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;            &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                &lt;/span&gt;&lt;span style="color: rgb(49, 163, 196);"&gt;Assembly&lt;/span&gt; assembly &lt;b&gt;&lt;span style="color: red;"&gt;=&lt;/span&gt;&lt;/b&gt; System&lt;b&gt;&lt;span style="color: red;"&gt;.&lt;/span&gt;&lt;/b&gt;Reflection&lt;b&gt;&lt;span style="color: red;"&gt;.&lt;/span&gt;&lt;/b&gt;&lt;span style="color: rgb(49, 163, 196);"&gt;Assembly&lt;/span&gt;&lt;b&gt;&lt;span style="color: red;"&gt;.&lt;/span&gt;&lt;/b&gt;GetEntryAssembly();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt; (assembly &lt;b&gt;&lt;span style="color: red;"&gt;!=&lt;/span&gt;&lt;/b&gt; &lt;span style="color: blue;"&gt;null&lt;/span&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                    &lt;/span&gt;&lt;span style="color: blue;"&gt;object&lt;/span&gt;[] customAttributes &lt;b&gt;&lt;span style="color: red;"&gt;=&lt;/span&gt;&lt;/b&gt; assembly&lt;b&gt;&lt;span style="color: red;"&gt;.&lt;/span&gt;&lt;/b&gt;GetCustomAttributes(&lt;span style="color: blue;"&gt;typeof&lt;/span&gt;(&lt;span style="color: rgb(49, 163, 196);"&gt;AssemblyDescriptionAttribute&lt;/span&gt;), &lt;span style="color: blue;"&gt;false&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                    &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt; ((customAttributes &lt;b&gt;&lt;span style="color: red;"&gt;!=&lt;/span&gt;&lt;/b&gt; &lt;span style="color: blue;"&gt;null&lt;/span&gt;) &lt;b&gt;&lt;span style="color: red;"&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;/b&gt; (customAttributes&lt;b&gt;&lt;span style="color: red;"&gt;.&lt;/span&gt;&lt;/b&gt;Length &lt;b&gt;&lt;span style="color: red;"&gt;&gt;&lt;/span&gt;&lt;/b&gt; 0))&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                    &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                        &lt;/span&gt;productDescription &lt;b&gt;&lt;span style="color: red;"&gt;=&lt;/span&gt;&lt;/b&gt; ((&lt;span style="color: rgb(49, 163, 196);"&gt;AssemblyDescriptionAttribute&lt;/span&gt;)customAttributes[0])&lt;b&gt;&lt;span style="color: red;"&gt;.&lt;/span&gt;&lt;/b&gt;Description;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                    &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                    &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt; (&lt;span style="color: blue;"&gt;string&lt;/span&gt;&lt;b&gt;&lt;span style="color: red;"&gt;.&lt;/span&gt;&lt;/b&gt;IsNullOrEmpty(productDescription))&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;span style=""&gt;            &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                        &lt;/span&gt;productDescription &lt;b&gt;&lt;span style="color: red;"&gt;=&lt;/span&gt;&lt;/b&gt; &lt;span style="color: blue;"&gt;string&lt;/span&gt;&lt;b&gt;&lt;span style="color: red;"&gt;.&lt;/span&gt;&lt;/b&gt;Empty;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                    &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                &lt;/span&gt;&lt;span style="color: blue;"&gt;return&lt;/span&gt; productDescription;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;            &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;        &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;    &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;Let see simple explanation get product description from the assembly file&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;static&lt;/span&gt; &lt;span style="color: blue;"&gt;string&lt;/span&gt; ProductDescription&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;        &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;            &lt;/span&gt;&lt;span style="color: blue;"&gt;get&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;            &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;//get the entry assebly file for the product&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                &lt;/span&gt;&lt;span style="color: rgb(49, 163, 196);"&gt;Assembly&lt;/span&gt; assembly &lt;b&gt;&lt;span style="color: red;"&gt;=&lt;/span&gt;&lt;/b&gt; System&lt;b&gt;&lt;span style="color: red;"&gt;.&lt;/span&gt;&lt;/b&gt;Reflection&lt;b&gt;&lt;span style="color: red;"&gt;.&lt;/span&gt;&lt;/b&gt;&lt;span style="color: rgb(49, 163, 196);"&gt;Assembly&lt;/span&gt;&lt;b&gt;&lt;span style="color: red;"&gt;.&lt;/span&gt;&lt;/b&gt;GetEntryAssembly();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt; (assembly &lt;b&gt;&lt;span style="color: red;"&gt;!=&lt;/span&gt;&lt;/b&gt; &lt;span style="color: blue;"&gt;null&lt;/span&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;//now get the customattribute for the &lt;span style="color: rgb(49, 163, 196);"&gt;AssemblyDescriptionAttribute&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                    &lt;/span&gt;&lt;span style="color: blue;"&gt;object&lt;/span&gt;[] customAttributes &lt;b&gt;&lt;span style="color: red;"&gt;=&lt;/span&gt;&lt;/b&gt; assembly&lt;b&gt;&lt;span style="color: red;"&gt;.&lt;/span&gt;&lt;/b&gt;GetCustomAttributes(&lt;span style="color: blue;"&gt;typeof&lt;/span&gt;(&lt;span style="color: rgb(49, 163, 196);"&gt;AssemblyDescriptionAttribute&lt;/span&gt;), &lt;span style="color: blue;"&gt;false&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                    &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt; ((customAttributes &lt;b&gt;&lt;span style="color: red;"&gt;!=&lt;/span&gt;&lt;/b&gt; &lt;span style="color: blue;"&gt;null&lt;/span&gt;) &lt;b&gt;&lt;span style="color: red;"&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;/b&gt; (customAttributes&lt;b&gt;&lt;span style="color: red;"&gt;.&lt;/span&gt;&lt;/b&gt;Length &lt;b&gt;&lt;span style="color: red;"&gt;&gt;&lt;/span&gt;&lt;/b&gt; 0))&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                    &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                        &lt;/span&gt;productDescription &lt;b&gt;&lt;span style="color: red;"&gt;=&lt;/span&gt;&lt;/b&gt; ((&lt;span style="color: rgb(49, 163, 196);"&gt;AssemblyDescriptionAttribute&lt;/span&gt;)customAttributes[0])&lt;b&gt;&lt;span style="color: red;"&gt;.&lt;/span&gt;&lt;/b&gt;Description;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                    &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                    &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt; (&lt;span style="color: blue;"&gt;string&lt;/span&gt;&lt;b&gt;&lt;span style="color: red;"&gt;.&lt;/span&gt;&lt;/b&gt;IsNullOrEmpty(productDescription))&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;span style=""&gt;            &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                        &lt;/span&gt;productDescription &lt;b&gt;&lt;span style="color: red;"&gt;=&lt;/span&gt;&lt;/b&gt; &lt;span style="color: blue;"&gt;string&lt;/span&gt;&lt;b&gt;&lt;span style="color: red;"&gt;.&lt;/span&gt;&lt;/b&gt;Empty;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                    &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                &lt;/span&gt;&lt;span style="color: blue;"&gt;return&lt;/span&gt; productDescription;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;            &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;        &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;We want to get all custom attribute from the assembly file based on the&lt;span style="font-size: 10pt; line-height: 115%; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(49, 163, 196);"&gt; AssemblyDescriptionAttribute&lt;/span&gt; .&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                    &lt;/span&gt;&lt;span style="color: blue;"&gt;object&lt;/span&gt;[] customAttributes &lt;b&gt;&lt;span style="color: red;"&gt;=&lt;/span&gt;&lt;/b&gt; assembly&lt;b&gt;&lt;span style="color: red;"&gt;.&lt;/span&gt;&lt;/b&gt;GetCustomAttributes(&lt;span style="color: blue;"&gt;typeof&lt;/span&gt;(&lt;span style="color: rgb(49, 163, 196);"&gt;AssemblyDescriptionAttribute&lt;/span&gt;), &lt;span style="color: blue;"&gt;false&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;After access the first attribute in the collections, and get the value from that&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                        &lt;/span&gt;productDescription &lt;b&gt;&lt;span style="color: red;"&gt;=&lt;/span&gt;&lt;/b&gt; ((&lt;span style="color: rgb(49, 163, 196);"&gt;AssemblyDescriptionAttribute&lt;/span&gt;)customAttributes[0])&lt;b&gt;&lt;span style="color: red;"&gt;.&lt;/span&gt;&lt;/b&gt;Description;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;That’s it. and enjoy&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;b style=""&gt;Con&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;The .net provides a good customization based on the assembly file. So please try access all other attributes in the assembly file and enjoy.&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;span style="font-style: italic; color: rgb(0, 102, 0);font-size:85%;" &gt;&lt;o:p&gt; Best Regards&lt;br /&gt;RRave&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;o:p&gt;&lt;span style="font-style: italic; color: rgb(0, 102, 0);font-size:85%;" &gt;MCTS/MCPD&lt;/span&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5320350318741133625-8839986130403486151?l=ravesoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ravesoft.blogspot.com/feeds/8839986130403486151/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5320350318741133625&amp;postID=8839986130403486151' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5320350318741133625/posts/default/8839986130403486151'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5320350318741133625/posts/default/8839986130403486151'/><link rel='alternate' type='text/html' href='http://ravesoft.blogspot.com/2007/12/access-assembly-file-and-get-product.html' title='Access Assembly file and get Product informations'/><author><name>RRave</name><uri>http://www.blogger.com/profile/02162942492813501463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://4.bp.blogspot.com/_XXhoLiK87qs/SeoObND7qDI/AAAAAAAAADo/ROkVa_JFjkY/S220/profile.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5320350318741133625.post-3050960568942914620</id><published>2007-12-17T21:12:00.001-08:00</published><updated>2007-12-26T00:36:35.352-08:00</updated><title type='text'>CLS Attribute in DotNet</title><content type='html'>Hi Guys,&lt;br /&gt;&lt;br /&gt;The when i see the microsoft forums and other forums sites, many guys ask about CLSCompliant attribute in the class file or assembly. i have idea about that , and i will post here. It's not complicated, but have some conditions and etc...&lt;br /&gt;&lt;br /&gt;The conditions means, CLS-&lt;span class="txt"&gt;Command Language Specification(.NET).When i can say .net is great framework for all guys.because of it's multi language supporting such as VB.NET,C++.NET,C#.NET,J# and etc....Somebody can ask how can support a framework to multi language? answer is that is th .NET FRAMEWORK.&lt;br /&gt;&lt;br /&gt;Come to point..&lt;br /&gt;so when we try a code in any language with .net Framework, we must follow few rules , when we will apply &lt;/span&gt;CLSCompliant attribute.&lt;br /&gt;&lt;br /&gt;a::The methods are not same. it;s we have one method call "GetUsers()", and we don't have a method like "GETUSERS()".&lt;br /&gt;&lt;br /&gt;b::Only properties and methods may be overloaded, Operators should not be overloaded.&lt;br /&gt;&lt;br /&gt;c::We must avoid unsignned datatype within the class file&lt;br /&gt;&lt;br /&gt;d::Publicly exposed members cannot start with an underscore ( _ )&lt;br /&gt;&lt;br /&gt;e::Unsafe types like pointers should not be used with public members. However they can be used with private members.&lt;br /&gt;&lt;br /&gt;f::Operators can't be overloaded&lt;br /&gt;&lt;br /&gt;g::Unsigned types should not be part of the public interface of the class.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;we can apply &lt;span class="txt"&gt;&lt;/span&gt;CLSCompliant  to&lt;span style="font-size:85%;"&gt; &lt;span style="font-size:100%;"&gt;&lt;span class="txt"&gt;&lt;span style="font-family:Verdana;"&gt;assemblies, modules, types, and members.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Example::A(apply to class)&lt;br /&gt;[CLSCompliant(true)]&lt;br /&gt;public class Smp&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;span class="txt"&gt;&lt;br /&gt;&lt;/span&gt;Example::B(apply to assembly&lt;br /&gt;using System;&lt;br /&gt;[assembly:CLSCompliant(true)]&lt;br /&gt;&lt;br /&gt;Con....&lt;br /&gt;&lt;br /&gt;If you develop applications that conform to the CLS, your program will be interoperable with a wide range of .Net supported programming languages. Therefore, your application is likely to have a wider customer base than a non-CLS-compliant version of your application. You can make sure that the C# programs you develop are CLS compliant by using the CLSCompliantAttribute, which will cause the compiler to raise errors if the program is not CLS compliant.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold; color: rgb(0, 153, 0);"&gt;Best Regards&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold; color: rgb(0, 153, 0);"&gt;RRave&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold; color: rgb(0, 153, 0);"&gt;MCTS,MCPD&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="txt"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:Verdana;"&gt;&lt;span style="background-color: rgb(255, 255, 0);"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5320350318741133625-3050960568942914620?l=ravesoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ravesoft.blogspot.com/feeds/3050960568942914620/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5320350318741133625&amp;postID=3050960568942914620' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5320350318741133625/posts/default/3050960568942914620'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5320350318741133625/posts/default/3050960568942914620'/><link rel='alternate' type='text/html' href='http://ravesoft.blogspot.com/2007/12/cls-attribute-in-dotnet.html' title='CLS Attribute in DotNet'/><author><name>RRave</name><uri>http://www.blogger.com/profile/02162942492813501463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://4.bp.blogspot.com/_XXhoLiK87qs/SeoObND7qDI/AAAAAAAAADo/ROkVa_JFjkY/S220/profile.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5320350318741133625.post-5973974875347831668</id><published>2007-11-20T21:38:00.000-08:00</published><updated>2008-12-09T17:46:52.252-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows Mobile 5.0'/><title type='text'>Internet connection with Windows Mobile 5.0</title><content type='html'>The windows mobile 5.0 SDK for pocket PC, had great dlls.&lt;br /&gt;most popular one is the MicroSoft.Windows.Mobile.State.this is one have more than 100+ properties for Windows Mobile devices.You can download it's freely from here &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=83A52AF2-F524-4EC5-9155-717CBE5D25ED&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?familyid=83A52AF2-F524-4EC5-9155-717CBE5D25ED&amp;amp;displaylang=en&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;after installed SDK, create a new project with Windows Mobile 5.0 SDK Pocket PC, like this  and give any name to your project.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_XXhoLiK87qs/R0PTe7O_R5I/AAAAAAAAAAM/yav17SzKfG8/s1600-h/WM5.0_GPRS_1.jpg"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_XXhoLiK87qs/R0PTe7O_R5I/AAAAAAAAAAM/yav17SzKfG8/s320/WM5.0_GPRS_1.jpg" alt="" id="BLOGGER_PHOTO_ID_5135180528382592914" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;before write code we want to add windows mobile dll to  project as references, so select Reference menu in your Project and go to .net tab(default), there can u see 5 dll like start name Microsoft windows mobile... Please select M.W.M and M.W.M.State  and give ok, after return to your code window.&lt;br /&gt;&lt;br /&gt;Note(M.W.M -Microsoft.windows.mobile)&lt;br /&gt;&lt;br /&gt;write code like following code snippet. or copy and paste and change namespace to your project name&lt;br /&gt;&lt;br /&gt;using System;&lt;br /&gt;using System.Collections.Generic;&lt;br /&gt;using System.ComponentModel;&lt;br /&gt;using System.Data;&lt;br /&gt;using System.Drawing;&lt;br /&gt;using System.Text;&lt;br /&gt;using System.Windows.Forms;&lt;br /&gt;using Microsoft.WindowsMobile.Status;&lt;br /&gt;using System.Net;&lt;br /&gt;using System.IO;&lt;br /&gt;using System.Diagnostics;&lt;br /&gt;&lt;br /&gt;namespace InterNet&lt;br /&gt;{&lt;br /&gt;public partial class Form1 : Form&lt;br /&gt;{&lt;br /&gt;   public Form1()&lt;br /&gt;   {&lt;br /&gt;       InitializeComponent();&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   bool _remoteServerReachable = false;&lt;br /&gt;   bool _internetReachable = false;&lt;br /&gt;   bool _networkConnected = false;&lt;br /&gt;&lt;br /&gt;   private void Form1_Load(object sender, EventArgs e)&lt;br /&gt;   {&lt;br /&gt;       _networkWatcher = new SystemState(SystemProperty.ConnectionsCount, false);&lt;br /&gt;       _networkWatcher.Changed += new ChangeEventHandler(NetworkWatcher_Changed);&lt;br /&gt;&lt;br /&gt;       DetermineNetworkState(SystemState.ConnectionsCount);&lt;br /&gt;       DisplayConnectionInfo();&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;   private void Form1_Closing(object sender, CancelEventArgs e)&lt;br /&gt;   {&lt;br /&gt;       // When creating an instance of the SystemState class that runs on a background thread,&lt;br /&gt;       //  you must call the Dispose method to cause the background thread to exit.&lt;br /&gt;       if (_networkWatcher != null)&lt;br /&gt;           _networkWatcher.Dispose();&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   SystemState _networkWatcher = null;&lt;br /&gt;&lt;br /&gt;   void NetworkWatcher_Changed(object sender, ChangeEventArgs args)&lt;br /&gt;   {&lt;br /&gt;       int connectionsCount = (int)args.NewValue;&lt;br /&gt;       DetermineNetworkState(connectionsCount);&lt;br /&gt;&lt;br /&gt;       DisplayConnectionInfo();&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   static Uri _remoteServerUrl = new Uri(@"http://somebogusurlthatwontexist.com/SQLSync/sqlcesa30.dll");&lt;br /&gt;   // static Uri _remoteServerUrl = new Uri(@"http://192.168.1.102/SQLSync/sqlcesa30.dll");&lt;br /&gt;   const string _remoteServerExpectedText = @"SQL Server";&lt;br /&gt;   static Uri _internetReachableUrl = new Uri(@"http://mobile.live.com/search");&lt;br /&gt;   const string _internetReachableExpectedText = @"Live Search";&lt;br /&gt;   void DetermineNetworkState(int connectionsCount)&lt;br /&gt;   {&lt;br /&gt;       if (connectionsCount &gt; 0)&lt;br /&gt;       {&lt;br /&gt;           _networkConnected = true;&lt;br /&gt;           _remoteServerReachable = IsUrlReachable(_remoteServerUrl, _remoteServerExpectedText);&lt;br /&gt;           _internetReachable = _remoteServerReachable ? true :&lt;br /&gt;               IsUrlReachable(_internetReachableUrl, _internetReachableExpectedText);&lt;br /&gt;       }&lt;br /&gt;       else&lt;br /&gt;       {&lt;br /&gt;           _networkConnected = false;&lt;br /&gt;           _internetReachable = false;&lt;br /&gt;           _remoteServerReachable = false;&lt;br /&gt;       }&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   void DisplayConnectionInfo()&lt;br /&gt;   {&lt;br /&gt;       if (InvokeRequired)&lt;br /&gt;       {&lt;br /&gt;           Invoke((MethodInvoker)DisplayConnectionInfo);&lt;br /&gt;       }&lt;br /&gt;       else&lt;br /&gt;       {&lt;br /&gt;           txtNetworkConnected.Text = _networkConnected.ToString();&lt;br /&gt;           txtRemoteServerReachable.Text = _remoteServerReachable.ToString();&lt;br /&gt;           txtInternetReachable.Text = _internetReachable.ToString();&lt;br /&gt;       }&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;#if PocketPC || Smartphone&lt;br /&gt;// Required for the above Invoke call&lt;br /&gt;// This delegate is already defined in the full .NET Framework&lt;br /&gt;delegate void MethodInvoker();&lt;br /&gt;#endif&lt;br /&gt;&lt;br /&gt;   const int _maxConnectTryCount = 2;&lt;br /&gt;   const int _sleepTimeBetweenConnectTries = 100; // milliseconds&lt;br /&gt;   bool IsUrlReachable(Uri url, string expectedText)&lt;br /&gt;   {&lt;br /&gt;       bool isUrlReachable = false;&lt;br /&gt;       HttpWebRequest httpRequest = null;&lt;br /&gt;       HttpWebResponse httpResponse = null;&lt;br /&gt;       Stream responseStream = null;&lt;br /&gt;       StreamReader responseReader = null;&lt;br /&gt;&lt;br /&gt;       for (int connectTryCount = 0;&lt;br /&gt;           !isUrlReachable &amp;amp;&amp;amp; connectTryCount &lt; httprequest =" (HttpWebRequest)WebRequest.Create(url);" method = "GET" httpresponse =" (HttpWebResponse)httpRequest.GetResponse();" responsestream =" httpResponse.GetResponseStream();" responsereader =" new" responsetext =" responseReader.ReadToEnd();" isurlreachable =" expectedText"&gt;= 0;&lt;br /&gt;           }&lt;br /&gt;           catch (SystemException ex)&lt;br /&gt;           {&lt;br /&gt;               // write log&lt;br /&gt;#if DEBUG&lt;br /&gt;               Debug.WriteLine("");&lt;br /&gt;               Debug.WriteLine(string.Format("Try:{0} | Url:{1}",&lt;br /&gt;                   connectTryCount.ToString(), url.ToString()));&lt;br /&gt;               Debug.WriteLine(ex.Message);&lt;br /&gt;               Debug.WriteLine("");&lt;br /&gt;#endif&lt;br /&gt;           }&lt;br /&gt;           finally&lt;br /&gt;           {&lt;br /&gt;               if (responseReader != null)&lt;br /&gt;                   responseReader.Close();&lt;br /&gt;               if (responseStream != null)&lt;br /&gt;                   responseStream.Close();&lt;br /&gt;               if (httpResponse != null)&lt;br /&gt;                   httpResponse.Close();&lt;br /&gt;           }&lt;br /&gt;           if (!isUrlReachable)&lt;br /&gt;               System.Threading.Thread.Sleep(_sleepTimeBetweenConnectTries);&lt;br /&gt;       }&lt;br /&gt;       return isUrlReachable;&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;from and video demo &lt;a href="http://msdn2.microsoft.com/en-us/netframework/bb851561.aspx"&gt; http://msdn2.microsoft.com/en-us/netframework/bb851561.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;and i would like to say thanks to &lt;span style="font-weight: bold;"&gt;Jim wilson&lt;/span&gt;.&lt;br /&gt;I think you all are happy with WM 5.0 and WM 6.0&lt;br /&gt;&lt;br /&gt;will next articles&lt;br /&gt;-RRave&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5320350318741133625-5973974875347831668?l=ravesoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ravesoft.blogspot.com/feeds/5973974875347831668/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5320350318741133625&amp;postID=5973974875347831668' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5320350318741133625/posts/default/5973974875347831668'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5320350318741133625/posts/default/5973974875347831668'/><link rel='alternate' type='text/html' href='http://ravesoft.blogspot.com/2007/11/internet-connection-with-wm-50.html' title='Internet connection with Windows Mobile 5.0'/><author><name>RRave</name><uri>http://www.blogger.com/profile/02162942492813501463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://4.bp.blogspot.com/_XXhoLiK87qs/SeoObND7qDI/AAAAAAAAADo/ROkVa_JFjkY/S220/profile.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_XXhoLiK87qs/R0PTe7O_R5I/AAAAAAAAAAM/yav17SzKfG8/s72-c/WM5.0_GPRS_1.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5320350318741133625.post-5306936118193325595</id><published>2007-11-06T06:44:00.000-08:00</published><updated>2007-11-20T03:32:44.405-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='LINQ'/><title type='text'>LINQ</title><content type='html'>Hi Guys&lt;br /&gt;&lt;br /&gt;u all heard about LINQ, it's a quite development features for query structured development&lt;br /&gt;&lt;br /&gt;see follow link  and get more informations.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdn2.microsoft.com/en-us/netframework/aa904594.aspx"&gt;http://msdn2.microsoft.com/en-us/netframework/aa904594.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;thanks&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5320350318741133625-5306936118193325595?l=ravesoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ravesoft.blogspot.com/feeds/5306936118193325595/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5320350318741133625&amp;postID=5306936118193325595' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5320350318741133625/posts/default/5306936118193325595'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5320350318741133625/posts/default/5306936118193325595'/><link rel='alternate' type='text/html' href='http://ravesoft.blogspot.com/2007/11/linq.html' title='LINQ'/><author><name>RRave</name><uri>http://www.blogger.com/profile/02162942492813501463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://4.bp.blogspot.com/_XXhoLiK87qs/SeoObND7qDI/AAAAAAAAADo/ROkVa_JFjkY/S220/profile.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5320350318741133625.post-2335364949936452295</id><published>2007-11-06T06:41:00.000-08:00</published><updated>2007-11-20T03:32:32.540-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VS 2008'/><title type='text'>VS 2008 Beta 2</title><content type='html'>Hi guy&lt;br /&gt;&lt;br /&gt;You can downland VS 2008 beta 2 version below link&lt;br /&gt;&lt;br /&gt;&lt;a rel="nofollow" target="_new" href="http://msdn2.microsoft.com/en-us/vstudio/aa700831.aspx"&gt;http://msdn2.microsoft.com/en-us/vstudio/aa700831.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://http://msdn2.microsoft.com/en-us/vstudio/aa700831.aspx"&gt;http://msdn2.microsoft.com/en-us/vstudio/aa700831.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And one good news for all VS 2008  final version will be release end of this November 2007 feel happy and expect more features in Vs 2008&lt;br /&gt;&lt;br /&gt;Thanks&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5320350318741133625-2335364949936452295?l=ravesoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ravesoft.blogspot.com/feeds/2335364949936452295/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5320350318741133625&amp;postID=2335364949936452295' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5320350318741133625/posts/default/2335364949936452295'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5320350318741133625/posts/default/2335364949936452295'/><link rel='alternate' type='text/html' href='http://ravesoft.blogspot.com/2007/11/vs-2008-beta-2.html' title='VS 2008 Beta 2'/><author><name>RRave</name><uri>http://www.blogger.com/profile/02162942492813501463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://4.bp.blogspot.com/_XXhoLiK87qs/SeoObND7qDI/AAAAAAAAADo/ROkVa_JFjkY/S220/profile.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5320350318741133625.post-5093817529936853028</id><published>2007-11-06T06:37:00.000-08:00</published><updated>2007-11-20T03:32:20.072-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CF 3.5'/><title type='text'>The New features in .Net Compact Framework 3.5</title><content type='html'>&lt;div class="postcontent"&gt; The .NET Compact Framework team has spent the last year planning and developing the next version of the .NET Compact Framework 3.5, which will align with the .NET Framework 3.5 shipping in next version of Visual Studio code named “Orcas”.  The team has focused its efforts in 4 areas including, addressing core problems of creating distributed mobile applications by enabling mobile devices to interoperate with Windows Communication Foundation services, Implementing device specific features from LINQ, continuing to implement highly requested features and refining NETCF’s ability to diagnose and solve reliability and supportability issues. &lt;br /&gt;&lt;br /&gt;The first release of NETCF 3.5 went public a few weeks ago in the Orcas January CTP.  This release of NETCF does not include the complete list of features but is a step toward the final feature set.  New builds of NETCF will be included in each new public drop of Orcas with the majority of features being included by Orcas Beta1.  Below is a list of features included in the January CTP.  If you’re interested in these new features start by downloading the Orcas January CTP using either the VPC image at &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=1FF0B35D-0C4A-40B4-915A-5331E11C39E6&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyId=1FF0B35D-0C4A-40B4-915A-5331E11C39E6&amp;amp;displaylang=en&lt;/a&gt; or try installing it to your test PC at &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=69055927-458B-4129-9047-FCC4FACAE96C&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyId=69055927-458B-4129-9047-FCC4FACAE96C&amp;amp;displaylang=en&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;New Features Included in the Orcas January CTP:&lt;br /&gt;• System.IO.Compression support, including support for HTTP compression.&lt;br /&gt;• Support for a subset of Linq’s Standard Query Operators.&lt;br /&gt;• SoundPlayer support using WaveOut allowing for multiple sounds to play at once.&lt;br /&gt;• New API in Microsoft.WindowsCE.Forms for easily distinguishing Smartphone and Pocket PC.&lt;br /&gt;• Allow Nested FuncEval's.&lt;br /&gt;• Enhanced logging for interop functionality with native code.&lt;br /&gt;• Stack Trace Enhancements.&lt;br /&gt;• GAC Improvements.&lt;br /&gt;• Allow for StrongName keys greater than 1024 long.&lt;br /&gt;• To improved logging of finalizer activities to enhance product supportability.&lt;br /&gt;• Allow log files to be read at runtime.   &lt;/div&gt;  &lt;div&gt;&lt;span id="ctl00___ctl00___ctl01___Entry___InlineTagEditorPanel"&gt;&lt;/span&gt;&lt;input name="ctl00$_$ctl00$_$ctl01$_$Entry$_$InlineTagEditorPanel" id="ctl00___ctl00___ctl01___Entry___InlineTagEditorPanel_State" value="nochange" type="hidden"&gt;&lt;/div&gt;                          &lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;Thanks&lt;br /&gt;&lt;/span&gt;       &lt;h4&gt;   &lt;a name="1547924"&gt;&lt;/a&gt;  &lt;/h4&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5320350318741133625-5093817529936853028?l=ravesoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ravesoft.blogspot.com/feeds/5093817529936853028/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5320350318741133625&amp;postID=5093817529936853028' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5320350318741133625/posts/default/5093817529936853028'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5320350318741133625/posts/default/5093817529936853028'/><link rel='alternate' type='text/html' href='http://ravesoft.blogspot.com/2007/11/new-features-in-net-compact-framework.html' title='The New features in .Net Compact Framework 3.5'/><author><name>RRave</name><uri>http://www.blogger.com/profile/02162942492813501463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://4.bp.blogspot.com/_XXhoLiK87qs/SeoObND7qDI/AAAAAAAAADo/ROkVa_JFjkY/S220/profile.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5320350318741133625.post-3294189722060370779</id><published>2007-11-06T06:35:00.000-08:00</published><updated>2007-11-20T03:37:55.337-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DotNet 3.5'/><title type='text'>New features in .Net Framework 3.5</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Faster .NET Framework execution&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;1. Faster garbage collection&lt;br /&gt;2. Smarter, faster NGen requiring smaller working set RAM&lt;br /&gt;3. 64 bit client improvements&lt;br /&gt;4. ThreadPool performance improvements&lt;br /&gt;5. Security check caching during NGen&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Base Class Library – New Class Additions&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;6. BigInteger, HashSet and DateTime2 types&lt;br /&gt;7. NSA Suite ”B” and FIPs compliant cryptography&lt;br /&gt;8. Lightweight Reader/Writer Lock Classes&lt;br /&gt;9. Anonymous and Named Pipes IO Classes&lt;br /&gt;10.   Integration with Event Tracing for Windows&lt;br /&gt;11.   New Addin hosting model for extensibility&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Language Integrated Query (LINQ)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Deep integration of LINQ data-awareness into the programming languages and framework.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Workflow Enabled Services – Process and Messaging together&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Using workflow to provide for durable and long-running services. New Tools, WF activities and new programming model classes have been added to simplify building workflow-enabled services using WF and WCF. This allows a .NET Framework developer to build business logic for a service using WF and expose messaging from that service using WCF. These improvements not only provide tools for this scenario but they reduce the amount of glue code that was previously required.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Web 2.0 Friendly and AJAX Enabled WCF Services&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ajax is a web development technique for making asynchronous exchanges of small amounts of data between browser and web service calls from the browser client script to the web server. A programming model is provided for building Ajax style web applications using WCF services. An HTTP programming model is also provided allowing for REST style web services.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Visual Studio Developer Tools for WF, WCF and in Visual Studio “Orcas”&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Visual Studio”Orcas” has built in tools for web service authoring with WCF and for building workflow enabled software with WF. There are new project templates for WCF services, WF business logic, workflow enabled services, and AJAX services. The templates are conveniently set up to compile and run even before any custom code is added enabling .NET developers to get going quickly. There are also numerous other tools for developing with WF, WCF and WPF.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;More WS-* Standards Support&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Implementation in WCF of the latest OASIS specifications Web Services Atomic Transaction (WS-AtomicTransaction) 1.1, WS-ReliableMessaging 1.1, WS-SecureCOnversation and Web Services Coordination (WS-Coordination) 1.1.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;RSS and ATOM Syndication API&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Applications built using WCF will be able to easily expose syndicated data which can be consumed by an RSS or ATOM reader.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Partial Trust Support for WCF Hosting&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Partial trust on the vlient is provided for ASMX parity focussing mainly on partially trusted WCF applications deployed through click-once. Support is provided for basic HTTP binding provided that the application runs in the Intranet zone and have granted the apropriate WebPermission. Secure communication is possible through transport security only. All other features are not available to partially trusted applications including hosting services, duplex communications, non-HTTP transports, WS-* protocols and any WF use.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Rules Data Improvements&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The rules engine in WF is improved to add support for C# 3.0 extension metods, and for operator overloading . Also the ”new” operator is added to compete the base set of expression types.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Built-in WPF tools for Visual Studio “Orcas”&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The Visual Studio designer for WPF was previously released as a CTP. It is not integrated into the development environment and is significantly improved.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Additional WPF Features and Improved Performance&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;WPF has smoother animations, faster startup and better overall performance. There are also new data types available for data binding with LINQ. Better integration support is now provided for with codename “WPF/E”.&lt;br /&gt;&lt;br /&gt;thanks&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5320350318741133625-3294189722060370779?l=ravesoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ravesoft.blogspot.com/feeds/3294189722060370779/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5320350318741133625&amp;postID=3294189722060370779' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5320350318741133625/posts/default/3294189722060370779'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5320350318741133625/posts/default/3294189722060370779'/><link rel='alternate' type='text/html' href='http://ravesoft.blogspot.com/2007/11/new-features-in-net-framework-35.html' title='New features in .Net Framework 3.5'/><author><name>RRave</name><uri>http://www.blogger.com/profile/02162942492813501463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://4.bp.blogspot.com/_XXhoLiK87qs/SeoObND7qDI/AAAAAAAAADo/ROkVa_JFjkY/S220/profile.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5320350318741133625.post-1078658966752731588</id><published>2007-03-12T04:30:00.000-07:00</published><updated>2007-11-20T04:17:11.880-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Common'/><title type='text'>My First blog entry</title><content type='html'>Hi Guys&lt;br /&gt;&lt;br /&gt;It's my first blog entry in the Software Industry, since i'm very happy today . About me, small hint all of you, I'm graduate from University in Srilanka. And i  had big interest in Smart Device based application 's development in C#. Since i done lot 's of  things. And i will continue must article ans post here. Please give me full support to me also. because of  lot of experts in the Software Industry. And also i love .Net, it's a cute development platform in world.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;will next blog,&lt;br /&gt;Thanks,&lt;br /&gt;Best Regards.&lt;br /&gt;RRave(MCTS,MCPD)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5320350318741133625-1078658966752731588?l=ravesoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ravesoft.blogspot.com/feeds/1078658966752731588/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5320350318741133625&amp;postID=1078658966752731588' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5320350318741133625/posts/default/1078658966752731588'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5320350318741133625/posts/default/1078658966752731588'/><link rel='alternate' type='text/html' href='http://ravesoft.blogspot.com/2007/03/mobile-device-applications.html' title='My First blog entry'/><author><name>RRave</name><uri>http://www.blogger.com/profile/02162942492813501463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://4.bp.blogspot.com/_XXhoLiK87qs/SeoObND7qDI/AAAAAAAAADo/ROkVa_JFjkY/S220/profile.jpg'/></author><thr:total>0</thr:total></entry></feed>
