mao20162016 2016-12-17 14:13 采纳率: 50%
浏览 977
已采纳

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 类名;
}

  • 写回答

2条回答 默认 最新

  • threenewbee 2016-12-17 14:14
    关注

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大