Jump to content
Sign in to follow this  

Activate P I D (Process)

Recommended Posts



Hi guys, i am trying to make a code that prompt a screen for me to enter the PID of a specfic process

For Example I have 4 Notepads Running

lets say that the first notepad got this pid (1111) and inside there is (1111)

second notepad pid is (2222) and inside it there is a Text (2222) and so on

so basicly i know what each notepad got inside

now i am trying to type in the prompt Screen the PID that will show and lets say will Maximize and focus on the 2nd notepad Only

$process= InputBox("Process","Enter the PID of the desired notepad to enter text in")

Short Story

How to Activate and bring a my Desired Window to be on top by Entering the PID of that process?

Share this post

Link to post
Share on other sites

I seem to answer this question every other day... But each time it is different... :)

Credit goes to the original author. Who I forget now... :o

Func _GetHwndFromPID($PID)
    $hWnd = 0
    $stPID = DllStructCreate("int")
        $winlist2 = WinList()
        For $i = 1 To $winlist2[0][0]
            If $winlist2[$i][0] <> "" Then
                DllCall("user32.dll", "int", "GetWindowThreadProcessId", "hwnd", $winlist2[$i][1], "ptr", DllStructGetPtr($stPID))
                If DllStructGetData($stPID, 1) = $PID Then
                    $hWnd = $winlist2[$i][1]
    Until $hWnd <> 0
    Return $hWnd

First step is to convert PID to HWND, which the above code does. Then WinSetState ($hWnd, "", @SW_MAXIMIZE) or whatever you want to do.

Hope it helps.



Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this  


Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.