Hi I was recently going through this thread and others regarding making separate IE instances that do not share cookies. I have tried two things and neither seem to be working. First thing is the registry edit. I set FrameMerging to 0 in the registry as per Microsoft's site, but AutoIt continues to launch IE instances with FrameMerging. The registry edit only works when I launch IE manually outside of AutoIt. If this worked, this would be the optimal solution. The other thing I tried is launching IE in AutoIt with Run() and using the -noframemerging parameter, but I cannot seem to get the HWND of the window. I tried using a function, which I will post below, that gets the PID and then the HWND from the IE instance. I think there is an issue with the way disabling frame merging makes the IE instances behave. I would greatly appreciate a solution to this problem.
Function I used
Func _WinGetByPID($iPID, $iArray = 1) ; 0 Will Return 1 Base Array & 1 Will Return The First Window.
Local $aError[1] = [0], $aWinList, $sReturn
If IsString($iPID) Then
$iPID = ProcessExists($iPID)
EndIf
$aWinList = WinList()
For $A = 1 To $aWinList[0][0]
If WinGetProcess($aWinList[$A][1]) = $iPID And BitAND(WinGetState($aWinList[$A][1]), 2) Then
If $iArray Then
Return $aWinList[$A][1]
EndIf
$sReturn &= $aWinList[$A][1] & Chr(1)
EndIf
Next
If $sReturn Then
Return StringSplit(StringTrimRight($sReturn, 1), Chr(1))
EndIf
Return SetError(1, 0, $aError)
EndFunc ;==>_WinGetByPID