Skip to content
Projects

Ciantic/VirtualDesktopAccessor

View on GitHub

Ciantic/VirtualDesktopAccessor has 1,122 GitHub stars and 121 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-09 09:37 UTC. Last push 2026-10-11.

How these counts are measured

DLL for accessing Windows 11/10 Virtual Desktop features from e.g. AutoHotkey

Measured star growth

in 24h
0
in 7 days
Update delayed
in 15 days
Update delayed
in 1 month
Update delayed

Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.

README.md

Original

VirtualDesktopAccessor.dll

DLL for accessing Windows 11 (requires at least 24H2 26100.2605, tested with 25H2 OS Build 26200.8117) Virtual Desktop features from e.g. AutoHotkey. MIT Licensed, see LICENSE © Jari Pennanen, 2015-2024

This repository also contains Rust library winvd for accessing the Virtual Desktop via Rust bindings.

AutoHotkey example here:

Download from releases:

Download the DLL from releases ⬇️

Reference of exported DLL functions

All functions return -1 in case of error.

fn GetCurrentDesktopNumber() -> i32
fn GetDesktopCount() -> i32
fn GetDesktopIdByNumber(number: i32) -> GUID // Untested
fn GetDesktopNumberById(desktop_id: GUID) -> i32 // Untested
fn GetWindowDesktopId(hwnd: HWND) -> GUID
fn GetWindowDesktopNumber(hwnd: HWND) -> i32
fn IsWindowOnCurrentVirtualDesktop(hwnd: HWND) -> i32
fn MoveWindowToDesktopNumber(hwnd: HWND, desktop_number: i32) -> i32
fn GoToDesktopNumber(desktop_number: i32) -> i32
fn SetDesktopName(desktop_number: i32, in_name_ptr: *const i8) -> i32  // Win11 only
fn GetDesktopName(desktop_number: i32, out_utf8_ptr: *mut u8, out_utf8_len: usize) -> i32 // Win11 only
fn RegisterPostMessageHook(listener_hwnd: HWND, message_offset: u32) -> i32
fn UnregisterPostMessageHook(listener_hwnd: HWND) -> i32
fn IsPinnedWindow(hwnd: HWND) -> i32
fn PinWindow(hwnd: HWND) -> i32
fn UnPinWindow(hwnd: HWND) -> i32
fn IsPinnedApp(hwnd: HWND) -> i32
fn PinApp(hwnd: HWND) -> i32
fn UnPinApp(hwnd: HWND) -> i32
fn IsWindowOnDesktopNumber(hwnd: HWND, desktop_number: i32) -> i32
fn CreateDesktop() -> i32 // Win11 only
fn RemoveDesktop(remove_desktop_number: i32, fallback_desktop_number: i32) -> i32 // Win11 only
fn MoveDesktop(desktop_number: i32, new_index: i32) -> i32 // Win11 only

Explore related projects