visors, почему не
ShellExecute()? То же самое, только ОС всё сама сделает. В случае, если JPEG открываются стандартным средством просмотра, имя файла без расширения будет в начале заголовка окна:
Код:
$sRunFile = $aFiles[0] > 1 ? $aFiles[Random(1, $aFiles[0], 1)] : $aFiles[1]
ShellExecute($sRunFile)
If @error Then Exit -2
$hWnd = WinWait(StringRight(StringRegExpReplace($sRunFile, '^.*\\', ''), 4), '', 5)
If $hWnd = 0 Then Exit -3
If WinMove($hWnd, '', $aPos[0], $aPos[1], $aPos[2], $aPos[3]) = 0 Then Exit -4