Danke Leute
Das war ja irgendwie einfacher als ich es gedacht habe
Danke Leute
Das war ja irgendwie einfacher als ich es gedacht habe
Hallo Zusammen,
ich würde gern ein Menu anlegen, welches so ausschaut: Extras->Language-> English/Deutsch
Nach meinem Code wird das allerdings alles unter Extras angelegt und nicht unter Language.
Kann mir jemand behilflich sein?
Viele Grüße,
MadCatz
mit fileread bekomme ich aj keine pdf oder xls geöffnet, daher kann ich die nicht verwenden.
Wenns dafür natürlcih ne schöne Lösung hinbekommen würde, ohne das ganze auf die Festplatte auszulagern, wäre das natürlcih deutlcih besser, da geb ich dir vollkommen recht.
Tut nicht genau FileRead eben selbiges? Und die Crypt Funktionen übergeben doch sowieso wieder Daten in den Speicher, nicht auf die Festplatte?
Verstehe leider nicht was du meinst
Das öffnen von anderen Anwendungen/Fenstern wird geblockt. Das schließen des Scripts wird geblockt. Nur bestimmte Tasten werden zugelassen.
Alle Versuche eines Users, die Warnhinweise auszulassen führen dazu, dass die Datei mit einem Randomkey verschlüsselt.
Ein normalsterblicher Anwender wird es wohl kaum hinbekommen die Verschlüsseleung auszuhebeln, ohne sich damit zu beschäftigen.
Die Idee mit dem Ram find ich gut, wusste gar nicht, dass es dazu schon ne UDF gibt Werd ich mir mal ansehen.
@BugFix und @eukalyptus vielen Dank für eure Codes Die sind genau das was ich brauche
@Xorianator ich weiß wie ich Str+C verhindern kann, aber die Mous war halt das Problem.
Ich brauche das, da ich den kompletten kopierversuch verhindern will. Server kommt nicht Infrage. Die Dateien sollen Lokal verwendet werden können. Sind allerdings verschlüsselt, wenn nicht verwendet. Wenn die verwendet werden, sind sie entschlüsselt und in dem Fall könnte man diese Kopieren, und das muss ich abfangen. Dazu werd ich soviele Wege wie möglich verhindern, sodass sich das unerlaubte kopieren der Datei ohne Aufwand erst gar nicht mehr lohnt.
Ich Danke euch
PS: Server kommt nicht in Frage, muss alles local ablaufen
Nun ohne es genau zu wissen könnte ich mir vorstellen, dass Notepad die Datei nicht sperrt bzw. geöffnet hält, sondern lediglich einmalig einliest und die Datei dann bis zum Speichervorgang geschlossen lässt. Eine Prüfung ob die Datei von einem Programm "geöffnet" ist und bearbeitet wird ist in solch einem Fall jedenfalls nicht möglich. Daher wäre es vielleicht noch interessant was genau der TE mit der Prüfung überhaupt sicherstellen möchte.
Geht überwiegend um PDF, Word, Excel, Powerpoint Dateien, daher ist es kein Problem, dass Notepad nicht klappt
Das was er da gemacht hat nennt man Testprogramm. Dort wird dir gezeigt, wie die Funktion funktioniert. Der Aufruf steht dort.
Sieh dir das Beispiel doch mal genau und vernünftig an
Hi, wenn du mein Edit gelesen hättest hättest du bemerkt, dass ich es nochmal durchgelesen hab
Hi,
ich muss das KontextMenü von Windows verhindern, da ich nicht will, dass man hierrüber eine Datei einfach kopieren kann.
Da man das aushebeln kann, indem man einfach links mit rechts tauscht muss ich wissen welche Taste die Primäre ist, damit die Sekundäre unterdrückt wird.
mir _ispreset(02) frag ich nämlich ja nur ab, ob die rechte geklickt wurde.
Hallo Leute,
kurze Frage: Gibt es die Möglichkeit auszulesen, welche Maustaste die momentane Primäre ist, also ob links mit rechts getauscht wurde?
Viele Grüße,
MadCatz
Hi, erstmal Danke für deine Hilfe
Aber bei deinem Skript gehst du ja hin und öffnest mit FileOpen die Datei, ich will die Datei aber nicht per Script öffnen, sondern nur abfragen, ob eine bestimmte Datei geöffnet ist.
Korrigiere mich bitte, falls ich da falsch liege
Gruß,
MadCatz
Edit:
Sorry, habs grad gesehen alles richtig
Hallo Leute,
ich war auf der suche nach einer Lösung zur Überprüfung, ob eine Datei geöffnet wurde.
Dabei kam ich bei :
cmd openfiles an
Allerdings dauert der Ausleseprozess in cmd ziemlich lange und benötigt zudem auch noch Adminrechte, was das ganze leider ziemlich unbrauchbar macht.
Schließlich stieß ich dann auf diesen Code:
;===============================================================================
;
; Function Name: _FileInUse()
; Description: Checks if file is in use
; Syntax.........: _FileInUse($sFilename, $iAccess = 1)
; Parameter(s): $sFilename = File name
; Parameter(s): $iAccess = 0 = GENERIC_READ - other apps can have file open in readonly mode
; $iAccess = 1 = GENERIC_READ|GENERIC_WRITE - exclusive access to file,
; fails if file open in readonly mode by app
; Return Value(s): 1 - file in use (@error contains system error code)
; 0 - file not in use
; -1 dllcall error (@error contains dllcall error code)
; Author: Siao
; Modified rover - added some additional error handling, access mode
; Remarks _WinAPI_CreateFile() WinAPI.au3
;===============================================================================
Func _FileInUse($sFilename, $iAccess = 0)
Local $aRet, $hFile, $iError, $iDA
Local Const $GENERIC_WRITE = 0x40000000
Local Const $GENERIC_READ = 0x80000000
Local Const $FILE_ATTRIBUTE_NORMAL = 0x80
Local Const $OPEN_EXISTING = 3
$iDA = $GENERIC_READ
If BitAND($iAccess, 1) <> 0 Then $iDA = BitOR($GENERIC_READ, $GENERIC_WRITE)
$aRet = DllCall("Kernel32.dll", "hwnd", "CreateFile", _
"str", $sFilename, _ ;lpFileName
"dword", $iDA, _ ;dwDesiredAccess
"dword", 0x00000000, _ ;dwShareMode = DO NOT SHARE
"dword", 0x00000000, _ ;lpSecurityAttributes = NULL
"dword", $OPEN_EXISTING, _ ;dwCreationDisposition = OPEN_EXISTING
"dword", $FILE_ATTRIBUTE_NORMAL, _ ;dwFlagsAndAttributes = FILE_ATTRIBUTE_NORMAL
"hwnd", 0) ;hTemplateFile = NULL
$iError = @error
If @error Or IsArray($aRet) = 0 Then Return SetError($iError, 0, -1)
$hFile = $aRet[0]
If $hFile = -1 Then ;INVALID_HANDLE_VALUE = -1
$aRet = DllCall("Kernel32.dll", "int", "GetLastError")
;ERROR_SHARING_VIOLATION = 32 0x20
;The process cannot access the file because it is being used by another process.
If @error Or IsArray($aRet) = 0 Then Return SetError($iError, 0, 1)
Return SetError($aRet[0], 0, 1)
Else
;close file handle
DllCall("Kernel32.dll", "int", "CloseHandle", "hwnd", $hFile)
Return SetError(@error, 0, 0)
EndIf
EndFunc
Alles anzeigen
Leider hab ich das Gefühl, dass der Code nicht wirklich funktionert, denn wenn ich hier per IF-Else-Abfrage abfrage, ob eine bestimmte Datei geöffnet ist, bekomme zu aller erst gesagt, dass $iAccess zuvor nicht deklariert wurde, bzw erhalte ich immer die Info, dass die gesuchte Datei geöffnet ist, egal ob dies zutrifft oder nicht.
Vielleicht kann mich jemand aufklären, an welcher Stelle mein Kopf gerade quer steht
Euer,
MadCatz
ok, dass hat ich nicht gesehen
danke autoBert
Dann werd ich einfach mal bei 0 anfangen und alles ohne einen vorherigen blick zu riskieren schreiben
Hi, ich weiß der Post ist schon ziemlich alt, aber gibt es auch eine ensprechende AU3 mit Database um sich deine Arbeit mal anzusehen?
Wäre nämlich sehr interessant das Ganze mal in Action zu erleben
Viele Grüße,
MadCatz
So ich bins wieder mein PC läuft endlich wieder
Hab jetzt leider eiige Probleme mit dem Code, die vorher nicht waren, bin dabei diese zu finden und zu neutralisieren!
Edit:
Die erste komplette Version (v.0.8.0.0) ist fertig und befindet sich in der Testphase.
Feautres der Version:
- Checkt ob Plex berites gestartet wurde, falls nicht bietet euch "Plex-Notificator" an Plex-Media-Server für euch zu starten
- Checkt die beiden angelegte Excel Tabellen (Filme und Serien) auf neuen Inhalt
- Wenn neuer Inhalt gefunde wurde wird Outlook gestartet und zuvor eingetragene E-Mail Kontakte darüber Informiert (Film-/Serien-Titel, Qualität [Bild und Ton], Erscheinungsjahr oder Staffel)
-Legt eine Sicherung der Exceldatei und aller anderen benötigten Konfigurationsdateien an, falls einmal ein Fehler auftreten sollte.
Gruß,
MadCatz
Hey Zusammen,
also ein Update gibt es, sofern mein PC wieder funktioniert, Win10 da einiges zerlegt -.-!
Sobald alles wieder läuft melde ich mich wieder und stelle euch schon einmal die bisherige Funktionsweise vor.
Bisher sind jedoch zwingend MS Outlook und Excel notwendig
Viele Grüße,
MadCatz
Hallo Leute,
ich bins MadCatz
Wie der Titel verrät bin ich momentan damit beschäftigt einen Plex-Notificator zu schreiben, da es so etwas noch nicht selbst von Plex gibt.
Für alle die nicht wissen, was Plex ist:
Plex ist Dienst, der webbasiert und/oder anwendungsbasiert einen eigenen Mediaserver fürs Heimnetzwerk bereitsstellt und wenn der Internetprovider unterstützt auch über das Web erreichbar ist.
Jedenfalls bastell ich gerade an einem Script, dass allen Usern, die mit dem Server verbundenen sind, eine Info gibt, dass der Server nun Online und erreichbar ist und die Inhalte abgerufen werden können.
Zudem wird den verbundenen Usern mitgeteilt, wenn auf dem Server neue Filme, Serien oder Musik verfügbar für den Stream sind.
Ich bin noch in der Alphaphase und das Script ist momentan explizit auf meine eigenen Bedürfnisse zugeschnitten, da ich aber davon ausgehe, dass mehr Personen als nur ich auf der suche sind nach einem solchen Tool habe ich mich einmal dran gesetzt
Wenn die Alphaphase vorbei ist, werde ich das Script für die Allgemeinheit anpassen, sodass jeder der sich für den Einsatz des Tool interessiert dieses auch verwenden kann
PS: Die Anwendung funktionert bereits einwandfrei, ist aber bisher nur auf Filme ( der Rest folgt noch!) und ein E-Mailprogramm zugeschnitten.
Viele Grüße,
MadCatz
$File = FileExists("C:\Users\Compare.ini")
$a = Ubound($Range_Data)-2
$b = Ubound($Range_Data)-1
MsgBox(0,0,$a & " | " & $b,0)
If Not $File then
$Write = IniWrite("C:\Users\Compare.ini", "Filme",$b, "leer")
$Read = IniReadSection("C:\Users\Compare.ini", "Filme")
_ArrayDisplay($Read)
$c = Ubound($Read)-2
$d = Ubound($Read)-1
MsgBox(0,0, $c & " | " & $d,0)
$R= $Read[$c][0]
$Q = $Read[$d][0]
MsgBox(0,"Hi", $R & " | " & $Q,0)
If $R = $Q then
MsgBox(0,0, "Kein neuer Content", 0)
Elseif $R < $Q then
For $i = $R to $Q
$M = $Range_Data[$i][0]
MsgBox(0,0,$M,0)
Next
EndIf
Elseif $File Then
If $a <> $b then
$Read = IniReadSection("C:\Users\Compare.ini", "Filme")
$d = Ubound($Read)-1
$Q = $Read[$d][0]
If $b <> $Q Then
MsgBox(0,0,$b & " | " & $Q ,0)
IniWrite("C:\Users\Compare.ini", "Filme", @CR & $b, "leer")
$Read = IniReadSection("C:\Users\Compare.ini", "Filme")
_ArrayDisplay($Read)
$c = Ubound($Read)-2
$d = Ubound($Read)-1
MsgBox(0,0, $c & " | " & $d,0)
$R= $Read[$c][0]
$Q = $Read[$d][0]
MsgBox(0,"Hi", $R & " | " & $Q,0)
If $R = $Q then
MsgBox(0,0, "Kein neuer Content", 0)
Elseif $R < $Q then
For $i = $R to $Q
$M = $Range_Data[$i][0]
MsgBox(0,0,$M,0)
Next
EndIf
Alles anzeigen
Läuft, muss natürlich noch Sinvoll in eine Funktion gepackt werden, da ich den Code noch mehrmals verwenden werden muss, hier wird er a scon 2x verwendet
Schließe jetzt den Beitrag
Hi Leute,
ich hab das Problem gestern noch alleine gelöst
Musste mir mal den Kopf frei schreiben, und quasi anderen mein Problem erklären, damit ich wusste wie ich es lösen kann
Mein fertigest Script werde ich euch heute Mittag noch reinstellen, damit ihr wisst, wie ich es gelöst habe
Ich danke euch das ihr euch die Zeit genommen habt, um mir zu Antworten
Vielen Dank