Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Fungsi ChangeDisplaySettingsEx mengubah pengaturan perangkat tampilan yang ditentukan ke mode grafis yang ditentukan.
Sintaksis
LONG ChangeDisplaySettingsExA(
[in] LPCSTR lpszDeviceName,
[in] DEVMODEA *lpDevMode,
HWND hwnd,
[in] DWORD dwflags,
[in] LPVOID lParam
);
Parameter
[in] lpszDeviceName
Penunjuk ke string yang dihentikan null yang menentukan perangkat tampilan yang mode grafisnya akan berubah. Hanya tampilkan nama perangkat seperti yang dikembalikan oleh
Parameter
[in] lpDevMode
Penunjuk ke struktur DEVMODE
Anggota
| Anggota | Arti |
|---|---|
| dmBitsPerPel | Bit per piksel |
| dmPelsWidth | Lebar piksel |
| dmPelsHeight | Tinggi piksel |
| dmDisplayFlags | Bendera mode |
| dmDisplayFrequency | Frekuensi mode |
| dmPosition |
Posisi perangkat dalam konfigurasi multi-monitor. |
Selain menggunakan satu atau beberapa anggota DEVMODE
| Nilai | Arti |
|---|---|
| DM_BITSPERPEL | Gunakan nilai |
| DM_PELSWIDTH | Gunakan nilai dmPelsWidth |
| DM_PELSHEIGHT | Gunakan nilai dmPelsHeight |
| DM_DISPLAYFLAGS | Gunakan nilai dmDisplayFlags |
| DM_DISPLAYFREQUENCY | Gunakan nilai |
| DM_POSITION | Gunakan nilai dmPosition |
hwnd
Dipesan; harus null.
[in] dwflags
Menunjukkan bagaimana mode grafis harus diubah. Parameter ini bisa menjadi salah satu nilai berikut.
Menentukan CDS_TEST memungkinkan aplikasi menentukan mode grafis mana yang benar-benar valid, tanpa menyebabkan sistem berubah.
Jika CDS_UPDATEREGISTRY ditentukan dan dimungkinkan untuk mengubah mode grafis secara dinamis, informasi disimpan dalam registri dan DISP_CHANGE_SUCCESSFUL dikembalikan. Jika tidak dimungkinkan untuk mengubah mode grafis secara dinamis, informasi disimpan dalam registri dan DISP_CHANGE_RESTART dikembalikan.
Jika CDS_UPDATEREGISTRY ditentukan dan informasi tidak dapat disimpan dalam registri, mode grafis tidak diubah dan DISP_CHANGE_NOTUPDATED dikembalikan.
[in] lParam
Jika
Mengembalikan nilai
Fungsi ChangeDisplaySettingsEx mengembalikan salah satu nilai berikut.
| Mengembalikan kode | Deskripsi |
|---|---|
|
Perubahan pengaturan berhasil. |
|
Perubahan pengaturan tidak berhasil karena sistem mampu DualView. |
|
Sekumpulan bendera yang tidak valid diteruskan. |
|
Mode grafis tidak didukung. |
|
Parameter yang tidak valid diteruskan. Ini dapat mencakup bendera yang tidak valid atau kombinasi bendera. |
|
Pengandar tampilan gagal dalam mode grafis yang ditentukan. |
|
Tidak dapat menulis pengaturan ke registri. |
|
Komputer harus dimulai ulang agar mode grafis berfungsi. |
Komentar
Untuk memastikan bahwa struktur DEVMODE
Saat menambahkan monitor tampilan ke sistem multi-monitor secara terprogram, atur DEVMODE.dmFields ke DM_POSITION dan tentukan posisi (dalam DEVMODE.dmPosition) untuk monitor yang Anda tambahkan yang berdekatan dengan setidaknya satu piksel area tampilan monitor yang ada. Untuk melepaskan monitor, atur DEVMODE.dmFields ke DM_POSITION tetapi atur DEVMODE.dmPelsWidth dan DEVMODE.dmPelsHeight ke nol. Untuk informasi selengkapnya, lihat Beberapa Monitor Tampilan.
Ketika mode tampilan diubah secara dinamis, pesan WM_DISPLAYCHANGE dikirim ke semua aplikasi yang sedang berjalan dengan parameter pesan berikut.
| Parameter | Arti |
|---|---|
| wParam | Bit baru per piksel |
| LOWORD(lParam) | Lebar piksel baru |
| HIWORD(lParam) | Tinggi piksel baru |
Untuk mengubah pengaturan untuk lebih dari satu tampilan secara bersamaan, pertama-tama panggil ChangeDisplaySettingsEx untuk setiap perangkat satu per satu untuk memperbarui registri tanpa menerapkan perubahan. Kemudian panggil ChangeDisplaySettingsEx sekali lagi, dengan perangkat NULL, untuk menerapkan perubahan. Misalnya, untuk mengubah pengaturan untuk dua tampilan, lakukan hal berikut:
ChangeDisplaySettingsEx (lpszDeviceName1, lpDevMode1, NULL, (CDS_UPDATEREGISTRY | CDS_NORESET), NULL);
ChangeDisplaySettingsEx (lpszDeviceName2, lpDevMode2, NULL, (CDS_UPDATEREGISTRY | CDS_NORESET), NULL);
ChangeDisplaySettingsEx (NULL, NULL, NULL, 0, NULL);
Virtualisasi DPI
API ini tidak berpartisipasi dalam virtualisasi DPI. Input yang diberikan selalu dalam hal piksel fisik, dan tidak terkait dengan konteks panggilan.Nota
Header winuser.h mendefinisikan ChangeDisplaySettingsEx sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta preprosedur UNICODE. Mencampur penggunaan alias encoding-netral dengan kode yang tidak mengodekan-netral dapat menyebabkan ketidakcocokan yang mengakibatkan kesalahan kompilasi atau runtime. Untuk informasi selengkapnya, lihat Konvensi untuk Prototipe Fungsi.
Persyaratan
| Syarat | Nilai |
|---|---|
| klien minimum yang didukung | Windows 2000 Professional [hanya aplikasi desktop] |
| server minimum yang didukung |
Windows 2000 Server [hanya aplikasi desktop] |
| Platform Target |
Windows |
| Header |
winuser.h (termasuk Windows.h) |
| Pustaka |
User32.lib |
| DLL |
User32.dll |
| set API |
ext-ms-win-ntuser-sysparams-ext-l1-1-1 (diperkenalkan di Windows 10, versi 10.0.14393) |
Lihat juga
Fungsi Konteks Perangkat
Gambaran Umum Konteks Perangkat
VIDEOPARAMETERS