Roboform for Google Chrome

The reason that I still use Firefox as my default browser, is its extensions, especially Roboform toolbar. I would like to use Google Chrome long time ago because Chrome runs faster than Firefox. Chrome starts up fast immediately and load javascript just in few seconds. Chrome does not run slowly after long time using as Firefox. However what I need to use at most, did not work with Chrome. That’s Roboform addon. However the latest version addon Roboform for Chrome made a big progress https://chrome.google.com/extensions/detail/kidhjpmgjfbkmcfpfakmdddddgfbhahj .

In this new version I can manage all of identites which I had and stored on server.
All identities

I can choose which account I would like to use for a site
Choose passcard

When I have new login data for a website, Roboform will ask me if I would like to save it to my trunk.

Although this add-in still lacks a lof of features in compare to version in Firefox or Internet Explorer but it satifies me already with these basic features. I can now change my default browser to Google Chrome and enjoy surfing Internet mit higher speed.
If you want to test rendering ability of your browser you can navigate to this link and see how long does it take to load this site. http://hintdesk.com/Web/Source/test-rendering-time.htm . The source code I took from Scragz. When I test with 3 browsers IE,FF,Chrome, Chrome is the best one, then FF and IE comes last. ^^.

Icons for program

I always need icons for my applications. There are a lot of beautiful icon pack on internet. I have some of them on my local computer. I would like to share them but it takes time to upload them therefore I will update this post slowly until all of them lands on internet. ^^.

1. 861 Icons PNG

Link:
– Mirror 1: http://www.megaupload.com/?d=2H6MBQZ6
– Mirror 2: http://hotfile.com/dl/31058234/643e5ac/600_icon_tech24.vn.rar.html
– Mirror 3: http://www.ziddu.com/download/8818899/600_icon_tech24.vn.rar.html

C# – Adjust master volume in Vista and Windows 7

There are a lot of changes in Vista and Windows 7 in comparison with Windows XP, especially in programming field. Many code snippet which works perfectly, does not run under Vista/Windows 7 anymore, for example adjusting master volume. If you have already worked with master volume in Windows XP, maybe you use MixerControl for accessing system volume with following API.
– mixerClose
– mixerGetControlDetailsA
– mixerGetDevCapsA
– mixerGetID
– mixerGetLineControlsA
– mixerGetLineInfoA
– mixerGetNumDevs
– mixerMessage
– mixerOpen
– mixerSetControlDetails

Under Vista/Windows 7, we can not use this API anymore because volumes have been individualized in Vista which means for the most part an application changing the waveOut volume has no affect on other applications. In Vista/Windows 7, we must use another APIs which is COM based.
– MMDevice API: The Windows Multimedia Device (MMDevice) API enables audio clients to discover audio endpoint devices, determine their capabilities, and create driver instances for those devices.
– WASAPI: The Windows Audio Session API (WASAPI) enables client applications to manage the flow of audio data between the application and an audio endpoint device.
– DeviceTopology API: The DeviceTopology API provides client applications with the ability to traverse the functional hardware topologies of audio rendering and capture devices. Through the interfaces and methods in the DeviceTopology API, clients can discover the functional subunits (for example, volume control) that lie along the data paths that lead to and from audio endpoint devices.
– The EndpointVolume API enables specialized clients to control and monitor the volume levels of audio endpoint devices.

Ray M. wrote a great article about how to use these APIs for adjusting system volume on CodeProject http://www.codeproject.com/KB/vista/CoreAudio.aspx . For more details you can read at that article. I just tested the available codes if they really work and stored both of methods into one project so that I can use later. The complete backup code you can download here “Adjust System Volume”.

UPDATE 04.03.2010
There are problems at synchronizing between volume and slider. No idea how to solve it!

C# – Get Windows Version and Edition

When we want to find out information about our windows operating system, we can simply enter the “winver” command in command prompt but how we can get these details with c#. So I would like to introduce a code snippet which comes from http://www.csharp411.com/determine-windows-version-and-edition-with-c/ to help us enumerate all information about current windows operating system. I modified this class a little so that it can recognize Windows 7 too because the version of that post does not realize Windows 7.
The main concept of this OSInfo class is using two important API functions

[DllImport("Kernel32.dll")]
internal static extern bool GetProductInfo(int osMajorVersion,int osMinorVersion,int spMajorVersion,int spMinorVersion,out int edition);
[DllImport("kernel32.dll")]
private static extern bool GetVersionEx(ref OSVERSIONINFOEX osVersionInfo);

GetProductInfo Function retrieves the product type for the operating system on the local computer, and maps the type to the product types supported by the specified operating system. To retrieve product type information on versions of Windows prior to the minimum supported operating systems specified in the Requirements section, use the GetVersionEx function. You can also use the OperatingSystemSKU property of the Win32_OperatingSystem WMI class.
GetVersionEx Function retrieves information about the current operating system. Identifying the current operating system is usually not the best way to determine whether a particular operating system feature is present. This is because the operating system may have had new features added in a redistributable DLL. Rather than using GetVersionEx to determine the operating system platform or version number, test for the presence of the feature itself.
To demonstrate how to use this class I wrote a small code snippet below which shows all provided properties

string strOSInfo =
"Operating system: " + OSInfo.Bits.ToString() + " bits" + Environment.NewLine +
"Build version: " + OSInfo.BuildVersion.ToString() + Environment.NewLine +
"Edition: " + OSInfo.Edition.ToString() + Environment.NewLine +
"Major Version: " + OSInfo.MajorVersion.ToString() + Environment.NewLine +
"Minor Version: " + OSInfo.MinorVersion.ToString() + Environment.NewLine +
"Name: " + OSInfo.Name + Environment.NewLine +
"Revision Version: " + OSInfo.RevisionVersion.ToString() + Environment.NewLine +
"Service pack: " + OSInfo.ServicePack + Environment.NewLine +
"Version: " + OSInfo.VersionString;
txtbOSInfo.Text = strOSInfo;

The complete source code you can download here “Windows Version Edition”.