原文地址:http://blog.csdn.net/norains/archive/2007/06/09/1646061.aspx
//===================================================================
//TITLE:
// 自己比较喜欢的CCommon类
//AUTHOR:
// norains
//DATE:
// Monday 4-June-2007
//Environment:
// EVC4.0 + Standard SDK 4.2
// EVC4.0 + Standard SDK 5.0
//===================================================================
CCommon包含了一小部分编程时所需的操作,小巧精悍,主要是自己比较喜欢.CCommon类的完整源代码附录于本文之后,之前先让我们看看该类的函数具体用法.
1. DeleteDirectory(const TCHAR *pszPath)
和系统函数RemoveDirectory不同,该函数可以删除非空文件夹.
例:
CCommon::DeleteDirectory(TEXT("My Documents//Photo"));
2.BroadcastMessage(BroadcastType bcType, UINT wMsg, WPARAM wParam,LPARAM lParam)
广播消息.当bcType为BC_ALL时,向所有的窗口发送消息;BC_VISIBLE是发送给所有的可见窗口;BC_VISIBLE_NOBASEEXPLORER则是除了explorer以外的其它可视窗口.
例,关闭所有的除了explorer以外的所有可视窗口:
CCommon::BroadMessage(BC_VISIBLE_NOBASEEXPLORER,WM_CLOSE,NULL,NULL);
3.CreateDirectorySerial(TCHAR *pszPath)
创建文件夹序列.
例:
CCommon::CreateDirectorySerial(TEXT("Document//abc//d"));
该代码将依次建立如下文件夹:document,abc,d.
4.CompareSystime(const LPSYSTEMTIME lpTimeA,const LPSYSTEMTIME lpTimeB,LPSYSTEMTIME lpTimeResult)
比较系统时间,时间的差值存储在lpTimeResult结构体中.返回值 == 1 则两者相等;返回值 > 1, 则lpTimeA时间比lpTimeB在后;返回值 < 1, 则lpTimeB时间比lpTimeA在后.
例:
SYSTEMTIME ta,tb,tr;
GetSystemTime(&ta);
Sleep(1000);
GetSystemTime(&tb);
CompareSystime(&ta,&tb,&tr);
5.WCharToMByte(LPCWSTR lpcwszStr, LPSTR lpszStr, DWORD dwSize)
MByteToWChar(LPCSTR lpcszStr, LPWSTR lpwszStr, DWORD dwSize)
多字节字符和宽字节字符的相互转换,具体原理和细节请参考:
《MultiByteToWideChar和WideCharToMultiByte用法详解》
http://blog.csdn.net/norains/archive/2006/12/25/1461174.aspx
6.CenterWindow(HWND hWnd)
移动窗口到居中位置.
例:
CCommon::CenterWindow(hWnd);
7.GetScreenHeight(),GetScreenWidth()
获取屏幕的高度和宽度,以像素点为单位
例:
int iHeight = CCommon::GetScreenHeight();
int iWidth = CCommon::GetScreenWidth();
8.GetCurrentDirectory(TCHAR *pszPath, ULONG ulSize)
获取当前程序运行的路径,其后附带'/'.
例:
TCHAR szCurPath[MAX_PATH];
CCommon::GetCurrentPath(szCurPath,MAX_PATH);
9.FindString(const TCHAR *szSource, const TCHAR *szFind,const int iBeginPos)
查找某段字符串.
例:
int iPos1 = CCommon(TEXT("ABCEF"),TEXT("BC")); //iPos1 == 1
int iPos2 = CCommon(TEXT("ABCEF"),TEXT("BC"),1); //iPos1 == 0
10.Execute(TCHAR *pszPath,TCHAR *pParameters = NULL)
运行指定程序.
例:
CCommon::Execute(TEXT("windows//pmail.exe"))
11.ShowTaskBar(BOOL bShow)
隐藏或显示任务栏.
例:
CCommon::ShowTaskBar(TRUE);//显示任务栏
至此,CCommon的函数用法已经基本介绍完毕,更详细的用法请参加其后的完整代码.
PS:(朱铭雷)由于CSDN以前的博客存在BUG,导致norains前辈上传的源代码,
会因缺少一些字符而编译出一些小错误。不过稍加修改,即可使用。转载别人的
文章,不易修改原文。所以此处贴出的代码与原文相同。另外,norains前辈能够
加我QQ指导我,真的非常感谢。其无论从技术还是从人品上,都称得上是一位
牛人。