Hilfe gibt es zu diesem Thema eher im engl. Forum...
siehe z.B.: https://www.autoitscript.com/forum/topic/12…till-and-again/
Es gibt aber noch weitere Threads im engl. Forum dazu.
Im deutschen Forum ist es damit etwas dünn ...
Hilfe gibt es zu diesem Thema eher im engl. Forum...
siehe z.B.: https://www.autoitscript.com/forum/topic/12…till-and-again/
Es gibt aber noch weitere Threads im engl. Forum dazu.
Im deutschen Forum ist es damit etwas dünn ...
bei der Art der Fragestellung und der Funktion die ausgeführt werden soll,
ist der Gedanke an einen bot aber nicht abwägig.
über dieses Thema haben sich schon viele Gedanken gemacht.
Für mich hat sich folgendes als praktikabel und sinnvoll etabliert.
Link: https://www.autoitscript.com/wiki/Best_coding_practices
Über die Thematik Global und Local Variablen gab es auch schon ewige Diskussionen.
Ich glaube mich zu erinnern, dass es mal ein Problem mit Globalen Variablen gab und es besser war
im gesamten Script nur Local Variablen zu verwenden.
Ich finde aber auf die Schnelle den Thread nicht...
Dein Script ist bei mir nicht ausführbar. Wird daran liegen, dass dein Script kein Fenster öffnet, dass dein Problem nachstellen kann.
So wird Hilfe schwierig.
Wenn du wenigstens erwähnen würdest, wie das Programm und das Control heißt, dann findet sich vll. jemand, der das Programm auch hat.
Bezüglich "WindowDetective" wird Hilfe auch schwierig, da ich das Programm nicht mal kenne.
Klingt aber danach, dass das Programm entweder Administrativ gestartet werden sollte, oder es Probleme mit dem auszulesenden Programm hat.
Alles in allem gibst Du dir zwar Mühe deine Anfragen korrekt zu formulieren, lieferst aber zu wenig Inhalt...
Du kannst Dir die Funktion "_INetSmtpMailCom" auch aus meinem Script kopieren ...
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_outfile=sende_email.exe
#AutoIt3Wrapper_UseUpx=n
#AutoIt3Wrapper_Change2CUI=y
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
;Konstanten
Global Const $GUI_EVENT_CLOSE = -3
Global Const $GUI_CHECKED = 1
Global Const $GUI_ENABLE = 64
Global Const $GUI_DISABLE = 128
Global $anhang_new, $flag, $read_txt, $file, $von, $wichtig, $ssl, $Cmd[15]
Global $oMyRet[2]
Global $oMyError = ObjEvent("AutoIt.Error", "MyErrFunc")
Switch $CmdLine[0]
Case 0
gui()
Case 1
Switch $CmdLine[1]
Case "/?", "?", "-?", "help", "-help", "/help"
Exit mbparam(0)
Case "gui", "/gui", "-gui"
gui()
EndSwitch
Case 2 To 4
Exit mbparam(2)
Case 5 To 14
For $i = 1 To 5
If $CmdLine[$i] = "" Then Exit mbparam(1)
Next
Case 15 To 1000
Exit mbparam(3)
Case Else
Exit mbparam(1)
EndSwitch
For $i = 1 To $CmdLine[0]
$Cmd[$i] = $CmdLine[$i]
Next
For $i = $CmdLine[0]+1 To 14
$Cmd[$i] = ""
Next
If FileExists(_PathFull($Cmd[5])) Then
$read_txt = FileOpen($Cmd[5],0)
$Cmd[5] = FileRead($read_txt)
FileClose($read_txt)
EndIf
Global $oMyRet[2]
Global $oMyError = ObjEvent("AutoIt.Error", "MyErrFunc")
$rc = _INetSmtpMailCom($Cmd[1], $Cmd[2], $Cmd[3], $Cmd[4], $Cmd[5], $Cmd[6], $Cmd[7], $Cmd[8], $Cmd[9], $Cmd[10], $Cmd[11], $Cmd[12], $Cmd[13], $Cmd[14])
If @error Then
ConsoleWrite("Fehler beim Versenden der Nachricht"&@CRLF&"Fehlercode: " & @error & " Beschreibung: " & $rc & @CRLF)
SetError(1)
Else
ConsoleWrite(@CRLF&"Die Nachricht an "&$Cmd[2]&" wurde erfolgreich versendet." & @CRLF)
SetError(0)
EndIf
Exit
#cs
_InetSmtpMailCom ist ein Script von "Jos" aus dem engl. Forum von AutoIt:
http://www.autoitscript.com/forum/index.php?showtopic=23860&hl=_InetSmtpMailCom
#ce
Func _INetSmtpMailCom($s_FromAddress, $s_ToAddress, $s_SmtpServer, $s_Subject, $as_Body, $s_FromName = "", $s_Username = "", $s_Password = "", $s_AttachFiles = "", $s_CcAddress = "", $s_BccAddress = "", $s_Importance = "Normal", $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 StringLeft($as_Body,6) = "<html>" And StringRight($as_Body,7) = "</html>" 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] = StringReplace($S_Files2Attach[$x],'"','')
If FileExists($S_Files2Attach[$x]) Then
$objEmail.AddAttachment ($S_Files2Attach[$x])
If @error = 0 Then ConsoleWrite("Datei erfolgreich angehaengt: "&$S_Files2Attach[$x] & @CRLF)
Else
ConsoleWrite('!> Dateianhang wurde nicht gefunden: ' & $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 "Hoch", "hoch"
$objEmail.Fields.Item ("urn:schemas:mailheader:Importance") = "High"
Case "Normal", "normal"
$objEmail.Fields.Item ("urn:schemas:mailheader:Importance") = "Normal"
Case "Niedrig", "niedrig"
$objEmail.Fields.Item ("urn:schemas:mailheader:Importance") = "Low"
EndSwitch
$objEmail.Fields.Update
; Sent the Message
$objEmail.Send
If @error Then
SetError(2)
Return $oMyRet[1]
EndIf
$objEmail=""
EndFunc ;==>_INetSmtpMailCom
;
Func gui()
Global $gui[22]
$wichtig = "Normal"
$ssl = 0
$gui[0] = GUICreate("sende Email", 700, 550, 193, 115)
GUICtrlCreateLabel("Von", 8, 10, 23, 17)
GUICtrlCreateLabel("An", 8, 35, 17, 17)
GUICtrlCreateLabel("[Cc]", 8, 60, 18, 17)
GUICtrlCreateLabel("[Bcc]", 8, 85, 25, 15)
GUICtrlCreateLabel("[Absender-Name]", 340, 10, 90, 17)
GUICtrlCreateLabel("Smtp-Server", 340, 35, 62, 17)
GUICtrlCreateLabel("[Anmeldename]", 340, 60, 80, 17)
GUICtrlCreateLabel("[Passwort]", 340, 85, 55, 17)
GUICtrlCreateLabel("[Priorität]", 8, 114, 57, 17)
GUICtrlCreateLabel("[Ip-Port]", 340, 114, 45, 17)
GUICtrlCreateLabel("[Ssl]", 507, 114, 24, 17)
GUICtrlCreateLabel("Betreff", 8, 141, 35, 17)
GUICtrlSetTip(-1,"Betreff:"&@CRLF&"Tragen Sie hier den Betreff Ihrer Email ein")
GUICtrlCreateLabel("Nachricht", 8, 181, 50, 17)
GUICtrlSetTip(-1,"Nachricht:"&@CRLF&"hier tragen Sie den Inhalt Ihrer Email ein"&@CRLF&"wenn der Text HTML-formatiert ist, dann wird dieser als HTML-Email versendet"&@CRLF&"dazu muss der Inhalt von '<html>...</html>' eingeschlossen sein."&@CRLF&"eine logische Prüfung der HTML-Konformität erfolgt nicht!!!")
GUICtrlCreateLabel("[Anhang]", 8, 465, 70, 17)
$gui[1] = GUICtrlCreateInput("", 66, 6, 250, 20); Von
GUICtrlSetTip(-1,"Von:"&@CRLF&"Geben Sie hier Ihre Email-Adresse an")
$gui[2] = GUICtrlCreateInput("", 66, 33, 250, 20); An
GUICtrlSetTip(-1,"An:"&@CRLF&"Geben Sie hier die Email-Adresse des Empfängers an")
$gui[3] = GUICtrlCreateInput("", 66, 58, 250, 20); CC
GUICtrlSetTip(-1,"CC:"&@CRLF&"Geben Sie hier die Email-Adresse/n der CC-Empfänger an"&@CRLF&"mehrere Empfänger müssen mit ';' getrennt werden")
$gui[4] = GUICtrlCreateInput("", 66, 83, 250, 20); BCC
GUICtrlSetTip(-1,"BCC:"&@CRLF&"Geben Sie hier die Email-Adresse/n der BCC-Empfänger an"&@CRLF&"mehrere Empfänger müssen mit ';' getrennt werden")
$gui[5] = GUICtrlCreateInput("", 434, 7, 250, 20); Absender-Name
GUICtrlSetTip(-1,"Absendername:"&@CRLF&"Geben Sie hier den anzuzeigenden Namen an"&@CRLF&"i.d.R. wird dies Ihr Vor- und Nachname sein")
$gui[6] = GUICtrlCreateInput("", 434, 34, 250, 20); Smtp-Server
GUICtrlSetTip(-1,"Smtp-Server:"&@CRLF&"Geben Sie hier den Smtp-Server Ihres Email-Postfaches ein")
$gui[7] = GUICtrlCreateInput("", 434, 59, 250, 20); Anmeldename
GUICtrlSetTip(-1,"Anmeldename:"&@CRLF&"Geben Sie hier den Benutzernamen Ihres Email-Postfaches ein")
$gui[8] = GUICtrlCreateInput("", 434, 84, 250, 20,0x0020); Passwort
GUICtrlSetTip(-1,"Passwort:"&@CRLF&"Geben Sie hier das Passwort Ihres Email-Postfaches ein")
GUIStartGroup()
$gui[9] = GUICtrlCreateRadio("Niedrig", 83, 113, 59, 17); Wichtigkeit
GUICtrlSetTip(-1,"Priorität:"&@CRLF&"hier stellen Sie die Priorität auf 'Niedrig'")
$gui[10] = GUICtrlCreateRadio("Normal", 170, 113, 53, 17); Wichtigkeit
GUICtrlSetTip(-1,"Priorität:"&@CRLF&"hier stellen Sie die Priorität auf 'Normal'")
$gui[11] = GUICtrlCreateRadio("Hoch", 256, 113, 49, 17); Wichtigkeit
GUICtrlSetTip(-1,"Priorität:"&@CRLF&"hier stellen Sie die Priorität auf 'Hoch'")
GUIStartGroup()
$gui[12] = GUICtrlCreateInput("25", 434, 112, 41, 20); IP-Port
GUICtrlSetTip(-1,"Ip-Port:"&@CRLF&"hier können Sie einen Port zum Versenden der Email angeben"&@CRLF&"Für eine SSL-Verbindung müssen Sie möglicherweise einen anderen Port eintragen"&@CRLF&@CRLF&"Standard Ip-Port ist 25"&@CRLF&"Standard Ip-Port SSL ist 465")
GUIStartGroup()
$gui[13] = GUICtrlCreateRadio("aktiviert", 538, 113, 65, 17); SSL
GUICtrlSetTip(-1,"SSL-Verschlüsselung:"&@CRLF&"hier aktivieren sie die SSL-Verschlüsselung"&@CRLF&"beachten Sie, dass nicht jeder Provider SSL-Verschlüsselung unterstützt."&@CRLF&@CRLF&"Standard Ip-Port ist 465.")
$gui[14] = GUICtrlCreateRadio("deaktiviert", 613, 113, 73, 17); SSL
GUIStartGroup()
$gui[15] = GUICtrlCreateInput("", 66, 138, 617, 20); Betreff
$gui[16] = GUICtrlCreateEdit("", 66, 178, 617, 270); Nachricht
GUICtrlSetTip(-1,"Nachricht:"&@CRLF&"Sie können in dieses Feld auch den Pfad zu einer Datei eintragen,"&@CRLF&"dessen Inhalt als body erscheinen soll.")
$gui[17] = GUICtrlCreateInput("", 66, 462, 467, 20); Dateianhang
GUICtrlSetTip(-1,"Anhang auswählen:"&@CRLF&"hier können Sie eine oder mehrere Dateien auswählen, die als Anhang mit versendet werden"&@CRLF&"mit jeder erneuten Auswahl wird die vorherige gelöscht"&@CRLF&"es können mit Hilfe der 'Strg'- und 'Shift'-Taste mehrere Dateien ausgewählt werden" )
$gui[18] = GUICtrlCreateButton("Anhang auswählen ...",564,462,120,20)
GUICtrlSetTip(-1,"Anhang auswählen:"&@CRLF&"hier können Sie eine oder mehrere Dateien auswählen, die als Anhang mit versendet werden"&@CRLF&"mit jeder erneuten Auswahl wird die vorherige gelöscht"&@CRLF&"es können mit Hilfe der 'Strg'- und 'Shift'-Taste mehrere Dateien ausgewählt werden" )
$gui[19] = GUICtrlCreateButton("Eingaben löschen",66,500,150,35)
$gui[20] = GUICtrlCreateButton("Email abschicken",300,500,150,35)
$gui[21] = GUICtrlCreateButton("Beenden",534,500,150,35)
GUICtrlSetState($gui[10],$GUI_CHECKED)
GUICtrlSetState($gui[14],$GUI_CHECKED)
GUICtrlSetLimit($gui[9],5)
GUISetState(@SW_SHOW)
While 1
$msg = GUIGetMsg()
Switch $msg
Case $GUI_EVENT_CLOSE, $gui[21]
Exit
Case $gui[18]
GUICtrlSetData($gui[17],"")
$anhang_new = ""
$file = StringSplit(FileOpenDialog("", @MyDocumentsDir & "\", "alle Dateien (*.*)", 1+4), "|")
If $file[0] = 1 Then
$anhang_new &= StringReplace($file[1],'"',"")&";"
ElseIf $file[0] > 1 Then
For $i = 2 To UBound($file)-1
$anhang_new &= $file[1]&"\"&$file[$i]&";"
Next
EndIf
GUICtrlSetData($gui[17],StringTrimRight($anhang_new,1))
Case $gui[19]; löschen
GUICtrlSetData($gui[1],"")
GUICtrlSetData($gui[2],"")
GUICtrlSetData($gui[3],"")
GUICtrlSetData($gui[4],"")
GUICtrlSetData($gui[5],"")
GUICtrlSetData($gui[6],"")
GUICtrlSetData($gui[7],"")
GUICtrlSetData($gui[8],"")
GUICtrlSetState($gui[10],$GUI_CHECKED)
GUICtrlSetData($gui[12],"25")
GUICtrlSetState($gui[14],$GUI_CHECKED)
GUICtrlSetData($gui[15],"")
GUICtrlSetData($gui[16],"")
GUICtrlSetData($gui[17],"")
Case $gui[20]; abschicken
Local $read[15]
$read[1] = GUICtrlRead($gui[1]); Von
$read[2] = GUICtrlRead($gui[2]); An
$read[3] = GUICtrlRead($gui[3]); CC
$read[4] = GUICtrlRead($gui[4]); BCC
$read[5] = GUICtrlRead($gui[5]); Absendername
$read[6] = GUICtrlRead($gui[6]); Smtp-Server
$read[7] = GUICtrlRead($gui[7]); Anmeldename
$read[8] = GUICtrlRead($gui[8]); Passwort
$read[9] = $wichtig ; Wichtigkeit
$read[10] = GUICtrlRead($gui[12]); port
$read[11] = $ssl ; SSL
$read[12] = GUICtrlRead($gui[15]); Betreff
$read[13] = GUICtrlRead($gui[16]); Inhalt
$read[14] = GUICtrlRead($gui[17]); Anhang
If FileExists(_PathFull($read[13])) Then
$read_txt = FileOpen($read[13],0)
$read[13] = FileRead($read_txt)
FileClose($read_txt)
EndIf
Switch ""
Case $read[1], $read[2], $read[6], $read[12], $read[13]
MsgBox(262160, 'sende Email', "Es müssen mindestens folgende Felder ausgefüllt sein:"&@CRLF&"Von, An, Smtp-Server, Betreff, Nachricht")
Case Else
GUICtrlSetData($gui[20],"Email wird versendet")
GUICtrlSetData($gui[21],"bitte warten...")
GUICtrlSetState($gui[19],$GUI_DISABLE)
GUICtrlSetState($gui[20],$GUI_DISABLE)
GUICtrlSetState($gui[21],$GUI_DISABLE)
$rc = _INetSmtpMailCom($read[1],$read[2],$read[6],$read[12],$read[13],$read[5],$read[7],$read[8],$read[14],$read[3],$read[4],$read[9],$read[10],$read[11])
If @error Then
MsgBox(262160,"sende Email","Fehler beim Versenden der Nachricht"&@CRLF&"Fehlercode: " & @error & " Beschreibung: " & $rc & @CRLF)
SetError(1)
Else
MsgBox(262208,"sende Email","Die Nachricht wurde erfolgreich versendet.")
SetError(0)
ControlClick($gui[0],"",$gui[19])
EndIf
GUICtrlSetData($gui[20],"Email abschicken")
GUICtrlSetData($gui[21],"Beenden")
GUICtrlSetState($gui[19],$GUI_ENABLE)
GUICtrlSetState($gui[20],$GUI_ENABLE)
GUICtrlSetState($gui[21],$GUI_ENABLE)
EndSwitch
Case $gui[9]; Variable Wichtigkeit niedrig festlegen
$wichtig = "Low"
Case $gui[10]; Variable Wichtigkeit normal festlegen
$wichtig = "Normal"
Case $gui[11]; Variable Wichtigkeit hoch festlegen
$wichtig = "High"
Case $gui[14]
$ssl = "0"
GUICtrlSetData($gui[12],"25")
Case $gui[13]
$ssl = "1"
GUICtrlSetData($gui[12],"465")
EndSwitch
WEnd
EndFunc ;==>gui
; Com Error Handler
Func MyErrFunc()
$HexNumber = Hex($oMyError.number, 8)
$oMyRet[0] = $HexNumber
$oMyRet[1] = StringStripWS($oMyError.description, 3)
mbparam(2)
ConsoleWrite("### COM Error ! Number: " & $HexNumber & " ScriptLine: " & $oMyError.scriptline & " Description:" & $oMyRet[1] & @LF)
SetError(1); something to check for when this function returns
Return
EndFunc ;==>MyErrFunc
Func mbparam($flag = 0)
Switch $flag
Case 0
ConsoleWrite(@CRLF& _
"Folgende Parameter sind notwendig ([ ] = optional):"& @CRLF& _
@CRLF & _
"sende_email.exe 1 2 3 4 5 [6 7 8 9 10 11 12 13 14]"&@CRLF& _
StringFormat("%-23s %-25s","1 = Absender-Adresse","(Ihre Email-Adresse)")&@CRLF& _
StringFormat("%-23s %-25s","2 = Empfaenger-Adresse","(Die Empfaenger Email-Adresse)")&@CRLF& _
StringFormat("%-23s %-25s","3 = Smtp-Server","(Der SMTP-Server Ihres Email-Kontos)")&@CRLF& _
StringFormat("%-23s %-25s","4 = Betreff","(Der Betreff der Email)")&@CRLF& _
StringFormat("%-23s %-25s","5 = Nachricht","(HTML-Mail wenn '<html></html>' vorhanden)") &@CRLF& _
StringFormat("%-23s %-22s","","(es kann auch der Pfad zu einer Datei angegeben werden.)")&@CRLF& _
"[optional]"&@CRLF& _
StringFormat("%-23s %-25s","6 = Absender-Name","(Angezeigter Name)")&@CRLF& _
StringFormat("%-23s %-25s","7 = Anmeldename","(Ihr Zugangsname i.d.R. Ihre Email-Adresse)")&@CRLF& _
StringFormat("%-23s %-25s","8 = Passwort","(Ihr Zugangspasswort zu Ihrem Email-Konto)")&@CRLF& _
StringFormat("%-23s %-25s","9 = Dateianhang","(Pfad zu/r Datei/n, die angehaengt werden soll/en)")&@CRLF& _
StringFormat("%-23s %-25s","10 = Cc-Adresse/n","(CC-Empfaenger dieser Email)")&@CRLF& _
StringFormat("%-23s %-25s","11 = Bcc-Adresse/n","(BCC-Empfaenger dieser Email)")&@CRLF& _
StringFormat("%-23s %-25s","12 = Wichtigkeit","(Standard = 'Normal', (Hoch, Niedrig))")&@CRLF& _
StringFormat("%-23s %-25s","13 = Port","(Standard = 25)")&@CRLF& _
StringFormat("%-23s %-25s","14 = SSL","(Standard = 0; aktiviert = 1)")&@CRLF& _
@CRLF& _
"Die Parameter muessen in der erwarteten Reihenfolge angegeben werden."&@CRLF& _
"Angaben mit Leerzeichen sind mit "&'" '&'"'&" einzuchliessen."&@CRLF& _
"mehrere Empfaenger/Dateien sind mit ';' zu trennen"&@CRLF& _
"eine grafische Oberflaeche zum Versenden Ihrer Email erhalten Sie mit '/gui'"&@CRLF)
Case 1
ConsoleWrite(@CRLF&"!!! Bei der Angabe der Parameter ist ein Fehler aufgetreten !!!" &@CRLF& _
"Geben Sie nach dem Programmnamen den Parameter /? oder /help an, um eine"&@CRLF& _
"Uebersicht aller notwendigen/optionalen Parameter zu erhalten."&@CRLF)
SetError(1)
$flag = 0
Case 2
ConsoleWrite(@CRLF&"!!! Bei der Verarbeitung der Parameter ist ein Fehler aufgetreten !!!" &@CRLF& "Es wurden weniger als 14 Parameter uebergeben!!!"&@CRLF& _
"Geben Sie nach dem Programmnamen den Parameter /? oder /help an, um eine"&@CRLF& _
"Uebersicht aller notwendigen/optionalen Parameter zu erhalten."&@CRLF)
SetError(1)
$flag = 0
Case 3
ConsoleWrite(@CRLF&"!!! Bei der Verarbeitung der Parameter ist ein Fehler aufgetreten !!!" &@CRLF& "Es wurden mehr als 14 Parameter uebergeben!!!"&@CRLF& _
"Geben Sie nach dem Programmnamen den Parameter /? oder /help an, um eine"&@CRLF& _
"Uebersicht aller notwendigen/optionalen Parameter zu erhalten."&@CRLF)
SetError(1)
$flag = 0
EndSwitch
EndFunc ;==>mbmparam
Func _PathFull($sRelativePath, $sBasePath = @WorkingDir)
If Not $sRelativePath Or $sRelativePath = "." Then Return $sBasePath
Local $sFullPath = StringReplace($sRelativePath, "/", "\") ; Holds the full path (later, minus the root)
Local Const $sFullPathConst = $sFullPath ; Holds a constant version of the full path.
Local $sPath ; Holds the root drive/server
Local $bRootOnly = StringLeft($sFullPath, 1) = "\" And StringMid($sFullPath, 2, 1) <> "\"
For $i = 1 To 2
$sPath = StringLeft($sFullPath, 2)
If $sPath = "\\" Then
$sFullPath = StringTrimLeft($sFullPath, 2)
$sPath &= StringLeft($sFullPath, StringInStr($sFullPath, "\") - 1)
ExitLoop
ElseIf StringRight($sPath, 1) = ":" Then
$sFullPath = StringTrimLeft($sFullPath, 2)
ExitLoop
Else
$sFullPath = $sBasePath & "\" & $sFullPath
EndIf
Next
If $i = 3 Then Return ""
Local $aTemp = StringSplit($sFullPath, "\")
Local $aPathParts[$aTemp[0]], $j = 0
For $i = 2 To $aTemp[0]
If $aTemp[$i] = ".." Then
If $j Then $j -= 1
ElseIf Not ($aTemp[$i] = "" And $i <> $aTemp[0]) And $aTemp[$i] <> "." Then
$aPathParts[$j] = $aTemp[$i]
$j += 1
EndIf
Next
$sFullPath = $sPath
If Not $bRootOnly Then
For $i = 0 To $j - 1
$sFullPath &= "\" & $aPathParts[$i]
Next
Else
$sFullPath &= $sFullPathConst
If StringInStr($sFullPath, "..") Then $sFullPath = _PathFull($sFullPath)
EndIf
While StringInStr($sFullPath, ".\")
$sFullPath = StringReplace($sFullPath, ".\", "\")
WEnd
Return $sFullPath
EndFunc ;==>_PathFull
Alles anzeigen
zu wenig Info's für Hilfe.
welche Office Version?
Ein ScreenShot der Gui wäre hilfreich.
Ein ScreenShot von au3Info wäre hilfreich
...
neuer Versuch...
da Du die Anmeldenamen geändert hast auf den lokalen PC's,
kann es sein, dass der Server versucht einen Share zu einem PC/Nas herzustellen mit den "alten" Credentials???
Das könnte auch dazu führen, dass sich das Error-Log mit eine 3034 aufschaukelt ...
Hi Bugfix,
es wäre auch möglich, dass es einen IP-Adress Konflikt gibt.
Kannste mal in der Richtung recherchieren ...
klicken musst du da aber nix mehr
in der Regel werden clicks erst mit dem loslassen ausgeführt.
Warum das bei deinem Button nicht passiert ist so schwer zu sagen...
PS: die Koordinaten brauchst du nicht. Die geben nur an, an welcher Stelle innerhalb des Buttons geclickt werden soll.
Wenn du da Werte größer dem Button angibst, dann wird das vermutlich Probleme geben.
Hi Fr34k,
ich würde statt den Standard Funktionen auf _GuiCtrlListView - Funktionen ausweichen.
Da hast du die Möglichkeit Items direkt anzusprechen.
hey Andy, ...
ich hab doch nur philosophiert
musst nich gleich einen George Orwell daraus machen.
PS: Menschen die dann so etwas verfassen werden mit einem kurzen Starkstrom Stromstoß "kurzgeschlossen"
... aber geil geschrieben haste das schon