No.2ベストアンサー
- 回答日時:
#1です。
下のコードに関して補足ですが、以下のような情報もありますので、LoadLibraryを使う場合は起動時終了時に1回だけ行うようにしたほうがよさそうです。
Win32 アプリケーションでシステム DLL (例 USER32.DLL、ADVAPI32.DLL、GDI32.DLL )をロード、フリーを繰り返すような処理を行うと Windows NT ではリソースのリークが発生します。
http://support.microsoft.com/default.aspx?scid=k …
あと、よくみるとprintfのとこ間違ってますね。。幅、幅になってしまってます。。
No.3
- 回答日時:
LoadLibraryでのリソースリークの件は、かわりにGetModuleHandleを使用すれば回避できるかと思います。
それから、Windows 2000より古いWindows NTやWindows 95への対応が必要でない場合は、GetProcAddressを使用せず直接EnumDisplayDevicesやEnumDisplaySettingsを呼び出して差し支えないかと思います。
No.1
- 回答日時:
EnumDisplayDevicesでデバイスを列挙して、EnumDisplaySettingsで情報取得すればよいようです。
以下かなりいいかげんなコードですが、いちおう動くということで、、
--------------------------
#include "stdafx.h"
#include <windows.h>
#include <stdio.h>
int main(int argc, char* argv[])
{
typedef BOOL (WINAPI *pEnumDisplayDevices)(PVOID,DWORD,PVOID,DWORD);
typedef BOOL (WINAPI *pEnumDisplaySettings)(LPCTSTR,DWORD,LPDEVMODE);
DISPLAY_DEVICE dd;
ZeroMemory( &dd, sizeof(DISPLAY_DEVICE) );
dd.cb = sizeof(dd);
HMODULE hm = LoadLibrary( "USER32" );
pEnumDisplayDevices pfnEnumDispDevices = (pEnumDisplayDevices)GetProcAddress( hm, "EnumDisplayDevicesA" );
pEnumDisplaySettings pfnEnumDisplaySettings = (pEnumDisplaySettings)GetProcAddress( hm, "EnumDisplaySettingsA" );
DWORD devnum = 0;
while ( pfnEnumDispDevices( NULL, devnum, &dd, 0 ) ) {
DEVMODE dvmode;
ZeroMemory( &dvmode, sizeof(DEVMODE) );
pfnEnumDisplaySettings( (const char*)dd.DeviceName , ENUM_CURRENT_SETTINGS, &dvmode);
printf( "%d, %d\n", dvmode.dmPelsWidth , dvmode.dmPelsWidth );
devnum++;
}
FreeLibrary( hm );
/*キーを押すまで止る*/
printf( "Finished\n" );
getchar();
return 0;
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 英語 「所有格+数量詞+名詞」と「数量詞+of+所有格+名詞」の意味やニュアンスの違い等について 4 2023/06/28 11:34
- ノートパソコン ノートパソコンの内蔵カメラにスマホ用の広角レンズはつけれないんですか? あれってMacBookみたい 1 2023/01/27 21:50
- ノートパソコン ノートPCの画面の明度を大きく下げる方法を教えてください。 3 2022/05/22 15:37
- デスクトップパソコン アウトルックエクスプレス2018のメールのバックアップについて 3 2023/01/12 09:31
- ドライブ・ストレージ PCのパーフォーマンスが極端に落ちた。 8 2023/01/28 15:22
- Mac OS iMac27(2010)のbootcamp 下の Windows で ディスプレー外部入力を 受ける 4 2023/07/25 18:57
- 防犯カメラ・監視カメラ・小型カメラ Windowsのカメラ機能。設定した通りのfpsでの撮影ができず、コマ落ち動画になる。修正するには? 2 2023/01/29 09:50
- Excel(エクセル) エクセルで対象日に該当するデータがある場合に別表へ全対象者を表示させたい。 3 2023/07/12 09:48
- 情報・ワイドショー NHKチコちゃん放送の「バーコードと比較して、QRコードはなぜ情報量が多いのか?」の解説お願いします 5 2022/06/18 13:48
- iPad iPadの保護フィルムについて。今回初めてペーパーライクの保護フィルムを購入してみたのですが、画面の 2 2022/05/25 21:35
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
個別に違う添付ファイルを付け...
-
2枚、マイクロSDカードを入...
-
情けない話ですが成田エクスプ...
-
e-taxで送信ファイルの拡張子が...
-
PC内で速度を遅くした音源をCD...
-
garagebandのLR Mixの方法について
-
iPhoneの内蔵の記憶媒体は、HDD...
-
エクセルで「特定の文字を含む...
-
A4の紙に印刷されている文字を...
-
TextBoxにフォーカスを与えると...
-
SDカードを挿してるのに挿入し...
-
Tabでのフォーカス(win32)
-
エアコンの冷媒 R410Aの重...
-
flash (.swf) を編集したい
-
リストビューで選択行の背景を...
-
ガラケーからPCへの写真の取り込み
-
スマホでtxtファイルを編集する...
-
static変数とマルチスレッド
-
二台目のディスプレーのデータ...
-
C++の画像処理について【画像の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
個別に違う添付ファイルを付け...
-
A4の紙に印刷されている文字を...
-
e-taxで送信ファイルの拡張子が...
-
エクセルで「特定の文字を含む...
-
スマホでtxtファイルを編集する...
-
ガラケーからPCへの写真の取り込み
-
PC内で速度を遅くした音源をCD...
-
VBS フォルダ内にあるすべての...
-
エアコンの冷媒 R410Aの重...
-
iPhoneの内蔵の記憶媒体は、HDD...
-
stdio.hの中身
-
ビデオファイルのプロパティの...
-
ファイル数と合計サイズの取得方法
-
2枚、マイクロSDカードを入...
-
拡張子「.IDJ」を、windo...
-
プロ野球の結果を教えてください
-
複数のブックを新しいブックのS...
-
VBA:カウンターの i の値が開放...
-
SDカードを挿してるのに挿入し...
-
リストビューの選択状態を取得...
おすすめ情報