Genau für solche Zwecke ist es gedacht. Wenn man nicht mit FileCompare die Dateien vergleichen kann/will, erstellt man die Hashsumme vom Original und prüft diese gegen die Hashsumme der Kopie.
Beiträge von BugFix
-
-
Der "weiterleitende" Rechner wird ein Notebook sein, also Entfernung spielt keine Rolle.
-
Es gibt auch VGA Grabber die dann die Daten an USB oder Ethernet zu Verfügung stellen. Das ist aber eine nicht gerade billige Lösung ca. 500 € aufwärts .
Na dann baue ich lieber eine GraKa mit VideoOut ein + Grabber. Das kostet ca. 30 € für die Karte und 20 € für den Grabber. Deutlich günstiger
-
Nein, ein Hashcode dient ausschließlich dazu, die Daten zu verifizieren. Also sicher zu gehen, dass die vorliegende Datei mit dem Original übereinstimmt.
Edit: Irgendwie schreibe ich heute zu langsam...

-
Du wirst dich wohl damit abfinden müssen, dass es nicht geht.

-
Hashcode umwandeln, und da wieder zurück
Hashcode ist keine Verschlüsselungs/Entschlüsselungsmethode. Der Code wird aus Dokumenten etc. nach einem festen Algorithmus erstellt und ist kein exaktes (verschlüsseltes) Abbild des Inhalts.
Du meinst sicher _StringEncrypt.Edit: Da haben aber viele fast gleichzeitig geschrieben

-
Also erst mal Danke für die Tipps.
Aber Insight Board ist ja auch eine Remote Steuerung. Und es darf keine Steuerung möglich sein. Lediglich eine "Betrachtung" des Monitors darf möglich sein.
Ob man das Videosignal mit einem Grabber abfangen kann...? Dann brauchte man wohl eine Video-Out-Karte im PC, denn der Grabber benötigt ja ein FBAS-Signal. Mit VGA kann der nix anfangen. -
Das geht einfach mit WinMove. Du hast ja keine echte Dynamik, sondern möchtest auf eine feste Größe verändern.
Bei Dynamik (aufziehen, zusammenschieben) besteht das Problem, dass die Anordnung + Größe der Controls angepaßt werden muß. Das ist ziemlich tricky. -
Hi,
folgende Konstellation:
- Intranet mit mehreren PC
- keinerlei Verbindung an die Außenwelt (definitiv untersagt!)Ich möchte nun gern die Desktopansicht von einem dieser PC "anzapfen" (unter der Berücksichtigung, dass dass Netzwerk nicht dafür genutzt werden darf - also eine optische Methode muß her). Dieses "Bild" möchte ich dann einem PC mit Internetzugang einspeisen, sodass z.B. per Teamviewer dieses aus der Ferne angeschaut werden kann.
- als Idee kam mir schon mal Webcam :wacko: grauselige Qualität
- vielleicht gibt es ja irgendeine Möglichkeit, das Videosignal "weiterzuleiten"Vielleicht habt ihr ja technische Erfahrung oder Ideen?
-
Lies einfach alle Unterschlüssel von ....\Uninstall\ in ein Array. Dann das Array durchgehen mit: If StringInStr($array[$i], 'AutoItv') Then
Du kannst die Unterschlüssel z.B. mit _GetRegSubKeys($HKEY) auslesen: Registry-Funktionen per Objekt -
[autoit]
until $i = $rounds
[/autoit]so nicht ==> aber so:
[autoit]until $i = GUICtrlRead($rounds)
[/autoit] -
He Danke, mit dem Dummy war 'ne gute Idee.
TVN_SELCHANGED hatte ich schon getestet, aber mit demselben Offset-Ergebnis. -
Stimmt, darum hab ich jetzt ein Workaround gemacht unter Nutzung von $GUI_EVENT_PRIMARYUP.
Ich wäre aber trotzdem interessiert, eine Möglichkeit zu finden den Items direkt eine Funktion zuzuweisen.Spoiler anzeigen
[autoit]#include <GUIConstantsEx.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <GuiTreeView.au3>
#include <TreeViewConstants.au3>
#include <WindowsConstants.au3>
#include <Array.au3>Opt("MustDeclareVars", 1)
[/autoit] [autoit][/autoit] [autoit]
Opt("GuiOnEventMode", 1)Global $gui, $hImage, $hTV, $aID_Sub[5], $ID_Table
[/autoit] [autoit][/autoit] [autoit]$gui = GUICreate('Test TreeView')
[/autoit] [autoit][/autoit] [autoit]
GUISetOnEvent($GUI_EVENT_CLOSE, '_end')
GUISetOnEvent($GUI_EVENT_PRIMARYUP, '_PrimaryUp')
$hTV = GUICtrlCreateTreeView(10,10,300,350,BitOR($TVS_HASBUTTONS, $TVS_HASLINES, $TVS_LINESATROOT, _
$TVS_DISABLEDRAGDROP, $TVS_SHOWSELALWAYS), $WS_EX_CLIENTEDGE)$hImage = _GUIImageList_Create(16, 16, 5, 3)
[/autoit] [autoit][/autoit] [autoit]
_GUIImageList_AddIcon($hImage, "shell32.dll", 98)
_GUIImageList_AddIcon($hImage, "shell32.dll", 96)
_GUIImageList_AddIcon($hImage, "shell32.dll", 36)
_GUICtrlTreeView_SetNormalImageList($hTV, $hImage)_GUICtrlTreeView_BeginUpdate($hTV)
[/autoit] [autoit][/autoit] [autoit]
$ID_Table = _GUICtrlTreeView_Add($hTV, 0, 'Table', 0, 0)
For $i = 1 To 5
$aID_Sub[$i-1] = _GUICtrlTreeView_AddChild($hTV, $ID_Table, 'Sub' & $i, 1, 1)
For $j = 1 To 3
_GUICtrlTreeView_AddChild($hTV, $aID_Sub[$i-1], 'Sub_Sub' & $j, 2, 2)
Next
Next
_GUICtrlTreeView_EndUpdate($hTV)
_GUICtrlTreeView_Expand($hTV, $ID_Table)GUISetState()
[/autoit] [autoit][/autoit] [autoit]While 1
[/autoit] [autoit][/autoit] [autoit]
Sleep(100)
WEndFunc _end()
[/autoit] [autoit][/autoit] [autoit]
Exit
EndFuncFunc _PrimaryUp()
[/autoit]
Local $hTVItem = _GUICtrlTreeView_GetSelection($hTV)
If _GUICtrlTreeView_GetParentHandle($hTV, $hTVItem) <> $ID_Table Then Return
ConsoleWrite(_GUICtrlTreeView_GetText($hTV,$hTVItem) & @CRLF)
EndFunc -
warum machen alle eig GuiSetState() und net GuiSetState(@SW_SHOW)?
Zitat von AutoIt Hilfe@SW_SHOW = Shows a previously hidden window (default)
==> deshalb

