程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程解疑 >> 控制台-if裡的兩個文本型的比對,調試輸出裡明明是一樣的,卻一直提示錯誤

控制台-if裡的兩個文本型的比對,調試輸出裡明明是一樣的,卻一直提示錯誤

編輯:編程解疑
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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved