問題タブ [virtual-file]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
603 参照

winapi - 「仮想」ファイルを作成して実行する

私のグーグル検索は私をここに導きました:仮想ファイルを作成する方法は? その記事では、作成者が一時ディレクトリにファイルを抽出し、そこから作業することを提案しました。

実際、私がやりたいことは、作成者が最初に求めていたことに似たものです。「仮想」ファイルを作成し、それに「パス」を割り当てて、標準の Windows ファイルシステム API を呼び出す他のアプリケーションが理解できるようにします。これは、複製や無断使用を防止するためのものです。

私がやりたいことのコンセプト:

私たちの会社では、プログラムを開発しましたが、それは標準の EXE アプリケーションではなく、内部形式 (「アプリケーション」形式の拡張子が .MDL であると仮定します) を持ち、ランタイム環境によって実行されるため、ランタイムをインストールする必要がありますクライアント マシン。この概念は Java に似ています (ただし、これは Java ではありません。理解を深めるために比較するだけです)。ここでやりたいことは、この .MDL ファイルを暗号化し、通常の .exe ファイルにリソースとして含めることです。この .exe ファイルは、実行しても問題ないかどうかを確認し (ライセンス条件、キー、認証などを確認します)、認証された場合は、.MDL ファイルを復号化して抽出し、ランタイムを実行して、.MDL の仮想パスを渡します。ファイルをランタイムへの引数として渡します。明らかな理由から、復号化された .mdl ファイルをディスクのどこかに書き込みたくありません。

それで、これを行う方法はありますか?PS: 私は EA Games のゲームから着想を得ました... それらを実行してプロセス テーブルを調べると、通常のゲームの exe が表示され、一定時間後に ~A003 のような名前の新しいプロセスが生成されます。 tmp

0 投票する
2 に答える
1015 参照

createfile - Win32ファイルAPIをオーバーライドして仮想ファイルを実装する

CreateFile()などのWin32ファイルAPIをオーバーライドする方法はありますか?アプリに自分のアプリ専用の仮想ファイルを表示させたいのですが、仮想ファイルは実際には存在しません。

0 投票する
2 に答える
9737 参照

c# - .NET 用の単純な「仮想ファイル」クラスはありますか (ソースが利用可能な場合は c#)?

長い間、特定の場所にファイル (またはディレクトリ、またはその両方など) があるとオペレーティング システムが認識できるようにする機能を持つ .NET のクラスを探していましたが、すべてのフックはコードで関数 (またはイベント?) に渡されます。

例:

「x:\fake_directory\」を参照すると、「fake_file.txt」というファイルが表示されます。ファイルをダブルクリックすると、Notepad.exe が起動し、ファイルの内容に "Hello World" と表示されます。「Hello World」は私の C# コードから来ます。

クラスにできることの例(おそらくこれでよりよく説明できるでしょう):

もちろん、これは私が探しているものの単純化されたバージョンです...しかし、うまくいけば、あなたはアイデアを得るでしょう.

これが 100% 必要な理由は、通信するためにファイル システムの読み取りと書き込みが必要なレガシー コードまたは独自の (そして非常に古いレガシー ガベージ) システムを操作するためです。

0 投票する
1 に答える
1086 参照

eclipse - Eclipse仮想ファイルリソースを作成する方法

Eclipseで仮想ファイルリソースを作成する方法はありますか?

私の定義では、そのようなリソースは(Eclipseの場合)Eclipseプロジェクトのワークスペース内の特定の場所にあるように見えますが、実際には別の場所に格納されています。

私の全体的な目標は、相対的なインポート場所に基づいて、プロジェクトの依存関係(jarインポート)からxmlスキーマドキュメントを解決することです。この目標を達成することはできますが、解決されたドキュメントを、実際にソースフォルダーに書き込まずに、インポートしたドキュメントと比較して、プロジェクトフォルダー(Eclipseプロジェクト内)に表示​​する方法が必要です(チェックしないでください)。 -ソース管理へ)。

