if里的两个文本型的比对,调试输出里明明是一样的,却一直提示错误

本人是菜鸟,麻烦懂的回答下,谢谢
用的是:VS2013/项目类型是:win32控制台应用程序
没什么币,见谅= =

代码

#include "stdafx.h"
#include <windows.h>

HWND hwnd;
LPCSTR 取程序类名(HWND 窗口句柄);

int _tmain(int argc, _TCHAR* argv[])
{
    while (true)
    {
        hwnd = GetForegroundWindow();//取当前窗口

        OutputDebugString(LPCSTR(取程序类名(hwnd)));
        OutputDebugStringA(LPCSTR("\n"));

        if (LPCSTR(取程序类名(hwnd)) == LPCSTR("CalcFrame"))//问题所在
        {
            printf("类名: %s\n", 取程序类名(hwnd));
            MessageBox(NULL, TEXT("真"), TEXT("真"), MB_OK);
        }
        else
        {
            MessageBox(NULL, TEXT("假"), TEXT("假"), MB_OK);
        }
    }

    return 0;
}

LPCSTR 取程序类名(HWND 窗口句柄)
{
    TCHAR 类名[255];
    GetClassName(窗口句柄, 类名, sizeof(类名) / sizeof(TCHAR));
    return 类名;
}

(LPCSTR(取程序类名(hwnd)) == LPCSTR("CalcFrame")
不能这么比
应该用
strcmp(取程序类名(hwnd), "CalcFrame") == 0

日。没想到,发布这么快就解决了