Skip to main content
St Louis

Back to all posts

How to Send Mouse Click In Powershell?

Published on
5 min read
How to Send Mouse Click In Powershell? image

Best Automation Tools to Buy in October 2025

1 Terminal Pin Removal Tool Kit 82 Pcs Depinning Electrical Connector Pin Extractor Tool Set Wire Terminal Release for Automotive Car Household Devices

Terminal Pin Removal Tool Kit 82 Pcs Depinning Electrical Connector Pin Extractor Tool Set Wire Terminal Release for Automotive Car Household Devices

  • 82-PIECE SET FOR ALL NEEDS: COMPREHENSIVE KIT WITH SINGLE & DOUBLE PIN EXTRACTORS.

  • DURABLE AND PORTABLE: HIGH-QUALITY STAINLESS STEEL TOOLS IN A PROTECTIVE CASE.

  • USER-FRIENDLY DESIGN: EFFORTLESSLY REMOVE TERMINALS WITHOUT DAMAGE.

BUY & SAVE
$11.98 $13.98
Save 14%
Terminal Pin Removal Tool Kit 82 Pcs Depinning Electrical Connector Pin Extractor Tool Set Wire Terminal Release for Automotive Car Household Devices
2 Klein Tools 32581 4-in-1 Electronics Screwdriver Set with 2 Slotted, 2 Phillips Precision Machined Bits, Ideal for Terminal Blocks

Klein Tools 32581 4-in-1 Electronics Screwdriver Set with 2 Slotted, 2 Phillips Precision Machined Bits, Ideal for Terminal Blocks

  • NON-MAGNETIC TIPS ENSURE PRECISION FOR DELICATE ELECTRONIC TASKS.
  • FREE-SPINNING CAP ENHANCES CONTROL FOR OPTIMAL FASTENING ACCURACY.
  • INTERCHANGEABLE BITS ALLOW QUICK ADJUSTMENTS FOR VERSATILE USE.
BUY & SAVE
$11.97
Klein Tools 32581 4-in-1 Electronics Screwdriver Set with 2 Slotted, 2 Phillips Precision Machined Bits, Ideal for Terminal Blocks
3 Short Pro Tool – 24V Short Circuit Finder for HVAC & Low Voltage Systems – Quick Short Detection with Alligator Clips

Short Pro Tool – 24V Short Circuit Finder for HVAC & Low Voltage Systems – Quick Short Detection with Alligator Clips

  • QUICK CIRCUIT DETECTION WITH INDICATOR LIGHT FOR FAST TROUBLESHOOTING.
  • USER-FRIENDLY ALLIGATOR CLIPS FOR EASY, RELIABLE DIAGNOSTICS.
  • DURABLE DESIGN WITH ONE-YEAR WARRANTY FOR GUARANTEED QUALITY.
BUY & SAVE
$15.99
Short Pro Tool – 24V Short Circuit Finder for HVAC & Low Voltage Systems – Quick Short Detection with Alligator Clips
4 XHF 1700 PCS Ferrule Crimping Tool Kit with Hexagonal Ferrule Crimper Insulated Wire End Ferrules Terminals

XHF 1700 PCS Ferrule Crimping Tool Kit with Hexagonal Ferrule Crimper Insulated Wire End Ferrules Terminals

  • PERFECT CRIMPING: SIX SERRATED SURFACES FOR TIGHT, RELIABLE CRIMPS.
  • HUGE VALUE: 1700PCS FERRULES IN 7 SIZES FOR VERSATILE APPLICATIONS.
  • HIGH-QUALITY TERMINALS: COPPER WITH TIN PLATING, CE ROHS COMPLIANT.
BUY & SAVE
$15.99 $19.99
Save 20%
XHF 1700 PCS Ferrule Crimping Tool Kit with Hexagonal Ferrule Crimper Insulated Wire End Ferrules Terminals
5 41 PCS Terminal Removal Tool Kit, Depinning Tool Pin Removal Tool, Pin Extractor Removal Tool Kit, Electrical Tools Wire Connector Pin Release Terminal Ejector Kit for Automotive, Home Appliance

41 PCS Terminal Removal Tool Kit, Depinning Tool Pin Removal Tool, Pin Extractor Removal Tool Kit, Electrical Tools Wire Connector Pin Release Terminal Ejector Kit for Automotive, Home Appliance

  • ALL-IN-ONE KIT: 41-PIECE SET FOR ALL YOUR PIN EXTRACTION NEEDS.
  • DURABLE QUALITY: PREMIUM STEEL AND PLASTIC ENSURE LONG-LASTING USE.
  • USER-FRIENDLY DESIGN: EFFORTLESS PIN REMOVAL WITHOUT DAMAGING CONNECTORS.
