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条)

报告相同问题?

悬赏问题

  • ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入
  • ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
  • ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题
  • ¥15 帮我写一个c++工程
  • ¥30 Eclipse官网打不开,官网首页进不去,显示无法访问此页面,求解决方法
  • ¥15 关于smbclient 库的使用
  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启