2017-02-02 9 views
0

私は完全なばかだと感じていますが、私がやろうとしていることはインターネット上で見つけたコードを実行することです。実際のコードはこれの問題ではありません:Visual Studio 2015でライブラリをインポートする

Visual Studio 2015を使ってC++プログラムを作成しようとしていますが、このコードには「FindWindow(some parameters)」という関数があります。一番上にwindows.hがインポートされます。 Visual Studioでは、識別子「FindWindow」が未定義であることがわかります。だから私はそれを見て:https://msdn.microsoft.com/en-us/library/windows/desktop/ms633499(v=vs.85).aspx

要件:WINUSER.H(はWindows.hを含め)

図書館:User32.lib

DLL:User32.dllの

だから、私が試した最初のものをwinuser.hもインポートしていました(私が必要と言っているようではありませんが、ショットに値するものでした)。いいえ。だから、私はこのUser32.dllの事を調べます。私はあなたが.dll自体を追加することはできないと言われます。あなたは.libを追加するので、私はそれに注意を向けます。私はこれで何をすべきか分かりませんが、私が見つけたものは、「あなたはこれについて心配する必要はありません。VSはそれをリンクします」または「依存関係に追加する必要があります(プロジェクトプロパティ - >リンカ - > blah blah) "または"これを使用:#pragma comment(lib、 "User32") "。指示どおりにそれらを試しましたが、うまくいかないようでした。私の推測では、依存関係に正しく追加することはできませんでした。

私の質問は間違っているのですが、Visual StudioにFindWindowを既存のものとして認識させるにはどうすればよいですか?それが助け場合

は、ここにコードがあるものです:FindWindowを

答えて

0

「未定義である 『:

#include <iostream> 
#include <windows.h> 

using namespace std; 

int main(int argc, char* argv[]) { 

    HWND p = FindWindow("ProgMan", NULL); 
    return 0; 
} 

そして「のFindWindowは」マウスオーバー、その下に赤い波線がありますが、』識別子エラー」と言いますアプリケーションの最小Windowsバージョンを指定する必要があります。含める前に次の行を追加してくださいwindows.h

#define _WIN32_WINNT 0x0500 
#define WINVER 0x0500 
+0

これはこれですか?または、それを依存関係に追加すること、プラグマコメントを追加すること、または何か他にもありますか?私は余分な不必要なものが潜在的に問題を引き起こして周りに座ることを望まなかったので、それらを元に戻しました。これらの行を追加するだけでは役に立ちませんでした。 – awenonian

+0

UnicodeまたはANSIの定義が必要ないのですか? FindWindowは関数として存在しません - 関数はfindWindowAまたはFindWindowWであり、FindWindowはUnicode設定に基づくマクロの1つを指すように定義されたマクロです。 –

+0

実際には間違っているかもしれません。 UNICODE定義が存在しない場合は、デフォルトでAで終わる関数に設定する必要があります。 –

関連する問題