BUY & SAVE
$6.99
41 PCS Terminal Removal Tool Kit, Depinning Tool Pin Removal Tool, Pin Extractor Removal Tool Kit, Electrical Tools Wire Connector Pin Release Terminal Ejector Kit for Automotive, Home Appliance
6 PLATATO Push to Connect Fittings Disconnect Tong Tool for Removing Push-fit Pneumatic Fittings 1/4”, 5/16” (6mm, 8mm) Quick Connect Air Hose Fittings Removal Tool

PLATATO Push to Connect Fittings Disconnect Tong Tool for Removing Push-fit Pneumatic Fittings 1/4”, 5/16” (6mm, 8mm) Quick Connect Air Hose Fittings Removal Tool

  • QUICK DISCONNECT FOR TIGHT SPACES: EFFORTLESSLY REMOVES PUSH-FIT FITTINGS.

  • ONE-HAND OPERATION: SIMPLIFIES RELEASE OF PNEUMATIC CONNECTORS WITH EASE.

  • DURABLE & ERGONOMIC: MADE FROM STRONG MATERIALS FOR COMFORT AND STABILITY.

BUY & SAVE
$20.99
PLATATO Push to Connect Fittings Disconnect Tong Tool for Removing Push-fit Pneumatic Fittings 1/4”, 5/16” (6mm, 8mm) Quick Connect Air Hose Fittings Removal Tool
7 WGGE Wire Cutters Precision Flush Pliers with Supplementary Stripping, Cutting Pliers, Handy and Slim Diagonal Cutters, Ultra Sharp Wire Cutter, 10-20AWG wire stripper (6 inch)

WGGE Wire Cutters Precision Flush Pliers with Supplementary Stripping, Cutting Pliers, Handy and Slim Diagonal Cutters, Ultra Sharp Wire Cutter, 10-20AWG wire stripper (6 inch)

  • DURABLE HIGH-CARBON STEEL ENSURES LONG-LASTING, SOLID PERFORMANCE.
  • ERGONOMIC DESIGN REDUCES FATIGUE FOR ULTIMATE COMFORT DURING USE.
  • VERSATILE CUTS FOR COPPER, ALUMINUM, AND TIGHT SPACES; 24-MONTH WARRANTY!
BUY & SAVE
$6.99 $9.99
Save 30%
WGGE Wire Cutters Precision Flush Pliers with Supplementary Stripping, Cutting Pliers, Handy and Slim Diagonal Cutters, Ultra Sharp Wire Cutter, 10-20AWG wire stripper (6 inch)
8 Fenglesha Short Pro Tool - Easy Used to Quickly Locate Shorts in 24 VAC Circuits, Automatic Reset, 12" Leads with Alligator Clips

Fenglesha Short Pro Tool - Easy Used to Quickly Locate Shorts in 24 VAC Circuits, Automatic Reset, 12" Leads with Alligator Clips

  • QUICKLY SPOT SHORT CIRCUITS WITH CROCODILE CLIPS IN 24V SYSTEMS.
  • AUTOMATIC RESET PROTECTS COMPONENTS BY CUTTING POWER TO FAULTS.
  • IDEAL FOR HVAC DIAGNOSTICS, SPEEDING UP JOBSITE ISSUE RESOLUTION.
BUY & SAVE
$21.00
Fenglesha Short Pro Tool - Easy Used to Quickly Locate Shorts in 24 VAC Circuits, Automatic Reset, 12" Leads with Alligator Clips
+
ONE MORE?

To send a mouse click in PowerShell, you can use the built-in SendInput function from the user32.dll library. This function allows you to simulate mouse clicks by sending input events directly to the system. You will need to create a couple of structures to define the input events, such as the MOUSEINPUT structure for mouse input.

First, import the necessary functions from the user32.dll library using the Add-Type cmdlet. Then, create the MOUSEINPUT structure to define the parameters of the mouse click event, such as the x and y coordinates of the click, the type of mouse event, and the flags associated with the event. Finally, use the SendInput function to send the mouse input event to the system, which will simulate a mouse click at the specified coordinates on the screen.

Keep in mind that sending mouse clicks programmatically in PowerShell may not be the most reliable or user-friendly way to interact with applications. It is recommended to use other automation tools or frameworks, such as AutoIt or Selenium, for more robust and versatile automation tasks involving mouse clicks.

How to create a mouse click function in Powershell?

You can create a mouse click function in Powershell using the following steps:

  1. Import the necessary .NET assemblies:

