Friday, October 31, 2008

Windows Mobile API ToolBar

Today I'd like to make some suggestion about CCommandBar class for Windows Mobile 5.0.
You can use MFC menu wrapper class or you can use Windows WINAPI function to get access to the ToolBar


MFC class CCommandBar class has no API to access to menu items and doesn't know how to control the menu. After a brief investigation and experiments with the menu I have got a working code:
 TBBUTTON tbb;
 ::SendMessage(m_oCommandBar.GetSafeHwnd(),     TB_GETBUTTON, 1, (LPARAM)&tbb);
 HMENU hMenu=HMENU(tbb.dwData);
 if(hMenu)
 {
     ::DeleteMenu(hMenu,0,MF_BYPOSITION);

     ::InsertMenu(hMenu,0,MF_BYPOSITION, ID_MENU_FR_SHOWDETAILS, L"Show Details");
 }


Here m_oCommandBar is an instance of CCommandBar. By using windows messages you can access to WINAPI menu and create a dynamic menus :-)

Thursday, October 9, 2008

WMI database

Hi there !
I'd like to tell you about WMI
It's a pretty huge database with common API to access to the hardware/software information
It contains different information about operating system and hardware. For example computer name, TCP/IP address, DNS, and DHCP information and many other keys that are necessary for normal working.
Also, I notice that it builds as a COM service and it is available from different languages C++, C, Pascal, Visual Basic and scripts such as VBScript.
According to C++ to invoke a method we need to do a lot of work. So I show you how to use:
I have created two classes: first is for reading properties, second to invoke methods.
WMI divided to several groups and each group contain classes:
For example Network group contains NetworkAdapter, NetworkAdapterConfigurator
It's not a c++ classes. Actually, it is a description of the class which you can use with not C++ languages.