Sign in to follow this  
Followers 0
Aktonius

ProcessExists($pid) returns 0 even if $pid exists as process

6 posts in this topic

#include <array.au3>

$PID = Run(@ProgramFilesDir&'\Internet Explorer\iexplore.exe "' & "http://google.com" & '"', "", @SW_SHOW)

MsgBox(0, 0, $PID)
MsgBox(0, 0, ProcessExists($PID))

This code will first return $pid then it will also return $pid with processexists() function, but it will only work if there are no other instances of "iexplore.exe" openned before its run.

If there is already iexplore.exe open and you run this then it will return 0 with processexists($pid), which means i cant check if processexists if user already has one iexplore.exe instance while he runs this, any ideas?

Share this post


Link to post
Share on other sites



In your example you're looking for the exact PID created by the Run() function. If you want to catch any instance of the Internet Explorer use ProcessExists("iexplore.exe") instead, even better would be ProcessList("iexplore.exe") if you're looking for more than one instance.

Share this post


Link to post
Share on other sites

Kafu,

if i use processexists("iexplore.exe") it doesnt mean much to me if there are multiple iexplore processes there, understand what i mean? I need to check for the $pid that i retrieve with RUn()

Also whats weird is that when i get this $pid with run and afterwards i do processlist("iexplore.exe") it doesnt show up on the list at all ... FOr some reason it dissapears

I need a way to check when is this $pid returned by run() opened or not but seems it dissapears right away if there are already multiple iexplore.exe instances opened before run() is used

Share this post


Link to post
Share on other sites

#4 ·  Posted (edited)

I don't use IE 9 but here is a way to get the new PID created for iexplore.exe.

#AutoIt3Wrapper_Au3Check_Parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6 -w 7
#include <Array.au3>

Global $aArrayPrevious[1][2] = [[0]]

Global $iPID = Run(@ProgramFilesDir & 'Internet Exploreriexplore.exe "' & "http://duckduckgo.com" & '"', "", @SW_SHOW)

ConsoleWrite("PID >> " & $iPID & @LF)
Sleep(1000) ; Wait for the previous process to close and spawn a new process.
ConsoleWrite("ProcessExists >> " & ProcessExists(_GetIEProcess()) & @LF)

Func _GetIEProcess($sProcess = "iexplore.exe") ; By guinness. [Find the newest process created]
    Local $aArray, $iPID

    $aArray = ProcessList($sProcess)
    If @error Then
        Return SetError(1, 0, 0)
    EndIf
    $iPID = _ArrayDiff($aArrayPrevious, $aArray)
    $aArrayPrevious = $aArray
    Return $iPID
EndFunc   ;==>_GetIEProcess

Func _ArrayDiff(ByRef $aArrayMin, ByRef $aArrayMax) ; By Yashied.
    For $A = $aArrayMax[0][0] To 1 Step -1
        For $B = $aArrayMin[0][0] To 1 Step -1
            If $aArrayMax[$A][1] = $aArrayMin[$B][1] Then
                ContinueLoop 2
            EndIf
        Next
        Return $aArrayMax[$A][1]
    Next
    Return 0
EndFunc   ;==>_ArrayDiff
Edited by guinness