-
Dann fang doch die ID's in einem Array auf.
-
Hi,
hier mal ein Problem von mir. Ich erstelle ein TreeView und füge Einträge mit den UDF-Funktionen _GUICtrlTreeView_Add() und _GUICtrlTreeView_AddChild() hinzu. Da ich Icons zuordne, muß ich zwingend auf die UDF zugreifen.
Ich arbeite im OnEventMode und möchte bei Klick auf ein Item den Text des Items ausgeben. Bei Verwendung von GUICtrlCreateTreeViewItem() funktioniert das tadellos. Aber mit den UDF wird nicht die ID sondern das Handle zurückgegeben. Vermutlich läßt sich deshalb keine Funktion zuweisen.
Mein zweiter Versuch dann mit WM_NOTIFY. Das funktioniert zwar - aber mit einem Versatz von einem Klick. D.h. das jetzt angeklickte Item wird erst beim Folgeklick ausgewertet.
Hier mal das Skript, vielleicht habt ihr ja eine zündende Idee.Spoiler anzeigen
[autoit]#include <GUIConstantsEx.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <GuiTreeView.au3>
#include <TreeViewConstants.au3>
#include <WindowsConstants.au3>Opt("MustDeclareVars", 1)
[/autoit] [autoit][/autoit] [autoit]
Opt("GuiOnEventMode", 1)Global $gui, $hImage, $hTV, $aID_Sub[5], $ID_Table
[/autoit] [autoit][/autoit] [autoit]$gui = GUICreate('Test TreeView')
[/autoit] [autoit][/autoit] [autoit]
GUISetOnEvent($GUI_EVENT_CLOSE, '_end')
$hTV = GUICtrlCreateTreeView(10,10,300,350,BitOR($TVS_HASBUTTONS, $TVS_HASLINES, $TVS_LINESATROOT, _
$TVS_DISABLEDRAGDROP, $TVS_SHOWSELALWAYS), $WS_EX_CLIENTEDGE)$hImage = _GUIImageList_Create(16, 16, 5, 3)
[/autoit] [autoit][/autoit] [autoit]
_GUIImageList_AddIcon($hImage, "shell32.dll", 98)
_GUIImageList_AddIcon($hImage, "shell32.dll", 96)
_GUIImageList_AddIcon($hImage, "shell32.dll", 36)
_GUICtrlTreeView_SetNormalImageList($hTV, $hImage)_GUICtrlTreeView_BeginUpdate($hTV)
[/autoit] [autoit][/autoit] [autoit]
$ID_Table = _GUICtrlTreeView_Add($hTV, 0, 'Table', 0, 0)
For $i = 1 To 5
$aID_Sub[$i-1] = _GUICtrlTreeView_AddChild($hTV, $ID_Table, 'Sub' & $i, 1, 1)
GUICtrlSetOnEvent($aID_Sub[$i-1], 'click_TV') ; does'nt work (because have no ID and handle instead ?)
For $j = 1 To 3
_GUICtrlTreeView_AddChild($hTV, $aID_Sub[$i-1], 'Sub_Sub' & $j, 2, 2)
Next
Next
_GUICtrlTreeView_EndUpdate($hTV)
_GUICtrlTreeView_Expand($hTV, $ID_Table)GUISetState()
[/autoit] [autoit][/autoit] [autoit]
;~ GUIRegisterMsg($WM_NOTIFY, 'WM_NOTIFY') ; by using WM_NOTIFY are strange results, are reading with an offset of 1 click!While 1
[/autoit] [autoit][/autoit] [autoit]
Sleep(100)
WEndFunc _end()
[/autoit] [autoit][/autoit] [autoit]
Exit
EndFuncFunc click_TV()
[/autoit] [autoit][/autoit] [autoit]
ConsoleWrite(_GUICtrlTreeView_GetText($hTV, _GUICtrlTreeView_GetSelection($hTV)) & @CRLF)
EndFuncFunc WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam)
[/autoit] [autoit][/autoit] [autoit]
#forceref $hWnd, $iMsg, $iwParam
Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR, $hWndTreeview
$hWndTreeview = $hTV
If Not IsHWnd($hTV) Then $hWndTreeview = GUICtrlGetHandle($hTV)$tNMHDR = DllStructCreate($tagNMHDR, $ilParam)
[/autoit]
$hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
$iIDFrom = DllStructGetData($tNMHDR, "IDFrom")
$iCode = DllStructGetData($tNMHDR, "Code")
Switch $hWndFrom
Case $hWndTreeview
Switch $iCode
Case $NM_CLICK
click_TV()
EndSwitch
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc ;==>WM_NOTIFYEdit: Habs jetzt zusätzlich ins EN-Forum gestellt http://www.autoitscript.com/forum/index.php?showtopic=88587&view=findpost&p=636501
-
Dann probier mal statt "Button1" mit "[CLASS:Button; INSTANCE:1]"
-
Du möchtest also die Funktion "Zellen verbinden" aus Excel nachbilden. Temporär sicher möglich, indem man ein Ctrl drüberpackt. Allerdings sicher sehr aufwändig dieses Ctrl auch vertikal zu bewegen, um die LV-Eigenschaften beizubehalten.
Standardmäßig habe ich es noch nicht gesehen. (Immer diese Extrawünsche
) -
-
Was mir auch aufgefallen ist: _Overroll($fGui,$fObjekt,$fTitel,$fFunc)
Warum soll der Titel übergeben werden, das ist überflüssig, da du schon $fGui übergibst und dieses ebenso als Titel verwendet werden kann.
Übrigens machst du dir viel zu viel Arbeit
- warum die Mausposition mit der Controlposition vergleichen? Hast du dir schon mal angeschaut, was GUIGetCursorInfo() zurückgibt? ...$array[4] = ID of the control that the mouse cursor is hovering over
Du brauchst also nur die Ctrl-ID mit $array[4] vergleichen.
P.S. Nicht verzagen, wenn wir hier dein Skript zerlegen. Das ist positive Kritik und hilft dir beim Lernen.

Edit Falls du schon mitten im Skript steckst und nachträglich die Variablen deklarieren möchtest, ist dieses eine kleine Hilfe: Variablendeklaration automatisiert - Opt("MustDeclareVars", 1)