Почитайте о "Интерактивности".Когда запускается с помощью планировщика задач (от имени "Система") или SrvAny, то скрип просто висит и ничего не делает, чем это может быть обусловлено?
#RequireAdmin
Func _FxLib_Process_RunAsSystem($__Executable, $__Interactive = 0)
Local $hFile, $sPath = @TempDir & '\FxL_RaS.bat', $sBat = '0x' & _
'406563686F206F66660D0A736574206D3D2574696D653A7E332C32250D0A73657420683D2574696D653A7E302C32250D0A73657420643D25646174653'& _
'A7E302C3225200D0A736574206D3D25646174653A7E332C3225200D0A73657420793D25646174653A7E382C32250D0A696620256D3A7E302C31252065'& _
'7175203020736574206D3D256D3A7E312C31250D0A69662025683A7E302C31252065717520302073657420683D25683A7E312C31250D0A736574202F6'& _
'1206D2B3D310D0A696620256D252065717520363020736574206D3D3020262620736574202F6120682B3D310D0A696620256825206571752032342073'& _
'657420683D300D0A7363687461736B73202F637265617465202F746E202246784C5F53797341707022202F7472202531202F7363206F6E6365202F737'& _
'4202568253A256D253A3030202F7364202564252F256D252F257925202F7275202253797374656D220D0A7363687461736B73202F72756E202F69202F'& _
'746E202246784C5F537973417070220D0A7363687461736B73202F64656C657465202F746E202246784C5F53797341707022', $sBatI = '0x'& _
'406563686F206F66660D0A7363206372656174652046784C5F5379734170702062696E706174683D20253120747970653D206F776E207479706'& _
'53D20696E7465726163740D0A6E65742073746172742046784C5F5379734170700D0A73632064656C6574652046784C5F537973417070'
$sBat = Binary($sBat)
If $__Interactive Then _
$sBat = Binary($sBatI)
$hFile = FileOpen($sPath,18)
FileWrite($hFile, $sBat)
FileClose($hFile)
Return SetError( RunWait($sPath & ' ' & $__Executable, '', @SW_HIDE), 0, 0 )
EndFunc
К примеру такие функции как эти не работаю:А что он делать должен?
Func _Screenshot($path_screen)
;~ ConsoleWrite($MakeScreen & " ")
If _Timer_GetIdleTime() > 15000 Then Return
If _IsFullScreen() > 0 Then Return
Local $s_Dir = $path_screen & '\', $s_FileName, $f_Cursor = True
If Not FileExists($s_Dir) Then DirCreate($s_Dir)
$s_FileName = StringFormat('%s_%s_%s [%s_%s].jpg', @HOUR, @MIN, @SEC, @MDAY, @MON)
ConsoleWrite($s_FileName & @LF)
_ScreenCapture_SetJPGQuality(75)
_ScreenCapture_Capture($s_Dir & $s_FileName, 0, 0, @DesktopWidth, @DesktopHeight, $f_Cursor)
EndFunc ;==>_Screen
Func _IsFullScreen()
Local $hWnd = DllCall('user32.dll', 'hwnd', 'GetForegroundWindow')
If (@error) Or ($hWnd[0] = 0) Then
Return SetError(1, 0, 0)
EndIf
If (StringInStr(WinGetClassList($hWnd[0]), 'SHELLDLL_DefView') = 0) And (BitAND(WinGetState($hWnd[0]), 2) = 2) And (_WinAPI_GetClientWidth($hWnd[0]) = @DesktopWidth) And (_WinAPI_GetClientHeight($hWnd[0]) = @DesktopHeight) Then
Return 1
EndIf
EndFunc
Func _INetSmtpMailCom($s_SmtpServer, $s_FromName, $s_FromAddress, $s_ToAddress, $s_Subject = "", $as_Body = "", $s_AttachFiles = "", $s_CcAddress = "", $s_BccAddress = "", $s_Importance="Normal", $s_Username = "", $s_Password = "", $IPPort = 25, $ssl = 0)
Local $objEmail = ObjCreate("CDO.Message")
$objEmail.From = '"' & $s_FromName & '" <' & $s_FromAddress & '>'
$objEmail.To = $s_ToAddress
Local $i_Error = 0
Local $i_Error_desciption = ""
If $s_CcAddress <> "" Then $objEmail.Cc = $s_CcAddress
If $s_BccAddress <> "" Then $objEmail.Bcc = $s_BccAddress
$objEmail.Subject = $s_Subject
If StringInStr($as_Body, "<") And StringInStr($as_Body, ">") Then
$objEmail.HTMLBody = $as_Body
Else
$objEmail.Textbody = $as_Body & @CRLF
EndIf
If $s_AttachFiles <> "" Then
Local $S_Files2Attach = StringSplit($s_AttachFiles, ";")
For $x = 1 To $S_Files2Attach[0]
$S_Files2Attach[$x] = _PathFull($S_Files2Attach[$x])
;~ ConsoleWrite('@@ Debug : $S_Files2Attach[$x] = ' & $S_Files2Attach[$x] & @LF & '>Error code: ' & @error & @LF) ;### Debug Console
If FileExists($S_Files2Attach[$x]) Then
ConsoleWrite('+> File attachment added: ' & $S_Files2Attach[$x] & @LF)
$objEmail.AddAttachment($S_Files2Attach[$x])
Else
ConsoleWrite('!> File not found to attach: ' & $S_Files2Attach[$x] & @LF)
SetError(1)
Return 0
EndIf
Next
EndIf
$objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
$objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = $s_SmtpServer
If Number($IPPort) = 0 then $IPPort = 25
$objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = $IPPort
;Authenticated SMTP
If $s_Username <> "" Then
$objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
$objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusername") = $s_Username
$objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendpassword") = $s_Password
EndIf
If $ssl Then
$objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
EndIf
;Update settings
$objEmail.Configuration.Fields.Update
; Set Email Importance
Switch $s_Importance
Case "High"
$objEmail.Fields.Item ("urn:schemas:mailheader:Importance") = "High"
Case "Normal"
$objEmail.Fields.Item ("urn:schemas:mailheader:Importance") = "Normal"
Case "Low"
$objEmail.Fields.Item ("urn:schemas:mailheader:Importance") = "Low"
EndSwitch
$objEmail.Fields.Update
; Sent the Message
$objEmail.Send
$objEmail=""
EndFunc ;==>_INetSmtpMailCom
_FxLib_Process_RunAsSystem('"c:\windows\system32\cmd.exe /k start"', 1)