目標は、xmlドキュメントをさまざまなEclipseエディターで適切に解決できるようにすると同時に、参照されるドキュメント(XSDなど)の一部をプロジェクトのクラスパス上のアーカイブ内(またはプロジェクトによって参照される他の場所)に配置できるようにすることです。 、 本当)。

私の最初の攻撃計画は、ビルドパスが変更されたときにそのようなドキュメントを仮想リソースに解決するカスタムビルダープラグインを作成することです。(そのような「仮想ファイルリソース」が作成できるものであると仮定します)。

どんな助けでも大歓迎です。

0 投票する
2 に答える
1473 参照

c - char文字列を仮想ファイルとして読み取る

質問は奇妙に思えるかもしれませんが、スペルを間違えたわけではありません。ダウンロードしたデータをHDDに書き込まずに解凍したいのです。そのために、動的に割り当てられたバッファーにダウンロードし、使用するzlibラッパー(miniunzip)に送信します。問題は、この実装が非常に長く(2〜3K行)、数行だけ書き直す必要がないようにすることです。FILE *構造を介してバッファを読み取る方法があるかどうかを知りたいです(miniunzipは独自の構造を使用しますが、ローダーの下に「fopen()」が隠れているのを見つけました)。それが助けになるなら、私はその長さを知っています。

事前に感謝し、文法が貧弱で失礼します。

私はWindowsとUNIXシステム(OSX / GNU Linux)の両方で作業しています。

0 投票する
1 に答える
641 参照

vb.net - BoxedAPP でメモリに常駐するファイルを実行する方法

BoxedAPP のライセンスを購入しましたが、サポート メールに助けを求めて書いたところ、なんらかの回答がありました。

SDK の例をダウンロードしましたが、重要な例はすべて C# で記述されており (トランスレータを使用しても理解できません)、vb.net の例は、それらを実行しないストア ファイル用です。

私の質問は簡単です。BoxedAPP を使用してファイルをメモリに保存し (ファイルを仮想化)、メモリから実行するにはどうすればよいですか?

たとえば、「test.avi」という名前のビデオファイルを「my.resources.test」として仮想化し、「process.start」で実行したい場合、これは再帰を仮想化しようとしましたが実行しませんでした:

0 投票する
0 に答える
83 参照

python - python - 仮想フィットを子プロセスに配置する

子プロセスを実行したいのですがsubprocess.Popen、アプリケーションは構成ファイルを読み取ります。

アプリケーションがデータベースに接続します。アプリケーションを実行する前に、ssh トンネルを作成し、設定ファイルを上書きしてトンネルに接続します。(私は実行/path/to/application/app.exeし、アプリケーションの構成は です/path/to/application/app.ini)しかし、ユーザーが構成ファイルを読み取れるようにしたくありません。(データベースへのユーザーとパスワード)

/path/to/application/app.ini親プロセスを読み取りたいときに独自の仮想構成ファイルを配置する「サンドボックス」で子プロセスを実行できますか?

0 投票する
1 に答える
346 参照

php - 文字列を仮想ファイルに書き込みますか?

私たちの先生はウェブサーバーを持っていて、私たちはいくつかのことをテストすることができます. Putty でサーバーに接続し、次のコマンドを試しました。

ttyACM0ストリームをシリアル インターフェイスにリダイレクトする仮想ファイルです。この特定のコマンドは、RGB LED の色を変更します。execしかし、同じコマンドは php ではorでは機能しませんshell_exec:

2番目の呼び出しが機能するため、私はそれを知ってexecおり、shell_exec無効になっていませんshell_exec。私の次のアイデアは を使用するfopen("php://memory", "a");ことでしたが、これらのラッパーの使用方法がわかりません。だから私の質問:

  • これらのラッパーを正しく使用するには? (多分好き"php://memory/dev/ttyACM0"
  • より良い解決策はありますか?