1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. HassanMullah

Beiträge von HassanMullah

  • Wie muss "ControlGetText" genau aussehen ?

    • HassanMullah
    • 13. Januar 2011 um 10:29

    Hallo,

    ich habe in einem Script erst auf die ID verwiesen. Die ändert sich aber ständig.

    Ich würde jetzt das folgendermaßen zusammen bauen, jedoch bin ich mir nicht sicher, ob das so geht.

    Hier mal ein Screenshot von der Anwendung:

    [Blockierte Grafik: http://www.hasenmueller.de/files4forum/pics4forum_17.png]

    Hier die Ausgabe aus dem Autoit Info Tool:

    Spoiler anzeigen
    Code
    >>>> Window <<<<
    Title:	WW +
    Class:	TFrmMain
    Position:	90, 182
    Size:	800, 600
    Style:	0x16CF0000
    ExStyle:	0x00010100
    Handle:	0x003803A0
    
    
    >>>> Control <<<<
    Class:	TDBEdit
    Instance:	6
    ClassnameNN:	TDBEdit6
    Name:	
    Advanced (Class):	[CLASS:TDBEdit; INSTANCE:6]
    ID:	590888
    Text:	27,66
    Position:	373, 142
    Size:	90, 32
    ControlClick Coords:	56, 25
    Style:	0x540008C0
    ExStyle:	0x00000200
    Handle:	0x00090428
    
    
    >>>> Mouse <<<<
    Position:	523, 391
    Cursor ID:	0
    Color:	0xFFFFFF
    
    
    >>>> StatusBar <<<<
    
    
    >>>> ToolsBar <<<<
    
    
    >>>> Visible Text <<<<
    Panel_Speedbar
    WL V 2.91  Do, 13.01.11  10:17:44
    Vorfälle-Wägemaske - anzeigen
    Single
     F11: Sammel
    &Waage umschalten
    F10: Hofliste
    F8: Drucken
    F7: Wiegen
    Verwiegung
     Baustelle / Position 
    2319,26
    3670,66
    170504 Boden und Steine ngA
    1732
    Divers
    WBL000748
    HW6GEWEKL-RodBodZ2+$3WBL000748
    128
     Qualität 
    Boden + Steine <= 400
    3126
     Spediteur 
    Gerst  GmbH
    175
     Kunde 
    Divers
    76189 
    Fettweisstr. 38
    Karlsruhe
    REMEX CONMIN GmbH
    42
    27,66
    27,66
     Fahrzeug 
    13,44
    NW-G 450
    2647
    frei Bau - Sattel/Zug
    frei Bau - Sattel/Zug
    Bar
    Tara
    Brutto
    13,44
    41,10
     Behälter (Nummer / Anzahl) 
    13,44
    41,10
     Sorte 
    Divers
    170504 Boden und Steine ngA
    12
    08:15
    08:12
    Lfs
    Lfs
    Eingang
    Eingang
    229508
    Verwogen
    Verwogen
    13.01.11
    13.01.11
    Systemparameter - anzeigen
    Umgebung
     Erlaubte Änderungen Fahrzeugstamm 
    Baustelle
    Sorte und Kunde
    Farbe Eingabefelder
    Panel3
     Export 
    C:\Temp\
    Neues Tara ohne Rückfrage buchen
    2
    2
    7,00
    16,00
    t
    t
    /ME
    /ME
    Euro
    Euro
    t
    t
    1
    WL
    02
    Hauptmenü - initialisieren
    Bewegungsdaten
    In&ventur Buchen
    Benachrichtigungen
    &Inventur
    Bestand &Lagerorte
    Be&triebstagebuch
    Vorfälle &nacherfassen
    &Wägemaske
    &Automatikbetrieb
    Aus&wertungen 2
    &Fakturierung
    Programm&ende
    A&uswertungen
    &Stammdaten
    &Bewegungsdaten
    
    
    
    
    >>>> Hidden Text <<<<
    Client 792 x 492
    MeBelegt
    
    
     Fuhrlohn Direkteingabe 
    /ME
     Sortenpreis Direkteingabe 
    /ME
     Zielland Lieferung 
    Standard (F)
    Standard
    Luxemburg
    Frankreich
    Deutschland
     Verpackung 
    Lose
     Achsverwiegung 
    &Intern
     Preise / Beträge 
    /ME
    et&c.
     Sonstiges 
    LKW
     Waage 
    t
    Euro
    Multi
    Stornos
    Wgs
    Abl.
    Anl.
    13.01.2011
    rgDatum
    Alle
    Jahr
    Monat
    Woche
    Tag
    Parameter
    WaaPoll=250
    DruckProtNr=1
    Fuhrlohn_Zwingend=0
    FrmPraefix=GENERATOR
    Baustellenpositionen-Sorte=0
    Baustellenpositionen=AEB6C7BA
    Qualitäten=BDCAB3B3
    BastKundFilter=0
    Abfragehäufigkeit Benachricht. (min)=1
    SortenPreisJeTonne=1
    KeinWiederholWiegen=1
    KFZ_NrZuerst=0
    Verzeichnisse
    Export-Dateien
     Export-Dateien 
    Stammdaten
    K&örperdaten
    &Rezepturen
    Ko&stenstellen
    Fahrzeug&typen
    &Entsorgungsnachweise
    &Zahlungsbedingungen
    Sorten&gruppen
    Be&hälter
    S&orten
    &Baustellen
    S&pediteure
    &Fahrzeuge
    &Kunden
    Alles anzeigen

    und hier die Zeile, wie ich es machen würde:

    [autoit]


    WinActive("WW +")
    WinActivate("WW +")
    $varReadNetto = ControlGetText("WW +", "Vorfälle-Wägemaske - anzeigen", "[CLASS:TDBEdit; INSTANCE:6]")

    [/autoit]

    Passt das so, oder würdet Ihr das anderst angehen ?

    Gruss Hassan

  • Autoit EXE an Taskleiste anheften (Windows 7)

    • HassanMullah
    • 22. Dezember 2010 um 07:59

    Hallo E.T.

    OK das Prinzip habe ich verstanden. Da ich aber vermutlich eine von mir kompilierte "MeineAutoit.exe" nicht mit "Autit.exe" aufrufen kann, wird das wohl nicht funktionieren. Das ganze geht vermutlich nur mit den *.au3 Dateien.

    Wenn ich mal Zeit finde, werde ich die Autoit.exe welche bei mir funktioniert Step by Step auskommentieren. Irgendwann wird ja dann die Funktion "anheften" verschwinden. So denke ich werden wir der Sache uns annähern.

  • Funktion mit Tastenkürzel starten

    • HassanMullah
    • 20. Dezember 2010 um 09:17

    Hallo zusammen,

    ich habe eine kleine EXE, welche eigentlich schon funktioniert. Da ich diese - wie in einem anderen Thread beschrieben - nicht an die Taskleiste heften kann, würde ich die EXE gerne im Hintergrund laufen lassen. Dazu würde ich gerne mit Strg+Alt+L die Hauptfunktion aufrufen und mit Alt+ESC die EXE beenden.

    Könnte Ihr mir hier etwas Code posten, damit ich weiss, wo ich was reintun muss ?

    Danke

    Gruss Hassan

  • Autoit EXE an Taskleiste anheften (Windows 7)

    • HassanMullah
    • 20. Dezember 2010 um 08:29

    Guten Morgen zusammen,

    da habe ich ja ein nette Diskussion ausgelöst :rofl:

    @r!zz3: Vielleicht ist Deine Erklärung richtig, aber nicht ganz durchdacht. Ich habe ja weiter oben bereits 2 Screenshots gezeigt, von 2 verschiedenen Autoit EXEn, wovon eine sich anheften lässt.

    Gruss Hassan

  • Autoit EXE an Taskleiste anheften (Windows 7)

    • HassanMullah
    • 17. Dezember 2010 um 14:26

    Pfeile sind da. Die Eigenschaft ob das im Kontextmenü angezeigt wird vererbt sich auf die Verknüpfung, d.h. auch die Verknüpfung kann nicht in die Taskleiste gezogen werden.

  • Autoit EXE an Taskleiste anheften (Windows 7)

    • HassanMullah
    • 17. Dezember 2010 um 13:37

    Hi Milla, das hatte ich auch schon versucht. Das ging auch nicht

  • Autoit EXE an Taskleiste anheften (Windows 7)

    • HassanMullah
    • 17. Dezember 2010 um 13:07

    Erst mal danke an alle. Anscheinend ist das doch nicht so einfach. Also ob rechte oder linke Maustaste ist egal

    Hier mal 2 Screenshots. Habe die beiden Autoit EXEn in ein Verzeichnis gelegt, damit Ihr es sehen könnt.

    [Blockierte Grafik: http://www.hasenmueller.de/files4forum/pics4forum_12.png]
    [Blockierte Grafik: http://www.hasenmueller.de/files4forum/pics4forum_13.png]

    Gruss Hassan

  • Autoit EXE an Taskleiste anheften (Windows 7)

    • HassanMullah
    • 17. Dezember 2010 um 08:32

    Guten Morgen

    ich habe eine kleine Autoit EXE geschrieben, welche ich an die Windows 7 Taskleiste anheften möchte. Jedoch wird mir dies über das Contextmenü nicht angeboten.

    Wenn ich jedoch auf eine andere Autoit EXE gehe, bekomme ich diesen Menü Punkt angezeigt.

    Ich gehe jetzt mal davon aus, das in der EXE irgendeine Eigenschaft vorhanden sein muss, damit das im Context Menü erscheint.

    Was brauche ich hier genau ?

    Gruss Hassan

  • versteckte Control IDs beschreiben ?

    • HassanMullah
    • 16. Dezember 2010 um 16:02

    Hallo zusammen,

    Danke für die Info. Vielleicht habe ich mich falsch ausgedrückt, aber Chip hat es auf den Punkt gebracht. Das Feld ist beim Starten der Email noch nicht sichtbar. Also die Frage ist eigentlich, ob ich gleich den ControlSend abschicken kann, oder ob ich mich erst an die Stelle hin navigieren muss.

  • versteckte Control IDs beschreiben ?

    • HassanMullah
    • 16. Dezember 2010 um 14:48

    Hallo,

    mal eine Frage. Wenn ich eine externe Anwendung habe - im konkreten Fall Lotus Notes - und möchte dort ein Feld beschreiben, welches aber erst mal nicht sichtbar ist, kann ich dieses dann direkt adressieren ?

    Für diejenigen die Lotus Notes nicht haben, nicht kennen oder sich nicht damit rumstreiten müssen anbei noch ein paar Screenshots:

    [Blockierte Grafik: http://www.hasenmueller.de/files4forum/pics4forum_10.png]

    [Blockierte Grafik: http://www.hasenmueller.de/files4forum/pics4forum_11.png]


    Ich habe mal Lotus Notes auf 2 verschiedenen Rechner mit Autoit Info verglichen. Der 2. Spoiler wurde schon bereinigt, d.h. dort war dann mit dem 2. Rechner alles gleich, außer der ID (siehe im Text)

    Hier mal die Ergebnisse:

    Spoiler anzeigen
    Code
    >>>> Window <<<<
    Title:	IBM Lotus Notes
    Class:	SWT_Window0
    Position:	-4, -4
    Size:	1608, 856
    Style:	0x97CF0000
    ExStyle:	0x00100100
    Handle:	0x000602C8
    
    
    >>>> Control <<<<
    Class:	IRIS.bmpbutton
    Instance:	40
    ClassnameNN:	IRIS.bmpbutton40
    Name:	
    Advanced (Class):	[CLASS:IRIS.bmpbutton; INSTANCE:40]  <=== ist IMMER unterschiedlich
    ID:	1610760201  <== ist IMMER gleich
    Text:	Zustelloptionen...
    Position:	368, 75
    Size:	102, 27
    ControlClick Coords:	36, 17
    Style:	0x50030000
    ExStyle:	0x00000000
    Handle:	0x000A0F70
    
    
    >>>> Mouse <<<<
    Position:	408, 134
    Cursor ID:	0
    Color:	0x004080
    Alles anzeigen

    und hier dann, wenn man auf Zustelloptionen... geklickt hat:

    Spoiler anzeigen
    Code
    >>>> Window <<<<
    Title:	Zustelloptionen
    Class:	#32770
    Style:	0x94C009C4
    ExStyle:	0x00010501
    
    
    >>>> Control <<<<
    Class:	IRIS.tedit
    Instance:	1
    ClassnameNN:	IRIS.tedit1
    Name:	
    Advanced (Class):	[CLASS:IRIS.tedit; INSTANCE:1]
    ID:	4067 <=== diese ID ist IMMER anderst
    Text:	
    Position:	19, 220
    Size:	223, 19
    Style:	0x54800080
    ExStyle:	0x00000000
    Alles anzeigen

    Wie würdet Ihr das angehen ?

    Gruss Hassan

  • 2 Fragen zu GUICtrlCreateInput

    • HassanMullah
    • 16. Dezember 2010 um 11:16

    Danke hat geklappt :thumbup:

    Kann man eigentlich gegen das Flackern machen ? Also nur "Noch xxx Zeichen" flackert, wenn man die Maus bewegt.

  • 2 Fragen zu GUICtrlCreateInput

    • HassanMullah
    • 16. Dezember 2010 um 09:28

    Guten Morgen,

    mal 2 Fragen zu

    [autoit]

    GUICtrlCreateInput

    [/autoit]

    1.) Ich möchte damit ein optionales Text Eingabefeld verwirklichen. Hierbei sollen z.B. nur 60 Zeichen möglich sein.

    Ich würde gerne rechts von dem Feld die Zeichen runterzählen lassen (also nach dem Stil: ... noch 43 Zeichen | ... noch 16 Zeichen) während der Benutzer die Zeile befüllt. Wenn dann 61 Zeichen geschrieben werden, soll der Hintergrund Rot werden

    2.) Wie kann man in so einem Feld einen horizontalen Scrollbalken einblenden lassen, wenn der Text länger ist, als das Feld (hat nichts mit Frage 1 zu tun!)

    Danke

    Gruss Hassan

  • Statusbar unsauber

    • HassanMullah
    • 14. Dezember 2010 um 13:19

    OK hier mal der Code:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Opt("GUIOnEventMode", 0) ; Wechsle nicht in den OnEvent Modus
    Opt("GUICoordMode", 1)

    [/autoit] [autoit][/autoit] [autoit]

    _IfDate("02.11.2012")
    Signatur()

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func Signatur()
    #Region
    Local $defaultstatus = "Bereit zum Signieren", $status, $varMenuDatei, $varMenuDateiOeffnen
    Local $varMenuHilfe, $varMenuHilfeInfo, $varMenuDateiBeenden
    Local $viewmenu, $viewstatusitem
    Local $statuslabel, $msg, $varFile4Signatur, $varxxxBildID
    Dim $varMainWindowHeight, $varMainWindowWidth, $varMainGUI
    #EndRegion

    [/autoit] [autoit][/autoit] [autoit]

    #Region
    DirCreate(@TempDir & "\xxx\")
    $varTempDirxxx = (@TempDir & "\xxx\")
    FileInstall(".\xxxCodeSign_until_02122012.spc", $varTempDirxxx)
    FileInstall(".\signcode.exe", $varTempDirxxx)
    FileInstall(".\xxx.pvk", $varTempDirxxx)
    FileInstall("..\..\..\Bilder\BMP\xxx_ssd_roter_rahmen.bmp", $varTempDirxxx)
    #EndRegion

    [/autoit] [autoit][/autoit] [autoit]

    #Region
    $varMainWindowWidth = ("700")
    $varMainWindowHeight = ("500")
    ;Hauptfenster wird erzeugt
    $varMainGUI = GUICreate("CodeSigner", $varMainWindowWidth, $varMainWindowHeight, Default, Default, $WS_SIZEBOX, $WS_EX_ACCEPTFILES); Fenster erzeugen
    GUISetState(@SW_SHOW) ; will display an empty dialog box
    ;GUISetBkColor(0x00616561)
    ;GUISetFont(12, Default, Default, "Verdana")
    #EndRegion

    [/autoit] [autoit][/autoit] [autoit]

    #Region
    ;Bild als Überschrift einfügen
    $varxxxBildID = GUICtrlCreatePic($varTempDirxxx & "\xxx_ssd_roter_rahmen.bmp", -1, -1, 200, 50)
    GUICtrlSetPos($varxxxBildID, 250, 380)
    #EndRegion

    [/autoit] [autoit][/autoit] [autoit]

    #Region
    ;Menüleiste DATEI einbauen
    $varMenuDatei = GUICtrlCreateMenu("&Datei")
    $varMenuDateiOeffnen = GUICtrlCreateMenuItem("&Öffnen", $varMenuDatei)
    $varMenuDateiBeenden = GUICtrlCreateMenuItem("&Beenden", $varMenuDatei)
    ;Menüleite ? einbauen
    $varMenuHilfe = GUICtrlCreateMenu("&?")
    $varMenuHilfeInfo = GUICtrlCreateMenuItem("&Info", $varMenuHilfe)
    ;Menüleite ANSICHT einbauen
    ;~ $viewmenu = GUICtrlCreateMenu("&Ansicht", -1, 1)
    ;~ $viewstatusitem = GUICtrlCreateMenuItem("Statusbar", $viewmenu)
    ;~ GUICtrlSetState(-1, $GUI_UNCHECKED)
    $statuslabel = GUICtrlCreateLabel($defaultstatus, -1, -1, $varMainWindowWidth, 17, BitOR($SS_SIMPLE, $SS_SUNKEN))
    GUICtrlSetPos($statuslabel, 0, 443)
    $varToDoFrame = GUICtrlCreateLabel("", -1, -1, $varMainWindowWidth - 40, 150, $SS_BLACKFRAME)
    GUICtrlSetPos($varToDoFrame, 20, 15)
    $varToDoAnleitung = GUICtrlCreateLabel(" Anleitung", -1, -1, Default, Default)
    GUICtrlSetPos($varToDoAnleitung, 40, 9)
    $varToDoText = GUICtrlCreateLabel("Mit dieser Anwendung können Softwareentwickler Ihre für Windows entwickelte Software digital signieren" & @CRLF & @CRLF & "Es können Dateien im 32 Bit und 64 Bit Benutzermodus (*.exe, *.cab, *.dll, *.ocx, *.msi und *.xpi Dateien) sowie Kernel Mode Software signiert werden" & @CRLF & @CRLF & "Hierzu haben Sie zwei verschiedene Möglichkeiten" & @CRLF & @CRLF & "1. Sie suchen über 'Datei - Öffnen' die entsprechende Datei heraus und klicken dann auf den 'Signieren' Button" & @CRLF & "2. Sie ziehen die zu signierende Datei per 'Drag && Drop' auf die entsprechende Schaltfläche (die zu bevorziehende Methode)", -1, -1, $varMainWindowWidth - 80, 120)
    GUICtrlSetPos($varToDoText, 40, 30)
    $varAnleitungSignieren = GUICtrlCreateLabel("Bitte ziehen Sie die zu signierende Datei per Drag && Drop in das unten stehende Feld", -1, -1, 400, 30)
    GUICtrlSetPos($varAnleitungSignieren, 150, 190)
    $varDragAndDropField = GUICtrlCreateInput("", 150, 220, 400, 80)
    GUICtrlSetState(-1, $GUI_DROPACCEPTED)
    $varSignierenButton = GUICtrlCreateButton("Signieren", 150, 320, 100, 40)
    $varLoeschenButton = GUICtrlCreateButton("Löschen", 300, 320, 100, 40)
    $varBeendenButton = GUICtrlCreateButton("Beenden", 450, 320, 100, 40)

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    GUISetState()
    #EndRegion

    [/autoit] [autoit][/autoit] [autoit]

    ; Ab hier Schleife
    #Region
    While 1
    $msg = GUIGetMsg()

    [/autoit] [autoit][/autoit] [autoit]

    If $msg = $varMenuDateiOeffnen Then
    $varSystemDrive = EnvGet("SystemDrive")
    $varFile4Signatur = FileOpenDialog("Bitte zu signierende Datei auswählen...", $varSystemDrive & "\", "EXE / DLL (*.*)")
    WinWaitActive("Bitte zu signierende Datei auswählen...", "", 1)
    WinSetState("Bitte zu signierende Datei auswählen...", "", @SW_SHOW)
    ControlSend("CodeSigner", "", 16, $varFile4Signatur, 1)
    EndIf
    If $msg = $viewstatusitem Then
    If BitAND(GUICtrlRead($viewstatusitem), $GUI_CHECKED) = $GUI_CHECKED Then
    GUICtrlSetState($viewstatusitem, $GUI_UNCHECKED)
    GUICtrlSetState($statuslabel, $GUI_HIDE)
    Else
    GUICtrlSetState($viewstatusitem, $GUI_CHECKED)
    GUICtrlSetState($statuslabel, $GUI_SHOW)
    EndIf
    EndIf
    If $msg = $varMenuHilfeInfo Then MsgBox(64, "Info", "Coded by xxx & @CRLF & @CRLF & "Aktuell ist das Zertifikat bis zum 02. Dezember 2012 gültig !")
    If $msg = $varSignierenButton Then
    $statuslabel = GUICtrlCreateLabel("Datei " & GUICtrlRead($varDragAndDropField) & " wird signiert", -1, -1, $varMainWindowWidth, 17, BitOR($SS_SIMPLE, $SS_SUNKEN))
    GUICtrlSetPos($statuslabel, 0, 443)
    $varRunZeil = Run('"' & $varTempDirxxx & 'signcode.exe" -spc xxxCodeSign_until_02122012.spc -v xxx.pvk -a sha1 "' & GUICtrlRead($varDragAndDropField) & '"', $varTempDirxxx, @SW_HIDE)
    Sleep(200)
    ControlSend("Kennwort für privaten Schlüssel eingeben", "", 501, "xxx", 1)
    Sleep(200)
    ControlClick("Kennwort für privaten Schlüssel eingeben", "", 1)
    EndIf
    If $msg = $varLoeschenButton Then
    GUICtrlSetData($varDragAndDropField, "")
    $statuslabel = GUICtrlCreateLabel(" ", -1, -1, $varMainWindowWidth, 17, BitOR($SS_SIMPLE, $SS_SUNKEN))
    GUICtrlSetPos($statuslabel, 0, 443)
    $statuslabel = GUICtrlCreateLabel($defaultstatus, -1, -1, $varMainWindowWidth, 17, BitOR($SS_SIMPLE, $SS_SUNKEN))
    GUICtrlSetPos($statuslabel, 0, 443)
    EndIf
    If $msg = $GUI_EVENT_CLOSE Or $msg = $varMenuDateiBeenden Or $msg = $varBeendenButton Then ExitLoop
    WEnd
    DirRemove(@TempDir & "\xxx\", 1)
    GUIDelete()
    #EndRegion

    [/autoit] [autoit][/autoit] [autoit]

    EndFunc ;==>Signatur

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func _IfDate($Date)
    $DateSplit = StringSplit($Date, ".")

    [/autoit] [autoit][/autoit] [autoit]

    $DateMDAY = $DateSplit[1]
    $DateMON = $DateSplit[2]
    $DateYEAR = $DateSplit[3]
    $NewDate = $DateYEAR & $DateMON & $DateMDAY

    [/autoit] [autoit][/autoit] [autoit]

    If $NewDate < @YEAR & @MON & @MDAY Then
    ElseIf $NewDate <= @YEAR & @MON & @MDAY Then
    MsgBox(48, "Zertifikatsprüfung", "Am 02. Dezember 2010 läuft das Zertifikat zum Signieren von Dateien aus.")
    ElseIf $NewDate > @YEAR & @MON & @MDAY Then
    MsgBox(64, "Zertifikatsprüfung", "Das Zertifikat ist noch gültig.", 2)
    EndIf
    EndFunc ;==>_IfDate

    [/autoit] [autoit][/autoit] [autoit]

    Exit

    [/autoit]
  • Statusbar unsauber

    • HassanMullah
    • 14. Dezember 2010 um 11:46

    Hallo,

    ich habe ein kleines Problem mit meiner Statusbar. Sie "flackert". Ich vermute das ich hier nicht sauber code, aber mir fehlt hier noch das Knowhow

    Hier mal der Schnipsel:

    [autoit]

    $statuslabel = GUICtrlCreateLabel(" ", -1, -1, $varMainWindowWidth, 17, BitOR($SS_SIMPLE, $SS_SUNKEN))
    GUICtrlSetPos($statuslabel, 0, 443)
    $statuslabel = GUICtrlCreateLabel($defaultstatus, -1, -1, $varMainWindowWidth, 17, BitOR($SS_SIMPLE, $SS_SUNKEN))
    GUICtrlSetPos($statuslabel, 0, 443)

    [/autoit]

    Hat mir mal bitte jemand ein Beispiel wie man sowas aufbaut. Also je nachdem ob ich Button 1, 2 oder 3 drücke möchte ich eine andere Meldung in der Status Bar

    Gruss Hassan

  • Welcher Befehl hinter "Leeren" Button =

    • HassanMullah
    • 12. Dezember 2010 um 13:21

    Servus,

    mit folgender Codezeile:

    [autoit]

    $varDragAndDropField = GUICtrlCreateInput("", 150, 180, 400, 100)
    GUICtrlSetState(-1, $GUI_DROPACCEPTED)

    [/autoit]

    kann ich per Drag und Drop ein Inputfeld bestücken. Jetzt würde ich gerne einen "Leeren" oder "Löschen" Knopf einbauen, der den Text aus dem Inputfeld löscht.
    Gibt es hier einen speziellen Befehl oder muss man sich da was bauen ?

    Gruss und schönes Wochenende

    Hassan

  • Run Befehl löst Zeile falsch auf

    • HassanMullah
    • 10. Dezember 2010 um 10:41

    Hallo zusammen.

    In einem anderen Thread habe ich schon mal den gleich Abschnitt veröffentlich, aber diesmal geht es um ein anderes Problem.

    Hier mein Code:

    [autoit]

    If $msg = $varSignierenButton Then
    $varRunZeile = Run($varTempDirFum & "\signcode.exe -spc FuMCodeSign_until_02122012.spc -v fum.pvk -a sha1 " & GUICtrlRead($varDragAndDropField), $varTempDirFum, @SW_SHOW)
    MsgBox(0, "Run Zeile", $varRunZeile)
    WinActivate("Kennwort für privaten Schlüssel eingeben", "")
    Sleep(200)
    ControlSend("Kennwort für privaten Schlüssel eingeben", "", 501, "test")
    Sleep(1000)
    ControlClick("Kennwort für privaten Schlüssel eingeben", "", 1)
    EndIf

    [/autoit]

    Da ich die Run Befehlszeile einer Batchdatei nachgebaut habe, jedoch die EXE Datei danach immer noch nicht signiert ist (was bei der Batch aber geht), habe ich zur Kontrolle mal die Messagebox mit eingebaut. Eigentlich habe ich hier eine Zeile mit Pfad und Programmen und Parametern erwartet.

    Ich bekomme aber nur 4stellige Zahlen.

    Also entweder interpretiert hier jemand was falsch, oder ich will wirklich 4-stellige Zahlen signieren, was ja sicherlich nicht gehen wird :rofl:

    Irgendwelche Ideen ?

  • Frage zu GUI Stile

    • HassanMullah
    • 10. Dezember 2010 um 10:07

    Danke, die Tabelle kannte ich schon. OK dann bin ich mal gespannt, wie ich damit zu recht komme ;)

  • ControlSend funktioniert nicht

    • HassanMullah
    • 10. Dezember 2010 um 10:05

    Hallo zusammen,

    anbei mal mein ein Codeausschnitt:

    [autoit]

    If $msg = $varSignierenButton Then
    Run($varTempDirFum & "\signcode.exe -spc FuMCodeSign_until_02122012.spc -v fum.pvk -a sha1 " & GUICtrlRead($varDragAndDropField), $varTempDirFum, @SW_SHOW)
    WinActivate("Kennwort für privaten Schlüssel eingeben", Default)
    Sleep(200)
    ControlSend("Kennwort für privaten Schlüssel eingeben", Default, 501, "ganzargstrenggeheim")
    Sleep(1000)
    ControlClick("Kennwort für privaten Schlüssel eingeben", Default, 1)
    EndIf

    [/autoit]

    Wenn ich in meiner GUI auf den "signieren" Button klicke, komme ich in die IF Schleife. Die Anwendung Signcode.exe verlangt aber ein Kennwort - hier im Beispiel "ganzargstrenggeheim".

    Zur Eingabe wird von Signcode.exe eine kleine GUI geöffnet. Anbei mal noch die Info aus AU3 Windows Info.

    Das Problem ist, dass das Kennwort nicht eingetragen wird und "vermutlich die OK Taste (ID1) nicht gedrückt wird.

    Spoiler anzeigen
    Zitat

    >>>> Window <<<<
    Title: Kennwort für privaten Schlüssel eingeben
    Class: #32770
    Position: 167, 159
    Size: 317, 207
    Style: 0x94C801C4
    ExStyle: 0x00010101
    Handle: 0x000D04FC

    >>>> Control <<<<
    Class: Edit
    Instance: 1
    ClassnameNN: Edit1
    Name:
    Advanced (Class): [CLASS:Edit; INSTANCE:1]
    ID: 501
    Text:
    Position: 95, 55
    Size: 186, 20
    ControlClick Coords: 37, 10
    Style: 0x500100A0
    ExStyle: 0x00000204
    Handle: 0x000F081C

    >>>> Mouse <<<<
    Position: 135, 87
    Cursor ID: 0
    Color: 0xFFFFFF

    >>>> StatusBar <<<<

    >>>> ToolsBar <<<<

    >>>> Visible Text <<<<
    Schlüssel:
    Herausgeber
    &Kennwort:
    OK
    Abbrechen


    >>>> Hidden Text <<<<

    Alles anzeigen
  • Frage zu GUI Stile

    • HassanMullah
    • 10. Dezember 2010 um 09:52

    Hallo Milla,

    OK, das habe ich verstanden. Aber zur besseren Lesbarkeit verwende ich trotzdem Worte und nicht 0 und 1, oder ?

  • Frage zu GUI Stile

    • HassanMullah
    • 10. Dezember 2010 um 08:52

    Hallo,

    eines habe ich bei den ganze GUIs noch nicht verstanden. Es gibt "Standartstile" und "erweitere Stile". Richtig ?

    Wenn ich sowohl die Standartstile, als auch die erweiterten Stile kombinieren möchte (also beide extra - nicht Standart mit Erweitert), sollte der Aufruf dann so aussehen ?:

    GUICreate ( "title", width, height, left, top,BitOr(style1,style2,style3) ,BitOr(exStyle1,exStyle2,exStyle3))

    Also mit BitOr werden die Stile "zusammengeführt" ?

    Gruss Hassan

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™