EncFS Windows Commandline Befehls Übergabe

Anfängerfragen zum Programmieren mit PureBasic.
Coder Pinhead
Beiträge: 234
Registriert: 27.02.2007 10:54
Wohnort: Germany

EncFS Windows Commandline Befehls Übergabe

Beitrag von Coder Pinhead »

Hallo,

Hat zufällig jemand eine Idee wie ich von EncFS den unten genannten Befehl ausführe kann und permanent versteckt im Hintergrund Laufen lasse damit meine Verschlüsselte Partition gemountet bleibt?

Per Batch sehe das ganze so aus:

Code: Alles auswählen

@echo off
echo PASSWORT|encfs Y:\Encryption Z:\ -S
Hatte das ganze schon mit RunProgram versucht kriege es aber irgend wie nicht hin.

Danke schon mal im Voraus für die Hilfe :D .
Windows 8.1 x64 | PureBasic v5.x x86/x64

Sämtliche Syntax, Tipp und Rechtschreibfehler unterliegen dem Copyright des Verfassers.
Benutzeravatar
Kiffi
Beiträge: 10711
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: EncFS Windows Commandline Befehls Übergabe

Beitrag von Kiffi »

Coder Pinhead hat geschrieben:Hatte das ganze schon mit RunProgram versucht kriege es aber irgend wie nicht hin.
hast Du den Parameter #PB_Program_Hide verwendet?

Grüße ... Kiffi
a²+b²=mc²
Coder Pinhead
Beiträge: 234
Registriert: 27.02.2007 10:54
Wohnort: Germany

Re: EncFS Windows Commandline Befehls Übergabe

Beitrag von Coder Pinhead »

Kiffi hat geschrieben:hast Du den Parameter #PB_Program_Hide verwendet?
Nein, hatte es über ein Fenster mit HideWindow versucht.

Aber was nützt es mir wenn ich nicht mal über die Command-line hinaus komme was ich oben geschrieben hab. Per Batch-Datei lässt sich EncFS Prima starteten und Mounten nur halt nicht von einer selbst Kompilierten *.exe per RunProgramm.
Zuletzt geändert von Coder Pinhead am 14.11.2011 18:36, insgesamt 1-mal geändert.
Windows 8.1 x64 | PureBasic v5.x x86/x64

Sämtliche Syntax, Tipp und Rechtschreibfehler unterliegen dem Copyright des Verfassers.
Benutzeravatar
Kiffi
Beiträge: 10711
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: EncFS Windows Commandline Befehls Übergabe

Beitrag von Kiffi »

Coder Pinhead hat geschrieben:nur halt nicht von einer selbst Kompilierten *.exe per RunProgramm.
diese Info hätte in Dein Urspungsposting gehört. Ist aussagekräftiger
als "kriege es aber irgend wie nicht hin".

Dann schreib halt ne Batch auf die Platte und führe diese aus.

Grüße ... Kiffi
a²+b²=mc²
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: EncFS Windows Commandline Befehls Übergabe

Beitrag von ts-soft »

Code: Alles auswählen

