Bestimmtes Programm wählen, wenn Datei geöffnet wird

  • Vielen lieben Dank für eure Hilfe, Gedanken und Meinungen.

    @progandy
    Hab es auf 300 erhöht um zu schauen, wo ein Ende ist.
    Folgendes war das Ergebnis:

    Spoiler anzeigen


    +Index: 0
    Name
    +Index: 1
    Größe
    +Index: 2
    Elementtyp
    +Index: 3
    Änderungsdatum
    +Index: 4
    Erstelldatum
    +Index: 5
    Letzter Zugriff
    +Index: 6
    Attribute
    +Index: 7
    Offlinestatus
    +Index: 8
    Offline verfügbar
    +Index: 9
    Erkannter Typ
    +Index: 10
    Besitzer
    +Index: 11
    Art
    +Index: 12
    Aufnahmedatum
    +Index: 13
    Mitwirkende Interpreten
    +Index: 14
    Album
    +Index: 15
    Jahr
    +Index: 16
    Genre
    +Index: 17
    Dirigenten
    +Index: 18
    Markierungen
    +Index: 19
    Bewertung
    +Index: 20
    Autoren
    +Index: 21
    Titel
    +Index: 22
    Thema
    +Index: 23
    Kategorien
    +Index: 24
    Kommentare
    +Index: 25
    Copyright
    +Index: 26
    Titelnummer
    +Index: 27
    Länge
    +Index: 28
    Bitrate
    +Index: 29
    Geschützt
    +Index: 30
    Kameramodell
    +Index: 31
    Abmessungen
    +Index: 32
    Kamerahersteller
    +Index: 33
    Firma
    +Index: 34
    Dateibeschreibung
    +Index: 35
    Programmname
    +Index: 36
    Dauer
    +Index: 37
    Ist online
    +Index: 38
    Periodisch wiederkehrend
    +Index: 39
    Ort
    +Index: 40
    Adressen der optionalen Teilnehmer
    +Index: 41
    Optionale Teilnehmer
    +Index: 42
    Organisatoradresse
    +Index: 43
    Organisatorname
    +Index: 44
    Erinnerungszeit
    +Index: 45
    Adressen der erforderlichen Teilnehmer
    +Index: 46
    Erforderliche Teilnehmer
    +Index: 47
    Ressourcen
    +Index: 48
    Besprechungsstatus
    +Index: 49
    Status frei/besetzt
    +Index: 50
    Gesamtgröße
    +Index: 51
    Kontoname
    +Index: 52
    Aufgabenstatus
    +Index: 53
    Computer
    +Index: 54
    Jahrestag
    +Index: 55
    Name des Assistenten
    +Index: 56
    Telefonnummer des Assistenten
    +Index: 57
    Geburtstag
    +Index: 58
    Geschäftsadresse
    +Index: 59
    Ort (geschäftlich)
    +Index: 60
    Land/Region (geschäftlich)
    +Index: 61
    Postfach (geschäftlich)
    +Index: 62
    Postleitzahl (geschäftlich)
    +Index: 63
    Bundesland/Kanton (geschäftlich)
    +Index: 64
    Straße (geschäftlich)
    +Index: 65
    Fax (geschäftlich)
    +Index: 66
    Homepage (geschäftlich)
    +Index: 67
    Rufnummer (geschäftlich)
    +Index: 68
    Rückrufnummer
    +Index: 69
    Autotelefon
    +Index: 70
    Kinder
    +Index: 71
    Zentrale Firmenrufnummer
    +Index: 72
    Abteilung
    +Index: 73
    E-Mail-Adresse
    +Index: 74
    E-Mail2
    +Index: 75
    E-Mail3
    +Index: 76
    E-Mail-Liste
    +Index: 77
    E-Mail-Anzeigename
    +Index: 78
    Speichern unter
    +Index: 79
    Vorname
    +Index: 80
    Vollständiger Name
    +Index: 81
    Geschlecht
    +Index: 82
    Gegebener Name
    +Index: 83
    Hobbies
    +Index: 84
    Privatadresse
    +Index: 85
    Ort (privat)
    +Index: 86
    Land/Region (privat)
    +Index: 87
    Postfach (privat)
    +Index: 88
    Postleitzahl (privat)
    +Index: 89
    Bundesland/Kanton (privat)
    +Index: 90
    Straße (privat)
    +Index: 91
    Fax (privat)
    +Index: 92
    Rufnummer (privat)
    +Index: 93
    IM-Adressen
    +Index: 94
    Initialen
    +Index: 95
    Position
    +Index: 96
    Bezeichnung
    +Index: 97
    Nachname
    +Index: 98
    Adresse
    +Index: 99
    Zweiter Vorname
    +Index: 100
    Mobiltelefon
    +Index: 101
    Spitzname
    +Index: 102
    Bürostandort
    +Index: 103
    Weitere Adresse
    +Index: 104
    Andere Stadt
    +Index: 105
    Anderes Land/Region
    +Index: 106
    Anderes Postfach
    +Index: 107
    Andere Postleitzahl
    +Index: 108
    Anderes Bundesland bzw. Kanton
    +Index: 109
    Andere Straße
    +Index: 110
    Pager
    +Index: 111
    Persönlicher Titel
    +Index: 112
    Stadt
    +Index: 113
    Land/Region
    +Index: 114
    Postfach
    +Index: 115
    Postleitzahl
    +Index: 116
    Bundesland/Kanton
    +Index: 117
    Straße
    +Index: 118
    Primäre E-Mail
    +Index: 119
    Primäre Telefonnummer
    +Index: 120
    Beruf
    +Index: 121
    Ehepartner/Partner
    +Index: 122
    Suffix
    +Index: 123
    TTY/TTD-Telefon
    +Index: 124
    Telex
    +Index: 125
    Webseite
    +Index: 126
    Inhaltstatus
    +Index: 127
    Inhaltstyp
    +Index: 128
    Erfassungsdatum
    +Index: 129
    Archivierungsdatum
    +Index: 130
    Vollendungsdatum
    +Index: 131
    Gerätekategorie
    +Index: 132
    Verbindung hergestellt
    +Index: 133
    Erkennungsmethode
    +Index: 134
    Anzeigename
    +Index: 135
    Lokaler Computer
    +Index: 136
    Hersteller
    +Index: 137
    Modell
    +Index: 138
    Paarweise
    +Index: 139
    Klassifizierung
    +Index: 140
    Gerätestatus
    +Index: 141
    Clientkennung
    +Index: 142
    Mitwirkende
    +Index: 143
    Inhalt erstellt
    +Index: 144
    Zuletzt gedruckt
    +Index: 145
    Letzte Speicherung
    +Index: 146
    Hauptabteilung
    +Index: 147
    Dokument-ID
    +Index: 148
    Seiten
    +Index: 149
    Folien
    +Index: 150
    Gesamtbearbeitungszeit
    +Index: 151
    Wortanzahl
    +Index: 152
    Fällig am
    +Index: 153
    Enddatum
    +Index: 154
    Dateianzahl
    +Index: 155
    Dateiname
    +Index: 156
    Dateiversion
    +Index: 157
    Kennzeichnungsfarbe
    +Index: 158
    Kennzeichnungsstatus
    +Index: 159
    Freier Speicherplatz
    +Index: 160
    Bittiefe
    +Index: 161
    Horizontale Auflösung
    +Index: 162
    Breite
    +Index: 163
    Vertikale Auflösung
    +Index: 164
    Höhe
    +Index: 165
    Wichtigkeit
    +Index: 166
    Anlage?
    +Index: 167
    Ist gelöscht
    +Index: 168
    Verschlüsselungsstatus
    +Index: 169
    Kennzeichnung vorhanden
    +Index: 170
    Wurde beendet
    +Index: 171
    Unvollständig
    +Index: 172
    Lesestatus
    +Index: 173
    Ersteller
    +Index: 174
    Datum
    +Index: 175
    Ordnername
    +Index: 176
    Ordnerpfad
    +Index: 177
    Ordner
    +Index: 178
    Teilnehmer
    +Index: 179
    Pfad
    +Index: 180
    Nach Ort
    +Index: 181
    Typ
    +Index: 182
    Kontaktnamen
    +Index: 183
    Eintragstyp
    +Index: 184
    Sprache
    +Index: 185
    Letzter Besuch
    +Index: 186
    Beschreibung
    +Index: 187
    Verknüpfungsstatus
    +Index: 188
    Verknüpfungsziel
    +Index: 189
    URL
    +Index: 190
    Medium erstellt
    +Index: 191
    Veröffentlichungsdatum
    +Index: 192
    Codiert durch
    +Index: 193
    Produzenten
    +Index: 194
    Herausgeber
    +Index: 195
    Untertitel
    +Index: 196
    Benutzerweb-URL
    +Index: 197
    Texter
    +Index: 198
    Anlagen
    +Index: 199
    BCC-Adressen
    +Index: 200
    BCC
    +Index: 201
    CC-Adressen
    +Index: 202
    CC
    +Index: 203
    Unterhaltungs-ID
    +Index: 204
    Empfangsdatum
    +Index: 205
    Absendungsdatum
    +Index: 206
    Von Adressen
    +Index: 207
    Von
    +Index: 208
    Hat Anlagen
    +Index: 209
    Absenderadresse
    +Index: 210
    Absendername
    +Index: 211
    Speicher
    +Index: 212
    Empfängeradressen
    +Index: 213
    Arbeitstitel
    +Index: 214
    An
    +Index: 215
    Laufzeit
    +Index: 216
    Albuminterpret
    +Index: 217
    Album-ID
    +Index: 218
    Beats pro Minute
    +Index: 219
    Komponisten
    +Index: 220
    Ursprünglicher Schlüssel
    +Index: 221
    Bestandteil einer Kompilation
    +Index: 222
    Stimmung
    +Index: 223
    Teil eines Satzes
    +Index: 224
    Zeitraum
    +Index: 225
    Farbe
    +Index: 226
    Jugendschutz
    +Index: 227
    Grund für Jugendschutzeinstufung
    +Index: 228
    Verwendeter Speicherplatz
    +Index: 229
    EXIF-Version
    +Index: 230
    Ereignis
    +Index: 231
    Lichtwert
    +Index: 232
    Belichtungsprogramm
    +Index: 233
    Belichtungszeit
    +Index: 234
    Blendenzahl
    +Index: 235
    Blitzlichtmodus
    +Index: 236
    Brennweite
    +Index: 237
    35mm Brennweite
    +Index: 238
    ISO-Filmempfindlichkeit
    +Index: 239
    Objektivhersteller
    +Index: 240
    Objektivmodell
    +Index: 241
    Lichtquelle
    +Index: 242
    Maximale Blende
    +Index: 243
    Messmodus
    +Index: 244
    Ausrichtung
    +Index: 245
    Personen
    +Index: 246
    Programmmodus
    +Index: 247
    Sättigung
    +Index: 248
    Abstand
    +Index: 249
    Weißausgleich
    +Index: 250
    Priorität
    +Index: 251
    Projekt
    +Index: 252
    Kanal
    +Index: 253
    Folgenname
    +Index: 254
    Untertitel (Closed Captions)
    +Index: 255
    Wiederholung
    +Index: 256
    Zweikanalton
    +Index: 257
    Sendungsdatum
    +Index: 258
    Sendungsbeschreibung
    +Index: 259
    Aufnahmezeit
    +Index: 260
    Senderrufzeichen
    +Index: 261
    Fernsehsendername
    +Index: 262
    Zusammenfassung
    +Index: 263
    Schnipsel
    +Index: 264
    Automatische Zusammenfassung
    +Index: 265
    Suchrelevanz
    +Index: 266
    Sensitivität
    +Index: 267
    Produktname
    +Index: 268
    Produktversion
    +Index: 269
    Supportlink
    +Index: 270
    Quelle
    +Index: 271
    Startdatum
    +Index: 272
    Abrechnungsinformationen
    +Index: 273
    Abgeschlossen
    +Index: 274
    Aufgabenbesitzer
    +Index: 275
    Gesamtdateigröße
    +Index: 276
    Marken
    +Index: 277
    Videokomprimierung
    +Index: 278
    Regisseure
    +Index: 279
    Datenrate
    +Index: 280
    Bildhöhe
    +Index: 281
    Einzelbildrate
    +Index: 282
    Bildbreite
    +Index: 283
    Gesamtbitrate
    +Index: 284
    DWF Author
    +Index: 285
    Company
    +Index: 286
    Number of Sheets
    +Index: 287
    Sheet Name
    +Index: 288
    Sheet Size
    +Index: 289
    Source Product Name

    Ich weiß jetzt nur nich, was ich damit anfangen kann, die gewünschte Info ist nicht bei.
    Hab ein Bild hinzugefügt, wie die Info überhaupt aussieht, an die ich kommen möchte.

  • Der Folder bezeichnet das Verzeichnis der Datei, kopiere mal die *.dwg ins Scriptverzeichnis und schau dir die Ausgabe an

    Spoiler anzeigen
    [autoit]

    $sDWGfile = "xxxx.dwg"

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

    $oApplication = ObjCreate("Shell.Application")
    $oFolder = $oApplication.NameSpace(@scriptdir)

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

    $oItem = $oFolder.ParseName($sDWGfile)

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

    For $i = -1 To 100
    $value = $oFolder.GetDetailsOf($oItem, $i)
    If $value Then ConsoleWrite("+Index: " & $i & @CRLF & $value & @CRLF)
    Next

    [/autoit]
  • Kannst du mir bitte mal die Ausgaben von GetDetailsOf($oItem, -1) für mehrere Dateien posten? Dann kann ich dir ein Suchmuster basteln ;)

  • Andy Die Ausgabe ist das, was ich um 12:06 geschrieben habe. Das Script versteh ich. Nur nicht was:

    Zitat von progandy


    Kannst du es dann per StringRegExp aus dem Index -1 auslesen?


    damit gemeint ist.
    Ich weiß nicht, wie ich StringRegExp für den Index -1 in das Script intergriere.

    @progandy
    Und bei:

    Spoiler anzeigen
    [autoit]


    $sDWGfile = "d.dwg"
    $oApplication = ObjCreate("Shell.Application")
    $oFolder = $oApplication.NameSpace(0)

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

    $oItem = $oFolder.ParseName($sDWGfile)
    $value = $oFolder.GetDetailsOf($oItem, -1)
    ConsoleWrite("+Index: " & $value & @CRLF)

    [/autoit]


    Kommt eine leere Zeile raus. Wie auch bei zwei anderen Zeichnungen.

    Einmal editiert, zuletzt von Xethria (26. April 2010 um 14:07)

  • Du musst den absoluten Pfad angeben und nicht nur den Dateinamen. Dann sollte das richtige rauskommen. Vielleicht findest du dann sogar einen anderen Index, der das richtige angibt. Wenn du keinen absoluten Pfad angibst, funktioneirt der Code nicht richtig.

  • Auch mit $sDWGfile = "D:\AMTITLE.dwg"
    Kam das Gleiche raus wie um 12:06Uhr geschrieben. :(

    Edit:
    Ich wär nicht ich, wenn ich locker lassen würde. :P
    [...]
    vielen Dank für Ihre Rückmeldung.
    Die Eigenschaften nach den Sie nachfragen, werden durch die folgenden Systemvariablen und den Befehl kontrolliert.
    1. DWGEIGEN > Was die Eigenschaften der DWG kontroliert bzw. Verwaltet.
    2. CDATE > Zeigt die Zeit und das Datum der Zeichnung an. (kann nicht kontroliert werden).
    3. DATE > Speichert das aktuelle Datum und die aktuelle Uhrzeit.
    4. TDCREATE > Speichert Zeit und Datum der Zeichnungserstellung (lokale Angaben).
    Mithilfe diesen Befehlen, können die Informationen Verwaltet werden bzw. mehr Informationen zu einer Zeichnung hinzugefügt.
    Bitte beachten Sie: das funktioniert von AutoCAD herraus und mithilfe diesen Eingaben können die Summary, Statistk und Benutzerdefenierte Eigenschaften der DWG Datei bearbeitet bzw. Aktualisiert werden.
    Die Miniatur Ansicht die Sie in Windows auffinden, wird nicht von AutoCAD gesteuert und leider kann ich nicht näheres dazu aussagen wie diese in Windows verwaltet wird bzw. ausgelesen werden kann.[...]

    Mir sagt das wenig. Ich wüsste nicht, wie ich daran komme. 8|

    Einmal editiert, zuletzt von Xethria (26. April 2010 um 14:30)

  • Ich hatte dir ein Script gepostet mit dem Hinweis, die dazu passende *.dwg-Datei ins Verzeichnis des Scriptes zu kopieren und dann das Script auszuführen.
    Bei mir funktioniert das einwandfrei!
    Bei -1 erhält man den Inhalt des Tooltips, also das, was du in deinem geposteten Beispielbild auslesen möchtest.

    Ersetze mal in der Klammer von NameSpace() die Null durch den Pfad zu deiner *.dwg-Datei.

    [autoit]

    $sDWGfile = "d.dwg"
    $oApplication = ObjCreate("Shell.Application")
    $oFolder = $oApplication.NameSpace($Pfad_zum_dwgfile)

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

    $oItem = $oFolder.ParseName($sDWGfile)
    $value = $oFolder.GetDetailsOf($oItem, -1)
    ConsoleWrite("+Index: " & $value & @CRLF)

    [/autoit]
  • Achherje. Kaum macht man es mal richtig, funktioniert es.
    Gab es hier im Forum nicht die Signatur:

    Zitat

    Nachdem ich weiß wie es funktioniert, versteh ich auch die Anleitung!


    Edit: Sogar progandy war es. Seh ich gerade. :)

    Mit:

    Spoiler anzeigen
    [autoit]

    $oFolder = $oApplication.NameSpace(@scriptdir)

    [/autoit]

    Kam folgendes Ergebnis:

    Spoiler anzeigen

    +Index: -1
    Typ: AutoCAD-Zeichnung
    Änderungsdatum: Donnerstag, 22. April 2010 14:42:58
    Größe: 102 KB
    Erstellt mit: AutoCAD® Mechanical 2010

    +Index: 0
    d.dwg
    +Index: 1
    102 KB
    +Index: 2
    AutoCAD-Zeichnung
    +Index: 3
    22.04.2010 14:43
    +Index: 4
    22.04.2010 14:43
    +Index: 5
    23.04.2010 09:53
    +Index: 6
    A
    +Index: 9
    Nicht angegeben
    +Index: 10
    Administratoren
    +Index: 11
    Bild
    +Index: 19
    Nicht bewertet
    +Index: 53
    herausgelöscht (dieser Computer)
    +Index: 155
    d.dwg
    +Index: 175
    Scripte
    +Index: 176
    D:\Scripte\AutoIT\Scripte
    +Index: 177
    Scripte (D:\Scripte\AutoIT)
    +Index: 179
    D:\Scripte\AutoIT\Scripte\d.dwg
    +Index: 181
    AutoCAD-Zeichnung
    +Index: 187
    Nicht aufgelöst

    Ich würde sagen, dass das dann die Antwort ist. Nun hab ich endlich was in der Hand, womit ich das Script basteln kann.

    DANKE! :thumbup: *sich gleich an die Arbeit mach*

    EDIT 2:
    Ich mach einen Doppelklick auf die "DWG" und meine Script.exe reagiert, weil ich DWGs standardmässig zu dieser EXE umgebogen habe. Wie komm ich dann an die Variable, die die Datei darstellt, auf der ich den Doppelklick ausgeführt habe, den Index-1 auszulesen?

    2 Mal editiert, zuletzt von Xethria (26. April 2010 um 15:37)

  • Und zum Auslesen der Version z.B. :

    [autoit]

    Func _ErstelltMit($value)
    Local $aRes = StringRegExp($value, "(?m)(?i)^Erstellt\h*mit:\h*(.*)$", 1)
    If Not @error Then Return $aRes[0]
    Return SetError(1,0,'')
    EndFunc

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

    $t = StringFormat("Typ: AutoCAD-Zeichnung\r\nÄnderungsdatum: Donnerstag, 22. April 2010 14:42:58\r\nGröße: 102 KB\r\nErstellt mit: AutoCAD® Mechanical 2010\r\n")
    MsgBox(0, '', _ErstelltMit($t))

    [/autoit]


    Edit: Ich habe mal alles zusammengestellt:

    Spoiler anzeigen
    [autoit]

    OnAutoItExitRegister("_LogExit") ;zum debuggen
    ; es muss ein Parameter da sein
    If $CMDLINE[0] = 0 Then Exit -1

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

    ; es muss eine gültige Datei sein
    $sDWGFile = FileGetLongName($CMDLINE[1], 1)
    If @error Or StringInStr(FileGetAttrib($sDWGfile), "D", 1) Then Exit -2

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

    $pos = StringInStr($sDWGFile, "\", 1, -1)
    If Not $pos Then Exit -3

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

    $sDir = StringLeft($sDWGFile, $pos)
    $sFileName = StringMid($sDWGfile, $pos+1)

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

    $oApplication = ObjCreate("Shell.Application")
    $oFolder = $oApplication.NameSpace($sDir)
    If Not IsObj($oFolder) Then Exit -4

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

    $oItem = $oFolder.ParseName($sFileName)
    If Not IsObj($oItem) Then Exit -5

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

    $value = $oFolder.GetDetailsOf($oItem, -1)
    If $value = "" Then Exit -6

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

    $sVersion = _ErstelltMit($value)
    If @error Then Exit -7

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

    ;-- STARTEN --------------------------------------------------
    Switch $sVersion
    Case "AutoCAD® Mechanical 2010"
    ; z.B.
    ShellExecute("C:\AutoCAD2010\Mechanical.exe", '-file "' & $sDWGfile & '"', $sDir)
    Case "..."
    ...
    EndSwitch

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

    ; -- FUNKTIONEN --------------------------------------------------
    Func _ErstelltMit($value)
    ; Author: ProgAndy
    Local $aRes = StringRegExp($value, "(?m)(?i)^Erstellt\h*mit:\h*(.*)$", 1)
    If Not @error Then Return $aRes[0]
    Return SetError(1,0,'')
    EndFunc

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

    Func _LogExit()
    MsgBox(0, 'DWG Starter', "Exit Code (Fehler wenn nicht 0): " & @ExitCode)
    EndFunc

    [/autoit]

    Einmal editiert, zuletzt von progandy (26. April 2010 um 18:23)

  • @progandy
    Nananana! Wer wird denn hier gleich alles verraten! Möcht doch auch noch was lernen. Ich ignoriere einfach mal deinen Spoiler und möchte sagen, wie ich angefangen habe und würde gern wissen, ob das auch ein Weg ist!

    Spoiler anzeigen
    [autoit]


    Func _Erstelltmit()
    ;hab erstmal ne feste Datei gewählt gehabt
    $sDWGfile = "d.dwg"

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

    ; Popup-Info auslesen
    $oApplication = ObjCreate("Shell.Application")
    $oFolder = $oApplication.NameSpace(@scriptdir)
    $oItem = $oFolder.ParseName($sDWGfile)
    $value = $oFolder.GetDetailsOf($oItem, -1)

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

    If StringInStr($value, "Erstellt mit") then
    ; Index -1 splitten
    $bla = StringSplit ( $value, @CRLF)
    ; suche nach den Index mit "Erstellt mit"
    $IndexSearch = _ArraySearch( $bla, "Erstellt mit", 0 , 0 , 0 , 1)
    ; der Eintrag des Indexs mit Erstellt mit wird ausgelesen
    $Index = $bla[$IndexSearch]
    ; ich schnippel den vorderen Teil ab, damit ich die Version alleine zustehen habe, weil ich es in der GUI brauche
    $erstelltmit_ohne = StringTrimLeft($erstelltmit1, 14)
    EndIf
    EndFunc

    [/autoit]

    Geht doch oder? Jedenfalls funktioniert es. :)

    EDIT: Ich hätte gern, dass die GUI an meiner Maus auftaucht, wenn sie erscheint. Welchen Befehl schau ich mir dazu an?

    Einmal editiert, zuletzt von Xethria (27. April 2010 um 09:11)

  • Ich wollt das Script stückchenweise zeigen. Daher auch nur die ein Funktion.
    Die GUI ist ja nicht sonderlich schwer, sondern erst, wenns Extrawünsche gibt. ;)
    Danke!

    EDIT: Ah du meinst, ich lese MouseGetPos aus und übernehme die Werte und stecke sie in die GUI?

  • ;(
    Ich habe dann hier die einfache Funktion.
    Func _mouse()
    Local $iX = _WinAPI_GetMousePosX()
    Local $iY = _WinAPI_GetMousePosY()
    EndFunc

    Wie sieht dann der passende GUI-Befehl aus?
    GUICreate("Öffnen...", 173, 180, [...])

  • Hier ein Beispiel: (Nach dem starten die +-Taste drücken (Nicht auf dem Numpad)

    Spoiler anzeigen
    [autoit]

    HotKeySet("{+}","GUI")
    HotKeySet("{ESC}","_EXIT")

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

    While Sleep(100)
    WEnd

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

    Func GUI()
    $aMousePos = MouseGetPos()
    GUICreate("Test",200,200,$aMousePos[0],$aMousePos[1])
    GUISetState(@SW_SHOW)
    EndFunc

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

    Func _Exit()
    Exit
    EndFunc

    [/autoit]
  • Ach verdammt. Ich dachte, dass ich so dicht am Ziel gewesen wäre...
    Die DWGs sind mit dem Autodesk DWG Launcher (AcLauncher.exe) verknüpft. Wenn ich die DWG standardmäßig mit meiner EXE verknüpfe, gibt es die Popup-MouseInfo nicht mehr. Also kommt die Info, die ich dort sehe, vom Launcher, und ohne Launcher keine Info. Und ohne Info kann ich nix auslesen. Mannnnn! X(:cursing:;(

    Ich mag nicht aufgeben! :pinch:

  • Ja, du bis sehr dicht am Ziel, allerdings brauchst du nichtmal AutoIt dazu^^
    Da dir der Maushover ja die Version zeigt, kannst du Windows veranlassen, diese zu starten, und zwar per Rechtsklick. Entweder trägst du ins "Rechtsklickmenü" deine Autocad-versionen ein (etwas Aufwand), oder startest diese mit dem "Senden an..." . Da musst du die Verknüpfung zur entsprechenden Autocadversion nur in den "SendTo"-Ordner kopieren, damit sie in dem "Senden an..."-Menü erscheint

    /Edit/ Man könnte natürlich einen "DWG-Autostarter" ins Rechtsklickmenü stellen, ob das schneller/einfacher geht, ist fraglich....
    oder man erstellt direkt ein Script, daß alle *.dwg´s auf der Platte scannt, in einer Liste darstellt und von dort mit der entsprechenden Version startet

    ciao
    Andy


    "Schlechtes Benehmen halten die Leute doch nur deswegen für eine Art Vorrecht, weil keiner ihnen aufs Maul haut." Klaus Kinski
    "Hint: Write comments after each line. So you can (better) see what your program does and what it not does. And we can see what you're thinking what your program does and we can point to the missunderstandings." A-Jay

    Wie man Fragen richtig stellt... Tutorial: Wie man Script-Fehler findet und beseitigt...X-Y-Problem

    2 Mal editiert, zuletzt von Andy (27. April 2010 um 12:18)