2017-06-28 2 views
1

Ich bin mit Elektronen und versuchen, ein Ergebnis zu erreichen, wo der Benutzer auf die gespeicherte Datei klickt, die die Elektronenapplikation öffnet und erhält die Daten der Datei.
Bisher habe ich getan:
1) Erstellt die benutzerdefinierte Erweiterung Registrierung und fügte den Befehl zum Öffnen der Datei mit reg-Datei. JetztElectron erhalten Daten von benutzerdefinierten Erweiterung Datei

Windows Registry Editor Version 5.00 

[HKEY_CLASSES_ROOT\.wtpd] 
@="Water Treatment Plant Design File" 

[HKEY_CLASSES_ROOT\.wtpd\DefaultIcon] 
@="C:\\\\Users\\\\user\\\\Downloads\\\\wtpd_file.ico" 

[HKEY_CLASSES_ROOT\.wtpd\shell] 

[HKEY_CLASSES_ROOT\.wtpd\shell\open] 

[HKEY_CLASSES_ROOT\.wtpd\shell\open\command] 
@="\"C:\\Users\\user\\Desktop\\ENV\\electron.exe\" \"%1\"" 

2) öffnet es die Elektronen Anwendung, aber ich möchte innerhalb der .wtpd Datei, um Berechnungen, die Daten zu erhalten.

Ich habe versucht, dies zu verwenden, aber die Links in diesem Beispiel sind gebrochen. https://www.theodo.fr/blog/2015/12/link-files-to-application-in-windows/

Antwort

1

Es scheint, dass Windows den Dateipfad als Argument an die Anwendung (in diesem Fall Ihre Electron App) übergibt. So können Sie process.argv verwenden, um den Dateipfad abzurufen.

var filePath = process.argv[1]; 
var data = fs.readFileSync(openFilePath, 'utf-8'); 

Offensichtlich können Sie Schecks wie process.argv.length >= 2 hinzuzufügen, um das Argument zu gewährleisten, wurde übergeben (falls der Antrag wurde von Hand geöffnet, nicht durch Fenster aufgerufen). Aber das ist im Allgemeinen, wie Sie den Inhalt der Datei erhalten könnten.

+0

https://github.com/electron/electron/issues/4402 – user123456789

+0

gut bekam die Antwort https://stackoverflow.com/questions/30815446/how-to-pass-command-line-argument-in-electron – user123456789

Verwandte Themen