RunProgram("EncFS", #DQUOTE$ + "PASSWORT|encfs Y:\Encryption Z:\ -S" + #DQUOTE$, "", #PB_Program_Hide | #PB_Program_Open)
Wobei ich mir jetzt nicht sicher bin, ob #PB_Program_Open für Hide erforderlich ist, #DQUOTE ist evtl. auch
falsch, einfach probieren.

Gruß
Thomas
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Coder Pinhead
Beiträge: 234
Registriert: 27.02.2007 10:54
Wohnort: Germany

Re: EncFS Windows Commandline Befehls Übergabe

Beitrag von Coder Pinhead »

Kiffi hat geschrieben:Dann schreib halt ne Batch auf die Platte und führe diese aus.
Ist aber nicht gerade die beste und Komfortabelste Lösung da dann ständig die Command-line in der Taskleiste laufen muss.
ts-soft hat geschrieben:Wobei ich mir jetzt nicht sicher bin, ob #PB_Program_Open für Hide erforderlich ist, #DQUOTE ist evtl. auch falsch, einfach probieren.
Funktioniert weder mit "DQUOTE$, #PB_Program_Hide, #PB_Program_Open noch ohne.

Keiner eine Idee? Würde das schon gerne in PureBasic zumlaufen bekommen damit ich mir später noch ein Tray zusammenbasteln kann zum Mounten und Unmounten der Verschlüsselten Festplatte. Hauptsache das Grundgerüst Funktioniert schon mal. Notfalls muss ich halt auf Sachen wie "Bat To Exe Converter" zurückgreifen.
Windows 8.1 x64 | PureBasic v5.x x86/x64

Sämtliche Syntax, Tipp und Rechtschreibfehler unterliegen dem Copyright des Verfassers.
Benutzeravatar
NeoXiD
Beiträge: 6
Registriert: 17.10.2011 18:51
Computerausstattung: http://www.sysprofile.de/id157572
Wohnort: Schweiz
Kontaktdaten:

Re: EncFS Windows Commandline Befehls Übergabe

Beitrag von NeoXiD »

ts-soft hat geschrieben:

Code: Alles auswählen

RunProgram("EncFS", #DQUOTE$ + "PASSWORT|encfs Y:\Encryption Z:\ -S" + #DQUOTE$, "", #PB_Program_Hide | #PB_Program_Open)
Wobei ich mir jetzt nicht sicher bin, ob #PB_Program_Open für Hide erforderlich ist, #DQUOTE ist evtl. auch
falsch, einfach probieren.

Gruß
Thomas
Ich denke ich sehe da das Problem. Das Zeichen "|" ist für Piping und leitet eine Eingabe direkt an eine Ausgabe um. Mit einer .bat funktioniert dies ja wunderbar, doch wenn du "EncFS" mit dem oberen Befehl startest, wird das Programm komplett falsche Parameter erhalten, da PureBasic dieses Pipingzeichen logischerweise nicht beachtet. (Muss es auch nicht, seie dazu angemerkt)
Ich habe mir dein Programm genauer angeschaut und dabei bemerkt, dass es das Passwort per stdin einliest. Um in PureBasic den gewünschten Effekt zu erreichen, musst du also so vorgehen:

Code: Alles auswählen

PID = RunProgram("EncFS", "C:\Crypted C:\plain -S", "", #PB_Program_Hide | #PB_Program_Open | #PB_Program_Write)
WriteProgramStringN(PID, "DEIN PASSWORT HIER")
Damit ging hier alles problemlos :) Mit dem Flag #PB_Program_Read und ReadProgramData/String kannst du sogar noch die Rückgabe von EncFS auslesen, also könntest du somit z.B. eine Fehlerbehandlung noch einbauen. (Bei einem falschem Key oder ähnliches) Viel Spass damit und noch einen schönen Abend!
Gruss
NeoXiD

Bild
Coder Pinhead
Beiträge: 234
Registriert: 27.02.2007 10:54
Wohnort: Germany

Re: EncFS Windows Commandline Befehls Übergabe

Beitrag von Coder Pinhead »

NeoXiD hat geschrieben:

Code: Alles auswählen

PID = RunProgram("EncFS", "C:\Crypted C:\plain -S", "", #PB_Program_Hide | #PB_Program_Open | #PB_Program_Write)
WriteProgramStringN(PID, "DEIN PASSWORT HIER")
Danke, das wars :allright: .

Man warum bin ich nicht selbst drauf gekommen das Passwort mit WriteProgramStringN zu übergeben na ja was solls manchmal sieht man den Wald vor lauter Bäume nicht :lol: .
Windows 8.1 x64 | PureBasic v5.x x86/x64

Sämtliche Syntax, Tipp und Rechtschreibfehler unterliegen dem Copyright des Verfassers.
Antworten