I didn't fully understand what you mean.
It is possible to have 2 variables, each one referring to a different bitmap pointer.
Do you mean "search for A... if not found, then search for B"?
;; define here haystack, needle1 and needle2 accordingly, ;; with Gdip_CreateBitmapFromFile() or Gdip_BitmapFromScreen() if ( 0 >= Gdip_ImageSearch(... needle1 in haystack ...) ) ;; // if Needle1 not found in Haystack { MsgBox, Needle1 not found. Checking Needle2. if ( 0 >= Gdip_ImageSearch(... needle2 in haystack ...) ) ;; // if Needle2 not found in Haystack MsgBox, Needle2 not found. }