问题描述: 我们开发过程中可能会经常遇到,只启动一个程序实例.即一个程序启动之后,如果再次执行该程序,将会恢复之前打开的程序,而不是打开一个新的程序. 实现原理:利用FindWindow/FindWindowEx查找指定窗口的句柄,如果找到,则当前程序已经执行,只需重新显示到最前面即可:如果没有找到,表示程序没有运行, 继续执行程序初始化. 程序示例: BOOL SingletonInstance() { HWND hPreWnd; if ( hPreWnd = ::FindWindow(NUL