Endr,
Можно попробовать указать рабочую папку:
Код:

ShellExecute($MyScript, "", "C:\")
amel27
Такой вопрос - накалякал функцию (на основе других подобных) для проверки пути, не является ли он запущенным процессом, всё вроде работает (возвращает PID процесса), но вопрос в том, насколько надёжно использовать Psapi.dll?

- в справке по этому поводу вот что сказанно:
Цитата http://www.autoitscript.com/autoit3/docs/intro/installdir.htm:
psapi.dll - Process...() function helper DLL - used under Windows NT 4 only (Microsoft redistributable file)
|
Т.е получается на других системах работать не будет?
Вот функция:
Код:

$PathIsProcess = _PathIsProcess("C:\Program Files\qip\qip.exe")
MsgBox(0, '', $PathIsProcess & @LF & @extended)
Func _PathIsProcess($sPath)
If Not FileExists($sPath) Then Return SetError(1, 0, False)
Local $sPathName = StringRegExpReplace($sPath, "^.*\\", "")
Local $aProcList = ProcessList($sPathName)
If Not ProcessExists($sPathName) Then Return SetError(2, 0, False)
Local $iUbound = UBound($aProcList)-1
Local $aProc, $aPath
Local $vStruct = DllStructCreate('int[1024]')
For $i = 1 To $iUbound
$aProc = DllCall('kernel32.dll', 'hwnd', 'OpenProcess', 'int', BitOR(0x0400, 0x0010), 'int', 0, 'int', $aProcList[$i][1])
If Not IsArray($aProc) Or Not $aProc[0] Then Return SetError(3, 0, False)
DllCall('Psapi.dll', 'int', 'EnumProcessModules', _
'hwnd', $aProc[0], _
'ptr', DllStructGetPtr($vStruct), _
'int', DllStructGetSize($vStruct), _
'int_ptr', 0)
$aPath = DllCall('psapi.dll', 'int', 'GetModuleFileNameEx', _
'hwnd', $aProc[0], _
'int', DllStructGetData($vStruct, 1), _
'str', '', _
'int', 2048)
If IsArray($aPath) And $aPath[3] = $sPath Then Return SetExtended($iUbound, $aProcList[$i][1])
Next
Return SetExtended($iUbound, False)
EndFunc
Может есть альтернативы?