About Nibu

View Nibu Thomas's profile on LinkedIn

Jesus Christ Lives. He Died For You and Me. Enjoy your walk with this wonderful friend. πŸ™‚

I am a computer programmer who started his career as a Java programmer in 2000. Wrote a game and several applications like editors, DB apps etc in Java. My fascination for programming went on a high in the following years. I did a post graduate diploma of 2 years because of which I got introduced to a plethora of Languages. My favorite at that time was VB because it was way too easy to program, intelli-sense was too cool.

I joined an NGO in 2002 as part time computer programmer. Primary responsibility was to develop their website and to write apps for them in VB. During this process I got introduced to DHTML, CSS, HTML, JavaScript, wow had hell of a time. Learned and learned and learned during this time. I got into Visual C++ because of my post graduation in computer applications. I was forced into this powerful language but how lucky I am. Initially I was scared of CreateFont API πŸ˜‰ but now its a piece of cake. πŸ™‚

As of now I’m working asΒ Support EscalationΒ Engineer with Microsoft. My passion for Visual C++ never ends. Its the raw power of the language, the kind of performance and flexibility it provides, that keeps me motivated to continue working in this language. Started working in VC6 and all through till the latest version of Visual C++. πŸ™‚

I’m part of Microsoft Developer Support, supporting our programming languages and libraries C#.net, VB.net, Visual C++, C++/CLI, STL, MFC, ATL/COM.

Specialties:Β  Visual C++, Visual C#Β Programming expert.


  • Microsoft Most Valuable Professional (MVP) 2007 – 2010
  • NeST Special Achievement Award
  • Microsoft Architect of Excellence Award – ACE 2012

