" GetForegroundWindow:未找到标识符"在2015年的视觉工作室

时间:2016-11-11 04:41:39

标签: winapi visual-studio-2015 win-universal-app c++-cx getforegroundwindow

我正在使用C ++在visual studio 2015中开发一个Windows应用程序。我需要GetForegroundWindow()GetWindowText()才能返回当前关注的应用。但是,它表示GetForegroundWindow()GetWindowText()未定义,即使我已经包含了" windows.h"。我尝试了GetForegroundWindow()的定义,它引导我去了#34; WinUser.h",所以我包括了#34; WinUser.h"同样。但它仍然无法帮助。这是我的代码:

#include "MainPage.xaml.h"
#include <windows.h>
#include <WinUser.h>
#include <winapifamily.h>
#include <string>
#include <stdio.h>
#include <iostream>

using namespace App1;
using namespace Platform;
using namespace Windows::Foundation;
using namespace Windows::Foundation::Collections;
using namespace Windows::UI::Xaml;
using namespace Windows::UI::Xaml::Controls;
using namespace Windows::UI::Xaml::Controls::Primitives;
using namespace Windows::UI::Xaml::Data;
using namespace Windows::UI::Xaml::Input;
using namespace Windows::UI::Xaml::Media;
using namespace Windows::UI::Xaml::Navigation;
using std::cout;
using std::endl;

MainPage::MainPage()
{
InitializeComponent();
}

HWND currenthwnd, hwnd = NULL;
char wnd_title[1024];

void App1::MainPage::Focus_app_Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e)
{
currenthwnd = GetForegroundWindow();
GetWindowText(hwnd, wnd_title, sizeof(wnd_title));
cout << wnd_title << endl;
}

有什么想法吗?提前谢谢!

1 个答案:

答案 0 :(得分:4)

GetForegroundWindow中的{p> GetWindowTextWinUser.h#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)宏块内声明。因此,您只能将它们用于Windows桌面应用程序。