{"id":22678329,"url":"https://github.com/evilc/rdptools","last_synced_at":"2025-07-26T23:34:33.654Z","repository":{"id":71118286,"uuid":"47561482","full_name":"evilC/RDPTools","owner":"evilC","description":"An AHK library for automating RDP client connections","archived":false,"fork":false,"pushed_at":"2016-07-04T12:09:19.000Z","size":1469,"stargazers_count":15,"open_issues_count":2,"forks_count":3,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-29T13:12:20.601Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"AutoHotkey","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/evilC.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2015-12-07T15:40:24.000Z","updated_at":"2024-06-21T01:33:31.000Z","dependencies_parsed_at":"2023-04-17T15:54:31.883Z","dependency_job_id":null,"html_url":"https://github.com/evilC/RDPTools","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evilC%2FRDPTools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evilC%2FRDPTools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evilC%2FRDPTools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evilC%2FRDPTools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/evilC","download_url":"https://codeload.github.com/evilC/RDPTools/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249796021,"owners_count":21326780,"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":[],"created_at":"2024-12-09T18:14:48.090Z","updated_at":"2025-04-19T20:46:02.584Z","avatar_url":"https://github.com/evilC.png","language":"AutoHotkey","funding_links":[],"categories":[],"sub_categories":[],"readme":"# RDPTools\nAn AHK library for automating RDP client connections\n\n##RDPConnect\nA class library that automates the various windows associated with the windows RDP client (mstsc.exe)  \nPass it an address, username / domain string and password string and it attempts to open the connection and log in for you.  \nWill fire a callback on success or failure.  \nAdditionally, can be instructed to not fire the callback until the desktop is ready for interaction (Waits for pixel of pre-determined color to exist at coordinate 0,0).  \n\nUsage: ```this.rdp := new RDPConnect(address, login, password, MyBoundFunc, {[options]})```  \neg: ```this.rdp := new RDPConnect(address, login, password, this.MyMethod.Bind(this), {WaitForDesktopColor: \"0xFFFFFF\"})```\n\nCallback Parameters:  \n```\nMyMethod(e, pid, hwnd)\ne : The event that happened.\n\t0 is \"success\", other values are errors (eg bad address, bad credentials)\n\tuse GetErrorName to get a human-friendly reason for the failure\npid : The Process ID of the RDP session. All RDP windows for one connection will share the same PID\nhwnd: The Window Handle of the session window.\n\tOn connect, hwnd will be the HWND of the session window\n\tOn disconnect (User logged off), hwnd will be unset (e will still be 0, as this is a \"success\")\n```\n\nRDPConnect uses ```ControlSend``` for all sending of keyboard input directly to the HWND of the RDP window(s), so it should be (reasonably) immune to the user performing other functions whilst RDPConnect is connecting.\n\nWARNING: Whilst RDPConnect does not store any passwords, in order to use it, you will probably need to store passwords on your disk.  \nRDPConnect is NOT RECOMMENDED for use-cases where you wish to keep your password(s) private. It's primary use-case is intended for test environments and the like, where password secrecy is not an issue.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fevilc%2Frdptools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fevilc%2Frdptools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fevilc%2Frdptools/lists"}