Tom Lai's Site Index: |
My Sharewares |
Hot Links: MFC Programmer's SourceBook (learn every fancy tricks of Windows programming and MFC) How To's: How to drag/drop/cut/copy/paste files/directories between applications using the OLE clipboard? Download Microsoft's example: FILEDRAG.EXE Many people have wondered what exactly does the Windows shell cut/paste to the OLE clipboard. This example shows how to use the thinly documented clipboard format, CF_HDROP. How to StretchBlt a bitmap transparently? View my code snippet: TSBLT.TXT There are known techniques for transparent BitBlt, either using memory DC/BITMAP, or image list. But transparent StretchBlt is a little bit more involved. How to remove the application title from the task bar? Have you wondered how an application window can make itself stealth by not appearing in the task bar? Well, one way is to fake its window destruction to the task bar: void RemoveFromTaskBar(HWND hwnd) { static const TCHAR szTrayClass[] = _T("Shell_TrayWnd"); static const TCHAR szTaskClass[] = _T("MSTaskSwWClass"); // Get the taskbar's window handle. HWND hwTray = ::FindWindowEx(NULL, NULL, szTrayClass, NULL); HWND hwTask = ::FindWindowEx(hwTray, NULL, szTaskClass, NULL); ASSERT(hwTask != NULL); // Get id of the shell's hook message. UINT nMsg = ::RegisterWindowMessage(_T("SHELLHOOK")); ASSERT(nMsg != NULL); // Fake destruction of the window. ::PostMessage(hwTask, nMsg, HSHELL_WINDOWDESTROYED, (LPARAM)hwnd); } My e-mail address: tlai@canada.com |