_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_BinaryBin()_CheckMsgBox()_CmdLineRaw()_ContextMenu()_ConvertLHWebColor()/_ConvertSHWebColor()_DesktopDimensions()_DisplayPassword()_DotNet_Load()/_DotNet_Unload()_Fibonacci()_FileCompare()_FileCompareContents()_FileNameByHandle()_FilePrefix/SRE()_FindInFile()_GetBackgroundColor()/_SetBackgroundColor()_GetConrolID()_GetCtrlClass()_GetDirectoryFormat()_GetDriveMediaType()_GetFilename()/_GetFilenameExt()_GetHardwareID()_GetIP()_GetIP_Country()_GetOSLanguage()_GetSavedSource()_GetStringSize()_GetSystemPaths()_GetURLImage()_GIFImage()_GoogleWeather()_GUICtrlCreateGroup()_GUICtrlListBox_CreateArray()_GUICtrlListView_CreateArray()_GUICtrlListView_SaveCSV()_GUICtrlListView_SaveHTML()_GUICtrlListView_SaveTxt()_GUICtrlListView_SaveXML()_GUICtrlMenu_Recent()_GUICtrlMenu_SetItemImage()_GUICtrlTreeView_CreateArray()_GUIDisable()_GUIImageList_SetIconFromHandle()_GUIRegisterMsg()_GUISetIcon()_Icon_Clear()/_Icon_Set()_IdleTime()_InetGet()_InetGetGUI()_InetGetProgress()_IPDetails()_IsFileOlder()_IsGUID()_IsHex()_IsPalindrome()_IsRegKey()_IsStringRegExp()_IsSystemDrive()_IsUPX()_IsValidType()_IsWebColor()_Language()_Log()_MicrosoftInternetConnectivity()_MSDNDataType()_PathFull/GetRelative/Split()_PathSplitEx()_PrintFromArray()_ProgressSetMarquee()_ReDim()_RockPaperScissors()/_RockPaperScissorsLizardSpock()_ScrollingCredits_SelfDelete()_SelfRename()_SelfUpdate()_SendTo()_ShellAll()_ShellFile()_ShellFolder()_SingletonHWID()_SingletonPID()_Startup()_StringCompact()_StringIsValid()_StringRegExpMetaCharacters()_StringReplaceWholeWord()_StringStripChars()_Temperature()_TrialPeriod()_UKToUSDate()/_USToUKDate()_WinAPI_Create_CTL_CODE()_WinAPI_CreateGUID()_WMIDateStringToDate()/_DateToWMIDateString()Au3 script parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 04/09/2015

Share this post


Link to post
Share on other sites

thanks guinness for the effort, it is still weird that pid is different then whats returned by

_GetIEProcess(), it could work but i didnt test since i use another method to validate stuff now, relying on _IE.au3

Share this post


Link to post
Share on other sites

#6 ·  Posted (edited)

I've never really had a need to use the IE functions, but what I did notice is it creates a second instance of iexplore.exe and then closes the first instance, couldn't tell you why it does that though, maybe someone who uses IE could elaborate.

Edited by guinness

_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_BinaryBin()_CheckMsgBox()_CmdLineRaw()_ContextMenu()_ConvertLHWebColor()/_ConvertSHWebColor()_DesktopDimensions()_DisplayPassword()_DotNet_Load()/_DotNet_Unload()_Fibonacci()_FileCompare()_FileCompareContents()_FileNameByHandle()_FilePrefix/SRE()_FindInFile()_GetBackgroundColor()/_SetBackgroundColor()_GetConrolID()_GetCtrlClass()_GetDirectoryFormat()_GetDriveMediaType()_GetFilename()/_GetFilenameExt()_GetHardwareID()_GetIP()_GetIP_Country()_GetOSLanguage()_GetSavedSource()_GetStringSize()_GetSystemPaths()_GetURLImage()_GIFImage()_GoogleWeather()_GUICtrlCreateGroup()_GUICtrlListBox_CreateArray()_GUICtrlListView_CreateArray()_GUICtrlListView_SaveCSV()_GUICtrlListView_SaveHTML()_GUICtrlListView_SaveTxt()_GUICtrlListView_SaveXML()_GUICtrlMenu_Recent()_GUICtrlMenu_SetItemImage()_GUICtrlTreeView_CreateArray()_GUIDisable()_GUIImageList_SetIconFromHandle()_GUIRegisterMsg()_GUISetIcon()_Icon_Clear()/_Icon_Set()_IdleTime()_InetGet()_InetGetGUI()_InetGetProgress()_IPDetails()_IsFileOlder()_IsGUID()_IsHex()_IsPalindrome()_IsRegKey()_IsStringRegExp()_IsSystemDrive()_IsUPX()_IsValidType()_IsWebColor()_Language()_Log()_MicrosoftInternetConnectivity()_MSDNDataType()_PathFull/GetRelative/Split()_PathSplitEx()_PrintFromArray()_ProgressSetMarquee()_ReDim()_RockPaperScissors()/_RockPaperScissorsLizardSpock()_ScrollingCredits_SelfDelete()_SelfRename()_SelfUpdate()_SendTo()_ShellAll()_ShellFile()_ShellFolder()_SingletonHWID()_SingletonPID()_Startup()_StringCompact()_StringIsValid()_StringRegExpMetaCharacters()_StringReplaceWholeWord()_StringStripChars()_Temperature()_TrialPeriod()_UKToUSDate()/_USToUKDate()_WinAPI_Create_CTL_CODE()_WinAPI_CreateGUID()_WMIDateStringToDate()/_DateToWMIDateString()Au3 script parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 04/09/2015

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  
Followers 0