配布用のスクリプトをスタンドアロンの exe としてコンパイルする場合、exe 自体に設定を保存して、外部ファイルへの書き込みを省く方法はありますか? これの主な動機は、インストール プロセスを開発する手間を省くことです。数バイトだけ保存する必要があります。
また、画像などのリソースをexeにコンパイルできますか?
配布用のスクリプトをスタンドアロンの exe としてコンパイルする場合、exe 自体に設定を保存して、外部ファイルへの書き込みを省く方法はありますか? これの主な動機は、インストール プロセスを開発する手間を省くことです。数バイトだけ保存する必要があります。
また、画像などのリソースをexeにコンパイルできますか?
代替データ ストリームを使用すると、ワームの可能性が広がるので、私はそのようにはしません。実行中にファイルが書き込みアクセスのためにロックされるため、exe 自体に構成データを書き戻すことはできません。
私が通常行うことは%A_AppData%\%A_ScriptName%\%A_ScriptName%.ini
、スクリプトの開始時に構成データを保存することです。キーが見つからない場合は、IniRead を使用します。これは、スクリプトが初めて実行される場合です。OnExit サブルーチン/関数内の補完的な IniWrite は、必要に応じて ini ファイルを作成します。この方法では、インストールは不要で、構成は適切で使い慣れた場所に保存されます。
autohotkey
フォーラムは以前にこの質問に対処しました。その場合、ユーザーは余分なファイルを望んでいませんでした -- ピリオド。
その方法は、ファイルシステムを使用して代替データを保存することでした。残念ながら投稿が見つかりません。
より簡単な方法は、fileinstall
コマンドを使用することです。スクリプトがコンパイルされると、外部ファイルは exe 内に格納されます。
スクリプトが exe と同じコマンドを実行すると、実行中のスクリプトと同じディレクトリにファイルがコピーされます。シンプルで効果的な「インストール」です。構成ファイルを少しテストすると、fileinstall
コマンドをスキップできます。
スキップするfileinstall
と、「インストール」後に構成に変更が加えられる可能性があります