Add-Type -AssemblyName System.Windows.Forms

  1. Create a function that simulates a mouse click at a specified position on the screen:

function Click-Mouse { param( [int]$X, [int]$Y )

$mouseEvent = \[System.Windows.Forms.MouseEventArgs\]::New(\[System.Windows.Forms.MouseButtons\]::Left, 1, $X, $Y, 0)
\[System.Windows.Forms.Control\]::DoMouseClick($mouseEvent)

}

  1. Call the function with the desired X and Y coordinates to perform a mouse click at that position:

Click-Mouse -X 100 -Y 100

  1. You can also use the following function to move the mouse cursor to a specific position before clicking:

function Move-Mouse { param( [int]$X, [int]$Y )

\[System.Windows.Forms.Cursor\]::Position = New-Object System.Drawing.Point($X, $Y)

}

  1. Use the Move-Mouse function to move the mouse cursor to the desired position before calling the Click-Mouse function:

Move-Mouse -X 100 -Y 100 Click-Mouse -X 100 -Y 100

By following these steps, you can create a mouse click function in Powershell that simulates a mouse click at a specified position on the screen.

How to execute a mouse click command in Powershell?

To execute a mouse click command in Powershell, you can use the Add-Type cmdlet to add a definition for the mouse_event function from the User32.dll library. Here's an example code snippet that demonstrates how to do this:

Add-Type @" using System; using System.Runtime.InteropServices;

public class Mouse
{
    \[DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)\]
    public static extern void mouse\_event(uint dwFlags, uint dx, uint dy, uint cButtons, uint dwExtraInfo);

    public const uint MOUSEEVENTF\_LEFTDOWN = 0x0002;
    public const uint MOUSEEVENTF\_LEFTUP = 0x0004;
}

"@

Define the coordinates where you want to click (e.g. 100, 100)

$x = 100 $y = 100

Perform a mouse left click at the specified coordinates

[Mouse]::mouse_event([Mouse]::MOUSEEVENTF_LEFTDOWN, $x, $y, 0, 0) Start-Sleep -Milliseconds 100 [Mouse]::mouse_event([Mouse]::MOUSEEVENTF_LEFTUP, $x, $y, 0, 0)

In the above code snippet, we first use Add-Type to define the Mouse class with the mouse_event function for simulating mouse clicks. We then specify the coordinates where we want to click and use the MOUSEEVENTF_LEFTDOWN and MOUSEEVENTF_LEFTUP flags to simulate a left mouse button click at those coordinates. Make sure to adjust the coordinates and timing as needed for your specific use case.

What is the function of the SendMessage method in sending mouse clicks in Powershell?

The SendMessage method in PowerShell is used to send a specific message to a window or control in order to perform a specific action. When sending mouse clicks, the SendMessage method can be used to simulate a mouse click event on a specific window or control by sending the appropriate message to trigger the desired action. This can be useful for automating tasks that require interacting with GUI elements in applications.

How to send a left mouse click in Powershell?

To send a left mouse click in PowerShell, you can use the .NET framework's SendInput function. Here is an example code snippet to send a left mouse click using PowerShell:

Add-Type -TypeDefinition @" using System; using System.Runtime.InteropServices;

public class MouseInput {
    \[Flags\]
    public enum MouseEventFlags : uint {
        LEFTDOWN = 0x0002,
        LEFTUP = 0x0004,
        ABSOLUTE = 0x8000
    }

    \[StructLayout(LayoutKind.Sequential)\]
    public struct INPUT {
        public uint type;
        public MOUSEINPUT mi;
    }

    \[StructLayout(LayoutKind.Sequential)\]
    public struct MOUSEINPUT {
        public int dx;
        public int dy;
        public uint mouseData;
        public MouseEventFlags dwFlags;
        public uint time;
        public UIntPtr dwExtraInfo;
    }

    \[DllImport("user32.dll", SetLastError = true)\]
    public static extern uint SendInput(uint nInputs, INPUT\[\] pInputs, int cbSize);
}

"@

$mouseEvent = [MouseInput.MouseEventFlags]::LEFTDOWN -bor [MouseInput.MouseEventFlags]::LEFTUP $input = New-Object MouseInput.INPUT $input.type = 0 $input.mi.dwFlags = $mouseEvent

$inputs = New-Object MouseInput.INPUT[] 1 $inputs[0] = $input

[MouseInput]::SendInput(1, $inputs, [System.Runtime.InteropServices.Marshal]::SizeOf($inputs[0]))

You can run this code in PowerShell to simulate a left mouse click. Make sure to run PowerShell with administrative privileges to be able to send input events to the system. Note that this code will only work on Windows operating systems.