{"id":15035609,"url":"https://github.com/xeintdm/resolutionchanger","last_synced_at":"2026-03-16T16:33:29.666Z","repository":{"id":244125836,"uuid":"814337818","full_name":"XeinTDM/ResolutionChanger","owner":"XeinTDM","description":"ResolutionChanger is a simple WPF application for changing the display resolution of your monitors. ","archived":false,"fork":false,"pushed_at":"2024-06-12T20:29:10.000Z","size":10,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-13T12:14:45.619Z","etag":null,"topics":["csharp","csharp-code","display-resolution","monitors","resolution-changer","winapi"],"latest_commit_sha":null,"homepage":"https://guns.lol/xein","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/XeinTDM.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-06-12T20:11:41.000Z","updated_at":"2025-01-11T00:52:21.000Z","dependencies_parsed_at":"2024-06-13T02:44:40.239Z","dependency_job_id":null,"html_url":"https://github.com/XeinTDM/ResolutionChanger","commit_stats":null,"previous_names":["xeintdm/resolutionchanger"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/XeinTDM%2FResolutionChanger","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/XeinTDM%2FResolutionChanger/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/XeinTDM%2FResolutionChanger/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/XeinTDM%2FResolutionChanger/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/XeinTDM","download_url":"https://codeload.github.com/XeinTDM/ResolutionChanger/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243401510,"owners_count":20285058,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["csharp","csharp-code","display-resolution","monitors","resolution-changer","winapi"],"created_at":"2024-09-24T20:29:02.341Z","updated_at":"2025-12-29T16:08:15.412Z","avatar_url":"https://github.com/XeinTDM.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ResolutionChanger\nResolutionChanger is a simple WPF application for changing the display resolution of your monitors. It utilizes Windows API functions to enumerate display devices and settings, allowing users to select and apply different resolutions to their displays.\n\n### Features\n- Enumerates and lists all connected display devices.\n- Retrieves and displays all available resolutions for each display.\n- Allows users to change the resolution of a selected display.\n- Saves the selected resolution as the default setting for the display.\n\n### Usage\n1. **Launch the Application:** Open the `ResolutionChanger` application.\n2. **Select a Display:** Choose the display you want to change the resolution for from the `DisplaysComboBox`.\n3. **Select a Resolution:** Pick the desired resolution from the `ResolutionsComboBox`.\n4. **Apply Changes:** Click the `Save` button to apply the selected resolution to the display.\n\n## Code Overview\n### WinAPI Integration\nThe application uses several WinAPI functions to interact with display settings:\n\n- `ChangeDisplaySettingsEx:` Changes the settings of the specified display device to the specified graphics mode.\n- `EnumDisplaySettings:` Retrieves information about one of the graphics modes for a display device.\n- `EnumDisplayDevices:` Obtains information about the display devices in the current session.\n\n### Structs and Enums\nThe application defines several structures and enumerations to hold display settings information:\n\n- `DISPLAY_DEVICE:` Contains information about the display device.\n- `DEVMODE:` Contains information about the initialization and environment of a printer or a display device.\n- `DisplayDeviceStateFlags:` Flags that define the state of a display device.\n\n### Main Logic\n- **Initialization:** The main window initializes and loads displays and their resolutions.\n- **Button Click:** Handles the event when the user clicks the Save button to change the display resolution.\n- **Load Displays:** Enumerates and populates the DisplaysComboBox with connected display devices.\n- **Load Resolutions:** Enumerates and populates the ResolutionsComboBox with available resolutions for the selected display.\n- **GetDisplayDevices:** Helper function to list all connected display devices.\n\n### Requirements\n- .NET 8.0\n- Windows OS\n\n### Installation\n1. Clone the repository:\n```bash\ngit clone https://github.com/XeinTDM/ResolutionChanger.git\n```\n2. Open the solution in Visual Studio.\n3. Build and run the project.\n\n### License\n[![License: Unlicense](https://img.shields.io/badge/license-Unlicense-blue.svg)](http://unlicense.org/)\n\nFeel free to use, modify, and distribute the code as you wish.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxeintdm%2Fresolutionchanger","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxeintdm%2Fresolutionchanger","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxeintdm%2Fresolutionchanger/lists"}