57 thoughts on “About Nibu

  1. Hello Nibu….

    nice to have a look at your blog..

    Congratulations for being MVP. Wish you all the very best for your career. I’m so proud of you…


  2. Hi Nibu,
    gone thro’ your blog, and seems quite impressive.
    Congrats to you!!!!
    Also appreciate your talents and passion for the MS technologies.
    I would also like to follow you.



  3. hello to you and your mamma … congrats on the MVP rating! since you like to work hard and lots … i have a program (written in c++) that has suddenly stopped performing correctly. i know nothing about programming – you seem to know lots. would you be willing to look at the program and figure out what has gone wrong? i will pay for your services – i live in a small town and can’t find anyone who knows c++. yes? no? thanks, jilleus

  4. Hi,
    It is great that u owe all ur success to Jesus!!! wish that His glory be displayed in you more!!!

  5. Hi ,
    I am so glad to get ur blog and lots more things thanks for providing such great stuff
    i would continuely visit the blog if u have new things please give us alert

  6. Hi Nabu,

    I regret you never found time to come back to me on that COM/C++ idea…

    Anyways, as i am fighting to implement it all, i found your Process Viewer application on CodeProject, it is a very nice example of basic security coding.

    Anfirtunately, it doesn’t go much in-depth on security issuea. One thing i did further was to list all processes running in the system, not only the ones under the current user account. Plus, i am looking to find out how to get the command line for each process – any idea? ‘Cos i can’t find answer anywhere.

    Your methods for getting the application path aren’t correct, i’m afraid, even though in most cases they work as expected. I published s small research in my blog about it…

    Basically, you rely on API that gets file path from the Module, which doesn’t always work. Sometimes, system-to-system it returns logical file path for some SYSTEM processes, not the real file path.

    There are only two examples of correct file path extraction: Windows Task Manager and Mark Russonovich’s Process Monitor, neither of which offer source code, unfortunately.

    This is the kind of reaearch i meant when i wrote you the first time, hoping you’d have some more experience…

  7. Sorry vitaly, I am just too busy with my official work don’t get time to work with my process viewer application. I will reply to your comment in detail whenever I get time.

  8. Hi nibu,
    While searching on net I have found your blog out here… πŸ™‚
    I’m happy coz i know there should be something special and which will be making us thinking more about programming….

  9. Hey ur blog and code stuff related to PropertyGrid was really useful to me. please post more code examples about other enhancements in visual studio 2008… and controls…
    I am beginner to VS and learning need some guidance from people like u.. please post more examples as it helps guy like me to understand the concepts easily… thanks…

  10. Hi Nibu,

    Can you help me out in CMFCPropertyGridProperty how do i get a input from the properties like selecting a value from the drop down box and depending on which i add a subitem usual way and by selecting a another value delete the exiting sub item and add a new sub item, can u share a simple code example on how this works like deleting a sub item and adding a new, depending on some user who selects one of the AddOptions-> stuff ….

  11. oh ok nibu ya just let me know on that hope my question is clear to u NewControl sample is a bit difficult for me to understand but i am currently exploring on it and hope will get one soon. But do let me know on that also please help me with some links if u have any on VS2008 controls with examples will be of great help thanks in advance. πŸ™‚

  12. Hi Nibu,

    Downloaded process viewer and couldn’t find feature regarding the process commmand line info.

    I have used NtQueryInformationProcess() and ReadProcessMemory to retrive the parent process’s command line info. It worked well in 32 bit, but stop working in 64 bit application. Could you provide any hint on this issue.



  13. Hi Nibu,

    awesome BLOG!. question/request can you publish please some C(win32api) source code on how to make tab control background transparent using XP themes? I see you have an example how to do this in MFC but unfortunately I dont use/know MFC:(

  14. I’m more interested in Visual C++. Accidentally I got this blog from Microsoft site. If I want to ask or post my questions, what should I do?

    Should any registration require? I can’t able to find here! Help to improve my skills in VC++.

    Thank You

    • Hello,

      No need to register, its free. πŸ™‚ Welcome to Visual C++. So to post queries do post it as a comment to any blog entry if you have any doubt pertaining to that blog entry. I’ll try to help improve your skills. Don’t worry. πŸ™‚


      • Thank you Nibu Thomas.

        I’m not much skilled in VC++ but I’m more interested to learn. First, I’ll start from using software. What edition should I purchase because there are many versions available such as Express Edition, Professional and Standard?

        The software should support all the latest and advanced concepts like ATL, STL, MFC, Shell Programming, Network Programming, Database Programming and so forth.

        Also, my friends said that VC++ 2008 comes under Visual Studio pack not a standalone product except Express Edition.

        My doubt is, What should I use at the same time I need to explore all the concepts which I mentioned before?

        Will it come with the integration of .Net?

        So, please clear my problem and start with my VC++ tour smoothly.

        Thank You.

  15. Hi nibu!

    I wish to learn programming in MFC in Visual C++. I’ve VC++ 2008 and I don’t know from where I need to start to learn MFC. In a programming languages, everyone starts with the “Hello World” program. Similarly, where do I start? I’m totally confused. So, Please help me to start MFC programming.

    Thank You,

  16. Hello Mr. nibu

    Great to go through ur blog. Nothing related to vc++ man.

    Iam a Recruiter and just started with blog, but dont know how to create a attractive blog. Just share something from which i can start myself/


    • Hi Vijay,

      First create a login in wordpress.com. Then create a new blog. Then select a suitable theme from your blog dashboard. That’s it now write your first entry and there you go mate. πŸ˜‰


  17. Hi Nibu,

    For the past few days, you’re not available online! I miss you so! I need your help nibu!

    I got a link(http://www.functionx.com/visualc/databases/sqltable.htm ) which guides with database connection step by step. I followed up to steps 25. After that, that is, Steps : 26 – 31 , i can’t able to follow further because, they used VC++ 6.0 version (I think so) but I’m using VC++ 2008.

    Please guide me how can I go further?


  18. hi nibu thanks for ur dry reply in msdn forums ..but can u be more particular about what could i do to learn things fast in vc++…atleast for my project snow effects…help me out yer i already crossed my deadline now ….is there a particular methods to draw points in screen

  19. Sorry to say but i am not good enough to alter that code it is a frame i need it in a window and the classes,fuctions are so hard to undersatnd…i dont want any add on like openGL,ATL to be used…is there any other particular way

  20. hello thomas ,
    can we take the snapshot of few pages( atleast 2 ) of doc files one at a time. this code is working fine for one page.


  21. this is the code

    void CaptureWindow( CWnd* WindowToCapture, CWnd* PaintToWindow )
    if( !WindowToCapture ||
    !PaintToWindow ||
    !IsWindow( WindowToCapture->m_hWnd ) ||
    !IsWindow( PaintToWindow->m_hWnd ))

    CDC* WindowToCaptureDC = WindowToCapture->GetDC();
    CDC* PaintToWindowDC = PaintToWindow->GetDC();

    CRect CaptureWndRect;
    WindowToCapture->GetWindowRect( &CaptureWndRect );

    CDC CaptureDC;
    VERIFY( CaptureDC.CreateCompatibleDC( PaintToWindowDC ));
    const int RestorePoint = CaptureDC.SaveDC();

    CBitmap CaptureBmp;
    VERIFY( CaptureBmp.CreateCompatibleBitmap( PaintToWindowDC, CaptureWndRect.Width(), CaptureWndRect.Height() ));
    CaptureDC.SelectObject( &CaptureBmp );

    // Capture window now
    if( WindowToCapture->PrintWindow( &CaptureDC, 0 ))
    CRect PaintToWindowRect;
    PaintToWindow->GetClientRect( &PaintToWindowRect );

    // To prevent unwanted stretching while drawing
    //const int BltWidth = min( PaintToWindowRect.Width(), CaptureWndRect.Width() );
    //const int BltHeight = min( PaintToWindowRect.Height(), CaptureWndRect.Height() );

    const int BltWidth = min( 500, 768 );
    const int BltHeight = min( 500, 768 );

    PaintToWindowDC->StretchBlt( PaintToWindowRect.left,
    SRCCOPY );
    }// End if

    CaptureDC.RestoreDC( RestorePoint );
    WindowToCapture->ReleaseDC( WindowToCaptureDC );
    PaintToWindow->ReleaseDC( PaintToWindowDC );

  22. Hello Nibu,

    Would you be able to post some info about CMFCOutlookBar class and related classes? I have been following the sample provided with VS2010, but its not working for me. For some reason the images I add for the buttons to my my CMFCOutlookBarPane always show up greyed out and I cant figure out why this is happening.

  23. Hi Nibu, I want wizard programming for MFC Dialog Boxes.I dont know how to contact with you in a proper way for this.Recently I joined in a company based on VC++.It requires MFC Dialog box application knowledge.I knew a very little bit knowledge about Dialog Boxes. Please help me.
    Thank you .

  24. Hello Nibu,
    I need help in this problem. I am using VB6. I know you program in VC but I think I can port it to VB. Anyhow the problem is like this: I need to copy a flash swf window animation realtime into my VB6 form picturebox. I am doing sort of a animation capture program. I am out of ideas of how to proceed. I tried capturing the animation window by GDI techniques: CreateCompatibleBitmap and Bitblt. But the program doesn’t work properly. I wonder if it is possible to create a duplicate window of the flash animation in side the VB form. Or you have any ideas?

    In Christ we live,

  25. Hello Nibu,

    I’m very happy about your blog. You are telling about the most important thing in live: Jesus Christ.

    Many greetings from Germany with an important statement from Paul (2. Korinther 5,15):
    And that he died for all, that they which live should not henceforth live unto themselves, but unto him which died for them, and rose again.

    P.S: I’m programming with VS2008 in C# for manufacturing-applications like test-benches.

    friendly regards


  26. Greetings, Nibu.I am Sasha. I from Minsk, capital of Belarus. I am very glad that you believing in Jesus Christ! I have found you on a site http://www.codeproject.com.Π£Ρ‡ΡƒΡΡŒ I on the programmer. And very much it would be desirable to ask you about the help on programming on With ++. And that while is difficultly given to me programming languages = (. Whether you could help me? I need to realise the dispatcher of devices something similar as in XP, only in the simplified variant and if it is not difficult with comments. I will be glad to be on friendly terms with you! Let God will bless you and your work!
    P.S. Our site of our church.

  27. Thanks for the link on enumerating modules per process in c++.

    Any idea how to enumerate the applications that appear in Task Manager in c++? Having problems converting a c# program that does this.


  28. Hi I have a rather peculiar Question. I’m Using vs2008 with MFC feature pack.

    I have a MFC SDI application without Document/View. In my UI i have 3 splitter Windows. In one of the splitter windows i need to have a tabs windows, the pages in the tabs needs to added dynamically. Could you provide me few pointers on this.

Appreciate your comments...