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. BugFix

Beiträge von BugFix

  • kompletter Screenshot einer Webseite

    • BugFix
    • 31. Januar 2009 um 19:02

    Als Plugin z.B. Screengrab!

  • Skriptbeispiel Spielkarten

    • BugFix
    • 31. Januar 2009 um 18:13

    Laß dir mal den Wert von

    [autoit]

    $hInstance = _WinAPI_LoadLibraryEx ($ressource, $LOAD_LIBRARY_AS_DATAFILE)

    [/autoit]

    in die Konsole ausgeben. Falls $hInstance = 0 ist, dann hast du die cards.dll nicht auf dem PC. Allerdings ist die ab Win98 definitiv dabei, bei Vista weiß ich nicht.

  • Mausklick blocken für ein Pixelblock

    • BugFix
    • 31. Januar 2009 um 17:48

    Ooch, da fällt mir schnell ein Bsp. ein. Z.B. wird mal eben schnell das Messenger-Fenster eingeblendet, weil Mama Bescheid sagt, dass Essen gleich fertig ist :D - Und schon ist OnTop wech... ;)

  • Mausklick blocken für ein Pixelblock

    • BugFix
    • 31. Januar 2009 um 17:27

    funkey: Das ist wirkungslos, wenn sich ein anderes Fenster OnTop setzt.

  • Mausklick blocken für ein Pixelblock

    • BugFix
    • 31. Januar 2009 um 17:08

    Hier mal ein Muster, brauchst nur deine Werte einsetzen.

    [autoit]

    HotKeySet('!e', '_ende')
    Global $arBereich[2][2] = [[50,100],[200,200]] ; von x=50, y=100 bis x=200, y=200
    While True
    $pos = MouseGetPos()
    If ($pos[0] >=$arBereich[0][0]) And ($pos[0] <=$arBereich[1][0]) And _
    ($pos[1] >=$arBereich[0][1]) And ($pos[1] <=$arBereich[1][1]) Then _
    MouseMove($arBereich[0][0], $arBereich[0][1])
    Sleep(100)
    WEnd

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

    Func _ende()
    Exit
    EndFunc

    [/autoit]
  • Remote Desktopansicht

    • BugFix
    • 31. Januar 2009 um 16:05

    Ja prima, warte sehnsüchtig drauf. :rofl:

  • Mausklick blocken für ein Pixelblock

    • BugFix
    • 31. Januar 2009 um 15:59
    Zitat von L3viathan2142

    Er möchte nur das Klicken sperren.


    Ja eben, und das simpelste ist es deshalb, die Maus nicht in den verbotenen Bereich zu lassen. Denn wenn ich dort nicht klicken darf, brauche ich dort auch nicht sein.

  • Mausklick blocken für ein Pixelblock

    • BugFix
    • 31. Januar 2009 um 15:50

    Wenn du die Position kennst, kannst du diese ständig mit der Mausposition vergleichen. Sollte die Maus in den Bereich kommen setzt du sie einfach mit MouseMove woanders hin.

  • Idee + kann man das überhaupt?? Delete Files

    • BugFix
    • 31. Januar 2009 um 15:48

    Das würde aber im Widerspruch zu seinem Sofort-Löschen-Wollen stehen. :D
    Aber da können wir lange sinnieren, alle Möglichkeiten sind aufgezeigt - alles andere liegt bei ihm. ;)

  • Idee + kann man das überhaupt?? Delete Files

    • BugFix
    • 31. Januar 2009 um 15:44
    Zitat von L3viathan2142

    Vlt will er alles direkt löschen


    Mach ich immer - aber trotzdem nutze ich dazu den Papierkorb ( SHIFT+Ziehen ;) ), die Sicherheitsabfrage kannst du deaktivieren.

  • Idee + kann man das überhaupt?? Delete Files

    • BugFix
    • 31. Januar 2009 um 15:38

    Versteh denn Sinn nicht, dann kannst du doch gleich alles in den Papierkorb schieben.. :rolleyes:

  • Skriptbeispiel Spielkarten

    • BugFix
    • 31. Januar 2009 um 15:13

    Hi,
    für all jene, die gern Kartenspiele programmieren: Windows hält ja bereits Karten und Deckblätter bereit.
    Hier mal ein kleines Bsp., wie man das nutzen kann:

    Spoiler anzeigen
    [autoit]

    #include <GDIPlus.au3>
    #include <WinAPI.au3>
    #include <Constants.au3>
    #include <GUIConstantsEx.au3>
    #include <Array.au3>
    Opt ("MustDeclareVars", 1)

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

    _Main ( )
    _Main (True)

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

    Func _Main ($mixed=False)
    Local $a_hBMP[52][3], $a_hBitmap[52], $hGraphic, $hGUI, $hInstance
    Local $ressource = "cards.dll"

    ; Load ressource dll as datafile
    $hInstance = _WinAPI_LoadLibraryEx ($ressource, $LOAD_LIBRARY_AS_DATAFILE)

    ; Load bitmap's from library
    ; Farben sind in der Dll falsch angeordnet, ebenso die Asse
    ; im Array [i][0]=dll-Indx, [i][1]=echte Reihenfolge, [i][2]=BMP-Handle
    Local $j = 15
    For $i = 0 To 38
    If $i = 12 Or $i = 25 Or $i =38 Then
    $a_hBMP[$i][0] = $j -13
    $a_hBMP[$i][1] = $i +1
    $a_hBMP[$i][2] = _WinAPI_LoadBitmap ($hInstance, $a_hBMP[$i][0])
    Else
    $a_hBMP[$i][0] = $j
    $a_hBMP[$i][1] = $i +1
    $a_hBMP[$i][2] = _WinAPI_LoadBitmap ($hInstance, $a_hBMP[$i][0])
    EndIf
    $j += 1
    Next
    $j = 2
    For $i = 39 To 50
    $a_hBMP[$i][0] = $j
    $a_hBMP[$i][1] = $i +1
    $a_hBMP[$i][2] = _WinAPI_LoadBitmap ($hInstance, $a_hBMP[$i][0])
    $j += 1
    Next
    $a_hBMP[51][0] = 1
    $a_hBMP[51][1] = 52
    $a_hBMP[51][2] = _WinAPI_LoadBitmap ($hInstance, $a_hBMP[51][0])

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

    If $mixed Then
    ; Get random order
    Local $aImagesIndex[52], $RandomIndex
    For $i = 0 To 51
    Do
    $RandomIndex = Random(0, 51, 1)
    _ArraySearch($aImagesIndex, String($RandomIndex))
    If @error Then $aImagesIndex[$i] = String($RandomIndex)
    Until $aImagesIndex[$i]
    Next
    ; Set BMP-Handle to random order
    Local $aTmp[52][3]
    For $i = 0 To UBound($aTmp) -1
    $aTmp[$i][0] = $a_hBMP[$aImagesIndex[$i]][0]
    $aTmp[$i][1] = $a_hBMP[$aImagesIndex[$i]][1]
    $aTmp[$i][2] = $a_hBMP[$aImagesIndex[$i]][2]
    Next

    ; Group by partial sort
    _ArraySort($aTmp, 0, 0, 12, 1)
    _ArraySort($aTmp, 0, 13, 25, 1)
    _ArraySort($aTmp, 0, 26, 38, 1)
    _ArraySort($aTmp, 0, 39, 51, 1)
    $a_hBMP = $aTmp
    $aTmp = 0
    EndIf

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

    ; Create GUI
    Local $title='Karten reinfarbig'
    If $mixed Then $title = 'Karten gemischt sortiert'
    $hGUI = GUICreate ($title, 710, 350)
    GUISetBkColor(0x008000)
    GUISetState ()

    ; Initialize GDI+ library
    _GDIPlus_Startup ()

    ; Create bitmap object's from bitmap handle's
    For $i = 0 To UBound($a_hBitmap) -1
    $a_hBitmap[$i] = _GDIPlus_BitmapCreateFromHBITMAP ($a_hBMP[$i][2])
    Next

    ; Create a Graphics object from a window handle
    $hGraphic = _GDIPlus_GraphicsCreateFromHWND ($hGUI)

    ; Draw all bitmap object's
    Local $x = 20, $y = 20, $count
    For $i = 0 To UBound($a_hBitmap) -1
    $count = $i +1
    _GDIPlus_GraphicsDrawImage ($hGraphic, $a_hBitmap[$i], $x, $y)
    If $i > 1 And Mod($count, 13) = 0 Then
    $x += 100
    Else
    $x += 20
    EndIf
    If $i = 25 Then
    $x = 20
    $y += 140
    EndIf
    Next

    ; Loop until user exits
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE

    ; Clean up resources
    For $i = 0 To UBound($a_hBitmap) -1
    _GDIPlus_ImageDispose ($a_hBitmap[$i])
    _WinAPI_DeleteObject ($a_hBMP[$i][2])
    Next
    _WinAPI_FreeLibrary ($hInstance)

    ; Shut down GDI+ library
    _GDIPlus_ShutDown ()
    GUIDelete()
    EndFunc ;==>_Main

    [/autoit]

    Edit: Habe (nur im geposteten Skript, nicht im Anhang) mal erweitert, dass die gemischten Karten in den Blöcken sortiert sind. Sieht besser aus ;)

    Edit2: Neue Version: die Karten befinden sich nun farblich und wertemäßig in der (in DE) üblicherweise verwendeten Reihenfolge. Also Karo-Rot-Pik-Kreuz und 2 bis As. Die gemischten Karten sind jetzt innerhalb des jeweiligen Stapels sortiert.

    DL bisher: 17

  • Dateiname unter Eigenschaft in Titelzeile eintragen?

    • BugFix
    • 31. Januar 2009 um 12:16

    Schade, dann ist es schwieriger.
    Die Dateien, die den Eintrag von Betreff, Autor etc. zulassen, können mit Property Sets bearbeitet werden. Hier mal der Link zu MSDN: http://msdn.microsoft.com/en-us/library/aa380376.aspx.
    Ist sicher möglich, darauf auch mit AutoIt zuzugreifen, aber mit einigem Aufwand verbunden die Funktionen zu erstellen. Kannst dich gern dran versuchen. ;)

  • Dateiname unter Eigenschaft in Titelzeile eintragen?

    • BugFix
    • 31. Januar 2009 um 11:13

    Eine Frage noch: Sind das evtl. Office-Dateien (also Word, Excel..) ? Dafür hatte ich letztens eine Lösung in VB gesehen. Ließe sich dann anpassen.

  • Problem mit dem Verwalten mehrerer "Datenbanken"

    • BugFix
    • 31. Januar 2009 um 10:52

    Setz doch gleich $opendb als Global.
    Im Moment deklarierst du $opendb als Local und weist in der nächsten Zeile diesen Wert der Globalen Variable $sDBFile zu.

    [autoit]

    Local $opendb = FileOpenDialog("Bitte auswählen", @ScriptDir & "\Datenbanken\", "Text (*.txt)")
    Global $sDBFile = $opendb

    [/autoit]

    Also entweder $opendb als Global oder und $sDBFile weglassen (dafür $opendb verwenden) oder nur $sDBFile verwenden.

  • Dateiname unter Eigenschaft in Titelzeile eintragen?

    • BugFix
    • 31. Januar 2009 um 10:18
    Zitat von Selma

    alle Dateien die im Ordner C:\PRJ\60507800\OUT\ liegen in der Registerkarte "Dateiinfo" unter Titel den Dateiname einzutragen?


    Alle hängt sicher davon ab, wieviele es sind. Denn ich gehe mal davon aus, dass nur limitierter Platz in diesem Feld zur Verfügung steht.

  • Dateiinformationen ändern

    • BugFix
    • 31. Januar 2009 um 10:15
    Zitat von Padmak

    die funktion zu finden die die Informationen einer Datei bearbeitet.


    Von welchen Informationen sprichst du?
    Im geposteten Code werden überall dort Werte gesetzt, wo DllStructSetData() verwendet wird ( sagt schon der Name :D ).

  • Hashcode

    • BugFix
    • 30. Januar 2009 um 18:23

    Du kannst fertige Programme verwenden (z.B. Dateihash) oder auch selbst ein Programm zum Berechnen erstellen. Bsp. findest du per Google in reicher Auswahl. ;)

  • durch trayicon programm minimieren

    • BugFix
    • 30. Januar 2009 um 18:11

    Meinst du sowas: http://www.autoitscript.com/forum/index.php?showtopic=88471&hl=minimize++to++tray ?

  • Remote Desktopansicht

    • BugFix
    • 30. Januar 2009 um 18:04

    Der Preis ist nicht so das Problem, und getrennt ist besser. Ich habe dort 4 PC und werde dann in jedem PC eine Karte mit VideoOut einbauen - brauche aber nur einen Grabber :rolleyes:
    Denn es wird im Bedarfsfall nur ein PC angeschaut werden. Ist eine Vorsichtsmaßnahme um ohne echtes Remote den User im abgeschotteten Netz "fernzusteuern" und zu supporten. Kann einiges an unnützer Fahrerei ersparen.

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™