WinAPIC++関数を使用してモニターの表示モードを設定しようとしています。
私の問題:呼び出しChangeDisplaySettingsEx()
は常にを返しますDISP_CHANGE_BADPARAM
。私は何が間違っているのですか?
エラーの原因は私のdevMode.dmDriverExtra値である可能性があります。私はMSDNを読みましたが、devMode.dmDriverExtraの説明は紛らわしいです。それは何ですか?モニターのdmDriverExtraを見つけるにはどうすればよいですか?
以下のコードが常に返される原因はDISP_CHANGE_BADPARAM
何ですか?
DEVMODE devMode;
POINTL p = {0,0};
_tcscpy(devMode.dmDeviceName, _T("\\Device\\00000072"));
devMode.dmSpecVersion = DM_SPECVERSION;
devMode.dmDriverVersion = 1; // How do I determine the driver version?
devMode.dmSize = sizeof(DEVMODE);
devMode.dmDriverExtra = 0x5c0000; //
devMode.dmFields = DM_POSITION;
devMode.dmPosition = p;
LONG res = ChangeDisplaySettingsEx(_T("\\Device\\00000072"), &devMode, mainHwnd, 0, NULL);
_tprintf(_T("%s: %d\n\n\n"), _T("\\Device\\00000072"), res);
// The above printf always prints out "\Device\00000072: -5" (DISP_CHANGE_BADPARAM=-5)