Ach bin ich doof.
Hätte ich wenigstens mal die Fehlermeldung richtig gelesen. Ich war fester Überzeugung das im am ItemCreate hänge.
Ach bin ich doof.
Hätte ich wenigstens mal die Fehlermeldung richtig gelesen. Ich war fester Überzeugung das im am ItemCreate hänge.
Hallo zusammen,
ich kämpfe gerade mit der OutlookEX UDF.
Ich möchte momentan einfach nur dieses Beispiel testen.
$oOutlook = _OL_Open()
; *****************************************************************************
; Example 4
; Create a html mail plus two attachments (plus one inline picture = attachment)
; but don't send it
; *****************************************************************************
; Create the item without setting the body. We first need to add the picture before we can refer to in by the HTML body.
$oItem = _OL_ItemCreate($oOutlook, $olMailItem, "", "", "Subject=TestMail", "BodyFormat=" & $olFormatHTML)
If @error <> 0 Then Exit MsgBox(16, "OutlookEX UDF: _OL_ItemCreate Example Script", "Error creating a mail in folder 'Outlook-UDF-Test\TargetFolder\Mail'. @error = " & @error & ", @extended = " & @extended)
; Add all attachments
$oItem = _OL_ItemAttachmentAdd($oOutlook, $oItem, Default, @ScriptDir & "M:\xmasCard.jpg")
If @error <> 0 Then Exit MsgBox(16, "OutlookEX UDF: _OL_ItemCreate Example Script", "Error adding an attachment to a mail in folder 'Outlook-UDF-Test\TargetFolder\Mail'. @error = " & @error & ", @extended = " & @extended)
; Modify the item to add HTML that refers to the picture
$oItem = _OL_ItemModify($oOutlook, $oItem, Default, "HTMLBody=Bodytext in <b>bold</b><img src='cid:xmasCard.jpg'>Embedded image.")
If @error <> 0 Then Exit MsgBox(16, "OutlookEX UDF: _OL_ItemCreate Example Script", "Error modifying the item in folder 'Outlook-UDF-Test\TargetFolder\Mail'. @error = " & @error & ", @extended = " & @extended)
$oItem.Display
MsgBox(64, "OutlookEX UDF: _OL_ItemCreate Example Script", "Mail with inline picture created.")
Alles anzeigen
Aber ich erhalte schon beim ItemCreate @error=4 @extended=0
Was will mir der Fehler sagen? Warum kann er das Objekt nicht anlegen? Hat es was mit dem Outlook 2013 zu tun?
Vielleicht bin ich ja zu blöd, aber der Code sollte doch ein Button einblenden, oder ???
[autoit]$SISSwindow = _GUITarget("SISS - V2")
$bt = _TargetaddButton("test",100,100,100,100,"","",$SISSwindow)
Also es kommt keine Fehlermeldung, aber auch kein Button in dem Anwendungsfester.
Die UDF wäre zwar toll, aber scheinbar läuft diese nicht mehr.
Hallo zusammen,
ich habe mir ein AutoIT Script gebaselt, das mit einer GUI mit Button startet. Ich möchte nun das der Button nur angezeigt wird, wenn das Anwendungsfenster vorhanden ist. Das ist noch nicht das Problem. Nun will ich aber noch die GUI in die Anwendung an eine bestimmte Position einbetten. Also auch wenn die Anwendung bewegt wird, soll die GUI auf dieser Fensterposition mitwandern.
Hat jemand eine Idee, wie ich sowas umsetzen kann ??
Bin für jeden Tipp dankbar.
ShellExecute("explorer.exe", "C:\Temp\SPS.d3l")
[/autoit]das brachte nun den gewünschten Erfolg.
Ich danke euch allen ;o))
Ja, den Ordner und die Datei gibt es und ich kann Sie auch über den Explorer oder der Shell erfolgreich aufrufen. Und mit Windows XP PC funktioniert es auch wunderbar. Es liegt also nahe das es ein 64bit Problem ist.
Error Level ist 1, also wurde Ordnungsgemäß ausgeführt und meine AutoIT Version ist v.3.3.8.1
Aber der Hinweis Micha ist sehr gut. Das Programm, das geöffnet wird ist ein Programm das sehr System nach ist, also sich in die Tiefen des OS eingegraben hat. Und somit kann dem gut sein. Die Frage wäre dann, kann ich mit AutoIT den Explorer explizit als 32bit und 64bit ausführen lassen ??
Aber ich hab die AutoIT Anwendung auch mal als x64 Anwendung kompiliert, das führt auch nicht zu Erfolg.
dann öffnet sich das dazugehörige Programm und diese Datei eben gleich mit. So wie es eben sein sollte.
Hallo zusammen,
ich habe mit einem Script ein Problem, was eigentlich garkein Problem sein dürfte. Ich versteh es einfach nicht.
Ich habe in meinem Script diesen Code, der zwar ausgeführt wird und mit auch 1 als Antwort sendet, aber es passiert nichts:
ShellExecute("C:\Temp\SPS.d3l")
[/autoit]Zur Erklärung die Datei d3l ist ein Dateityp von einem Programm. Per Explorer mit einem Doppelklick funktioniert es. Auch unter Windows XP funktioniert es. Nur auf Windows 7 wird das Programm mit dieser Datei nicht geöffnet. Ich habe es auch schon mit dem RUN @ComSpec / c getestet, gleiches Phänomen.
Ich habe auch schon versucht mir mit einer .bat oder .cmd zu helfen, die dann einfach diesen Dateityp öffnet. Auch hier das gleiche, der Aufruf von der Shell oder Doppelklick aus dem Explorer funktioniert, nur aus dem AutoIT Script nicht. Auch ein #RequireAdmin hat leider nicht geholfen. Ich steh total auf dem Schlauch, warum das unter Windows 7 nicht funktionieren möchte.
Hat jemand von euch eine Idee wie ich diese "Problem" lösen kann ??
Ich hab meinen fehler entdeckt. Bin mal wieder in meinen üblichen Fehler gelaufen. Habe die GUI gelöscht, dabei hätte ich sie ja nur verstecken dürfen ;o)
Hallo zusammen,
ich stehe gerade etwas auf dem schlauch. Könnte sich jemand mal meinen Code anschauen und mir verraten warum sich mein Button $Config nur einmal drücken lässt ??
Gibt es eigentlich eine Debugging Funktion, die den Code immer nur Schrittweise ausführt, damit ich mit bekommen kann wo das Problem genau ist??
#include <winapi.au3>
#include <IE.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GuiButton.au3>
#include <Forms\Optionsmenu.isf>
If Not FileExists(@ScriptDir & "\config.ini") Then _Optionsmenu()
[/autoit] [autoit][/autoit] [autoit]Const $SPI_SETWORKAREA = 47
Const $SPIF_SENDCHANGE = 2
$tRECT = DllStructCreate('int;int;int;int')
;DllStructSetData($tRECT, 1, 0) ; left
DllStructSetData($tRECT, 2, 95) ; top
DllStructSetData($tRECT, 3, IniRead(@ScriptDir & "\config.ini", "Options", "AufloesungBreite", "")) ; right
DllStructSetData($tRECT, 4, IniRead(@ScriptDir & "\config.ini", "Options", "AufloesungHoehe", "") - 30) ; buttom
_WinAPI_SystemParametersInfo($SPI_SETWORKAREA, 0, DllStructGetPtr($tRECT), $SPIF_SENDCHANGE)
Local $oIE = _IECreateEmbedded()
$gui_IE = GUICreate("IcingaOnDesktop", IniRead(@ScriptDir & "\config.ini", "Options", "AufloesungBreite", ""), 95, 0, 0, $WS_POPUP + $WS_VISIBLE)
GUICtrlCreateObj($oIE, 0, 0, IniRead(@ScriptDir & "\config.ini", "Options", "AufloesungBreite", ""), 95)
_IENavigate($oIE, "http://icinga.firma.xyz.de/nagvis/frontend/nagvis-js/index.php?mod=Map&act=view&show=" & IniRead(@ScriptDir & "\config.ini", "Options", "NagVisMAP", ""))
[/autoit] [autoit][/autoit] [autoit]Send(IniRead(@ScriptDir & "\config.ini", "Options", "NagVisUser", ""))
Send("{TAB}")
Send(IniRead(@ScriptDir & "\config.ini", "Options", "NagVisPass", ""))
Send("{Enter}")
$GUI_Kontextmenu = GUICreate("IcingaOnDesktop_Config", 20, 20, 1898, 5, $WS_POPUP + $WS_VISIBLE, $WS_EX_TOPMOST)
$Config = GUICtrlCreatePic(@ScriptDir & "\Images\zahnrad.jpg", 0, 0, 20, 20)
GUISetState(@SW_SHOW, $GUI_Kontextmenu)
WinSetOnTop("IcingaOnDesktop_Config", "", 1)
WinActivate("IcingaOnDesktop_Config")
While 1
$oIE.document.body.scroll = "NO"
$oIE.document.body.style.overflow = "hidden"
$nMsg = GUIGetMsg()
Switch $nMsg
Case $Config
_Optionsmenu()
WinActivate("IcingaOnDesktop_Config")
EndSwitch
WEnd
Func _Optionsmenu()
GUICtrlSetData($Aufl_B, IniRead(@ScriptDir & "\config.ini", "Options", "AufloesungBreite", ""))
GUICtrlSetData($Aufl_H, IniRead(@ScriptDir & "\config.ini", "Options", "AufloesungHoehe", ""))
GUICtrlSetData($Map, IniRead(@ScriptDir & "\config.ini", "Options", "NagVisMAP", ""))
GUICtrlSetData($User, IniRead(@ScriptDir & "\config.ini", "Options", "NagVisUser", ""))
GUICtrlSetData($Pass, IniRead(@ScriptDir & "\config.ini", "Options", "NagVisPass", ""))
GUISetState(@SW_SHOW, $Optionsmenu)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
GUIDelete($Optionsmenu)
ExitLoop
Case $ENDE
_ENDE()
Case $OK
IniWrite(@ScriptDir & "\config.ini", "Options", "AufloesungBreite", GUICtrlRead($Aufl_B))
IniWrite(@ScriptDir & "\config.ini", "Options", "AufloesungHoehe", GUICtrlRead($Aufl_H))
IniWrite(@ScriptDir & "\config.ini", "Options", "NagVisMAP", GUICtrlRead($Map))
IniWrite(@ScriptDir & "\config.ini", "Options", "NagVisUser", GUICtrlRead($User))
IniWrite(@ScriptDir & "\config.ini", "Options", "NagVisPass", GUICtrlRead($Pass))
GUIDelete($Optionsmenu)
ExitLoop
EndSwitch
WEnd
EndFunc
Func _ENDE()
Const $SPI_SETWORKAREA = 47
Const $SPIF_SENDCHANGE = 2
$tRECT = DllStructCreate('int;int;int;int')
;DllStructSetData($tRECT, 1, 0) ; left
DllStructSetData($tRECT, 2, 0) ; top
DllStructSetData($tRECT, 3, IniRead(@ScriptDir & "\config.ini", "Options", "AufloesungBreite", "")) ; right
DllStructSetData($tRECT, 4, IniRead(@ScriptDir & "\config.ini", "Options", "AufloesungHoehe", "") - 30) ; buttom
_WinAPI_SystemParametersInfo($SPI_SETWORKAREA, 0, DllStructGetPtr($tRECT), $SPIF_SENDCHANGE)
Exit
EndFunc
Bin für jeden Tipp dankbar.
Grüße
CrazyER
Hallo zusammen,
ich würde mir gerne IN der Taskleiste eine GUI anzeigen lassen (genauer einen kleinen Ausschnitt von einer Website, aber das ist dann ja nicht das Problem). Ist das möglich ?? Wenn ja wie ??
Bin für jeden tipp dankbar.
Grüße
CrazyER
DANKE !! Auf die Idee wäre ich nie gekommen, das nur so ein #$&(")!§ Label drüber liegt.
Mein Aufbau chaotisch ?? Erzähl was neues ;o)
Hallo zusammen,
ich komme einfach nicht weiter, dabei ist es eigentlich nichts aussergewöhnliches. Wenn jemand bisschen Zeit investieren möchte, wäre ich sehr dankbar.
Hier mal mein Code
;*****************************************
;D3-ID-Agent.au3 by PS
;Erstellt mit ISN AutoIt Studio v. 0.8 BETA
;*****************************************
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Include <GuiButton.au3>
#include <IsPressedEx_UDF.au3>
#include <Forms\GUI_HELP.isf>
Opt("GUIOnEventMode", 1) ;0=disabled, 1=OnEvent mode enabled
Opt("TrayMenuMode", 3) ; Default tray menu items (Script Paused/Exit) will not be shown.
$GUI_Hilfe = TrayCreateItem("Hilfe")
[/autoit] [autoit][/autoit] [autoit]Global $Fehler = 0
[/autoit] [autoit][/autoit] [autoit]Global $oError = ObjEvent("AutoIt.Error", "MyErrFunc")
[/autoit] [autoit][/autoit] [autoit];----------------------------------------------------------------------------------------------------------
; Com Error Handler
;----------------------------------------------------------------------------------------------------------
Func MyErrFunc($oMyError)
MsgBox(16, "COM Error handler", "err.number is: " & @TAB & $oError.Number & @CRLF & _
"err.windescription:" & @TAB & $oError.windescription & @CRLF & _
"err.description is: " & @TAB & $oError.description & @CRLF & _
"err.source is: " & @TAB & $oError.source & @CRLF & _
"err.helpfile is: " & @TAB & $oError.helpfile & @CRLF & _
"err.helpcontext is: " & @TAB & $oError.helpcontext & @CRLF & _
"err.lastdllerror is: " & @TAB & $oError.lastdllerror & @CRLF & _
"err.scriptline is: " & @TAB & $oError.scriptline & @CRLF & _
"err.retcode is: " & @TAB & $oError.retcode & @CRLF & @CRLF)
EndFunc
$dll = DllOpen("user32.dll")
[/autoit] [autoit][/autoit] [autoit]While 1
Local $msg = TrayGetMsg()
Select
Case $msg = 0
Sleep(50)
If _IsPressedEx("{CTRL}+{F8}", $dll) Then
$Fehler = 0
SoundPlay(@ScriptDir & "\Bleep.wav")
$old_Memory = ClipGet()
Send("^c")
$Identnummer = ClipGet()
$Identnummer = _Check_Identnummer($Identnummer)
MsgBox(0, "", $Identnummer)
If $Fehler = 0 Then
_Check_Oracle($Identnummer)
ShellExecute(@ScriptDir & "\D3_ID.d3l")
Sleep(250)
If WinActive("d.3 Login") Then MsgBox(0, "D3-ID Agent", "Sie müssen Sich zuvor am D.3 System (WAK-Archiv) anmelden, bevor die Treffermenge angezeigt werden kann")
EndIf
ClipPut($old_Memory)
EndIf
ContinueLoop
Case $msg = $GUI_Hilfe
GUISetState(@SW_SHOW, $GUI_HELP)
EndSelect
WEnd
DllClose($dll)
Func _Check_Identnummer($Identnummer)
EndFunc
Func _Check_Oracle($Identnummer)
EndFunc
und hier noch die GUI_HELP.isf
; -- Created with ISN Form Studio 2 for ISN AutoIt Studio -- ;
[/autoit] [autoit][/autoit] [autoit]$GUI_HELP = GUICreate("D.3-ID Agent - Hilfe",350,293,-1,-1,$WS_CAPTION,-1)
GUICtrlCreatePic(@scriptdir&"\"&"Images\Agent.jpg",20,20,68,70,-1,-1)
GUICtrlSetState(-1,80)
GUICtrlCreateLabel("Mit dem D.3-ID Agent haben Sie die Möglichkeit, eine Identnummer in D.3 aus jeder Software heraus zu suchen. Gehen Sie wie folgt vor:",100,50,238,58,-1,8192)
GUICtrlSetState(-1,80)
GUICtrlCreateLabel("1. Markieren Sie die gewünschte Identnummer, nach der gesucht werden soll.",20,110,315,29,-1,-1)
GUICtrlSetState(-1,80)
GUICtrlCreateLabel("2. Drücken Sie nun die STRG + F8 Taste gleichzeitig.",20,140,308,22,-1,-1)
GUICtrlSetState(-1,80)
GUICtrlCreateLabel("3. Das d.explorer Fenster öffnet sich und zeigt Ihnen alle gefundenen Revisionen der markierten Identnummer an.",20,160,309,41,-1,-1)
GUICtrlSetState(-1,80)
GUICtrlCreateLabel("Sollten Sie Fragen oder Anregungen haben, können Sie sich gerne an den Helpdesk der WAK wenden.",20,210,317,80,-1,-1)
GUICtrlSetState(-1,80)
GUICtrlCreateLabel("D.3 ID Agent",120,10,171,38,-1,-1)
GUICtrlSetState(-1,80)
GUICtrlSetFont(-1,20,700,0,"Arial")
$OK = GUICtrlCreateButton("OK",120,250,100,30,-1,-1)
GUICtrlSetOnEvent(-1,"_HelpEND")
GUICtrlSetState(-1,512)
#cs
[gui]
title=D.3-ID Agent - Hilfe
breite=350
hoehe=293
style=$WS_CAPTION
exstyle=-1
bgcolour=0xF0F0F0
bgimage=none
handle=GUI_HELP
parent=
code=
[0x00181910]
handle=288
code=
type=image
x=20
y=20
width=68
height=70
text=
state=80
style=
exstyle=
textcolour=0x000000
bgcolour=0xF0F0F0
font=MS Sans Serif
fontsize=8
fontstyle=400
fontattribute=0
id=
func=
bgimage=Images\Agent.jpg
[0x00CA188A]
handle=289
code=
type=label
x=100
y=50
width=238
height=58
text=Mit dem D.3-ID Agent haben Sie die Möglichkeit, eine Identnummer in D.3 aus jeder Software heraus zu suchen. Gehen Sie wie folgt vor:
state=80
style=
exstyle=$BS_MULTILINE
textcolour=0x000000
bgcolour=0xF0F0F0
font=MS Sans Serif
fontsize=8
fontstyle=400
fontattribute=0
id=
func=
bgimage=
tabpage=-1
tooltip=
[0x0026186E]
handle=290
code=
type=label
x=20
y=110
width=315
height=29
text=1. Markieren Sie die gewünschte Identnummer, nach der gesucht werden soll.
state=80
style=
exstyle=
textcolour=0x000000
bgcolour=0xF0F0F0
font=MS Sans Serif
fontsize=8
fontstyle=400
fontattribute=0
id=
func=
bgimage=
[0x00071856]
handle=291
code=
type=label
x=20
y=140
width=308
height=22
text=2. Drücken Sie nun die STRG + F8 Taste gleichzeitig.
state=80
style=
exstyle=
textcolour=0x000000
bgcolour=0xF0F0F0
font=MS Sans Serif
fontsize=8
fontstyle=400
fontattribute=0
id=
func=
bgimage=
[0x012D189C]
handle=292
code=
type=label
x=20
y=160
width=309
height=41
text=3. Das d.explorer Fenster öffnet sich und zeigt Ihnen alle gefundenen Revisionen der markierten Identnummer an.
state=80
style=
exstyle=
textcolour=0x000000
bgcolour=0xF0F0F0
font=MS Sans Serif
fontsize=8
fontstyle=400
fontattribute=0
id=
func=
bgimage=
[0x000A1872]
handle=293
code=
type=label
x=20
y=210
width=317
height=80
text=Sollten Sie Fragen oder Anregungen haben, können Sie sich gerne an den Helpdesk der WAK wenden.
state=80
style=
exstyle=
textcolour=0x000000
bgcolour=0xF0F0F0
font=MS Sans Serif
fontsize=8
fontstyle=400
fontattribute=0
id=
func=
bgimage=
[0x00071850]
handle=294
code=
type=label
x=120
y=10
width=171
height=38
text=D.3 ID Agent
state=80
style=
exstyle=
textcolour=0x000000
bgcolour=0xF0F0F0
font=Arial
fontsize=20
fontstyle=700
fontattribute=0
id=
func=
bgimage=
tabpage=-1
tooltip=
[0x01DD1880]
handle=295
code=
type=button
x=120
y=250
width=100
height=30
text=OK
state=$GUI_DEFBUTTON
style=
exstyle=
textcolour=0x000000
bgcolour=0xF0F0F0
font=MS Sans Serif
fontsize=8
fontstyle=400
fontattribute=0
id=OK
func=_HelpEND
bgimage=
tabpage=-1
tooltip=
#ce
Beschreibung: Auf das TrayIcon klicken und Hilfe auswählen. Nun will ich eigentlich nur den OK Button klicken und das Fenster wieder schließen lassen. Also wirklich nichts spektakuläres, aber der Button reagiert nicht, bzw. lässt sich scheinbar nicht drücken.
Für jede Hilfe bin ich dankbar.
erstmal danke für die schnelle hilfe, aber irgendwie will es dennoch nicht. ich kann nicht mal den knopf drücken, so als ob die Schaltfläche deaktiviert wäre.
kann ich die Abfrage der Buttons nicht auch anderst machen ? Wenn ich den Code generieren lassen, dann bekomme ich doch auch meine gewohnte While Schleife, in denen ich meine Buttonfunktionen normalerweise eintragen kann.
Hallöchen,
das Teil ist ja genial. Aber wie kann ich Buttons ansprechen/abfragen, wenn ich die ISF includiert habe ??
ICh hab eine Button mit dem Handle $OK. Wie bekomme ich nun in meinem Script mit, das der Knopf gedrückt worden ist ?
Ich kann dem Button zwar eine Funktion hinterlegen bei Click, aber mein Button ist nichtmal drückbar?
Jemand eine Idee ??
Super danke, funktioniert. Auch wenn RegularExpressions nie mein Freund wird ;o)
Hallo zusammen,
ich weiß nicht warum mein Code nicht funktioniert, aber bestimmt gibt es auch eine elegantere Lösung.
Bin wie immer für jede kreative Idee dankbar.
$ID = "W442525"
If Not StringLeft($ID, 1) = "W" OR "H" OR "S" OR "Z" OR "M" OR "K" OR "F" OR "C" OR "E" Then
MsgBox(0, "D.3-ID Agent", "Es handelt sich um keine gültige Identnummer.")
$Fehler = 1
Return
EndIf
Grüße
CrazyER
Ich hab eine Anwendung, von der ich Daten abfragen muss.
Leider zeigt mir auch Window Info keine Sichtbaren-Daten an (zumindest nicht die, die ich benötige ;o))
http://imageshack.us/photo/my-images/545/bild1ob.jpg/
Wie bekomme ich es hin die Bestellnummer und Warenkorbnummer als $Variable zu erlangen ?? Gibt es sowas wie ein OnScreen OCR ?? oder kann ich ein ScreenCapture machen und davon ein OCR ??
Bin wie immer für jeden Tipp dankbar.