メインディスプレイの高さと幅を取得するために、次を使用しようとしています。
#include <winuser.h>
size_t width = (size_t)GetSystemMetrics(SM_CXBORDER);
size_t height = (size_t)GetSystemMetrics(SM_CYBORDER);
ただし、未解決の外部リンクエラー(LNK1120
)では失敗します。user32.lib(ここに記載されている)にリンクしようとしましたが、同じエラーとwmbase.lib(ここに記載されている)にリンクすると、wmbase.libが存在しないというエラーが表示されました。私は何が間違っているのですか?
私はC++ではなくプレーンオールCのみを使用していることに注意してください。これは、メインディスプレイの画面解像度(ピクセル単位)を取得するために使用するのに適切な関数ですか?
現在、これをMSVCでコンパイルしようとしていますが、他のコンパイラに移植可能なソリューションをお勧めします。
ありがとう。
編集
したがって、私が探していたパラメータはSM_CXSCREEN
andであり、andでSM_CYSCREEN
はないように見えます。しかし、私はまだこれをコンパイルすることができません。SM_CXBORDER
SM_CYBORDER
それが何かを明らかにした場合の実際のエラーは次のとおりです(user32.libにリンクされている場合):
screen.obj : error LNK2019: unresolved external symbol __imp__GetSystemMetrics@4 referenced in function _getMainDisplaySize
build\lib.win32-2.6\foomodule\bitmap.pyd : fatal error LNK1120: 1 unresolved externals
error: command '"C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\link.exe"' failed with exit status 1120
(Python / Cモジュールをコンパイルしようとしているので、奇妙なディレクトリが表示されます)