Beiträge von BugFix
-
-
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.
-
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
- Und schon ist OnTop wech... 
-
funkey: Das ist wirkungslos, wenn sich ein anderes Fenster OnTop setzt.
-
Hier mal ein Muster, brauchst nur deine Werte einsetzen.
[autoit]HotKeySet('!e', '_ende')
[/autoit][autoit][/autoit][autoit]
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)
WEndFunc _ende()
[/autoit]
Exit
EndFunc -
Ja prima, warte sehnsüchtig drauf.

-
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. -
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.
-
Das würde aber im Widerspruch zu seinem Sofort-Löschen-Wollen stehen.

Aber da können wir lange sinnieren, alle Möglichkeiten sind aufgezeigt - alles andere liegt bei ihm.
-
Vlt will er alles direkt löschen
Mach ich immer - aber trotzdem nutze ich dazu den Papierkorb ( SHIFT+Ziehen
), die Sicherheitsabfrage kannst du deaktivieren. -
Versteh denn Sinn nicht, dann kannst du doch gleich alles in den Papierkorb schieben..

-
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>
[/autoit] [autoit][/autoit] [autoit]
#include <WinAPI.au3>
#include <Constants.au3>
#include <GUIConstantsEx.au3>
#include <Array.au3>
Opt ("MustDeclareVars", 1)_Main ( )
[/autoit] [autoit][/autoit] [autoit]
_Main (True)Func _Main ($mixed=False)
[/autoit] [autoit][/autoit] [autoit]
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])If $mixed Then
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
; 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; Create GUI
[/autoit]
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 ;==>_MainEdit: 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
-
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.
-
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.
-
Setz doch gleich $opendb als Global.
[autoit]
Im Moment deklarierst du $opendb als Local und weist in der nächsten Zeile diesen Wert der Globalen Variable $sDBFile zu.Local $opendb = FileOpenDialog("Bitte auswählen", @ScriptDir & "\Datenbanken\", "Text (*.txt)")
[/autoit]
Global $sDBFile = $opendbAlso entweder $opendb als Global oder und $sDBFile weglassen (dafür $opendb verwenden) oder nur $sDBFile verwenden.
-
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. -
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
). -
Du kannst fertige Programme verwenden (z.B. Dateihash) oder auch selbst ein Programm zum Berechnen erstellen. Bsp. findest du per Google in reicher Auswahl.

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