スタートアップに登録
2008.05.02 Friday
AIRで作成したインストーラに、「デスクトップにショートカットを作成」は
あるのですが、「スタートアップに登録」がありませんでした。
できれば、「スタートアップに登録」したかったので調べてみました。
NativeApplication.nativeApplication.startAtLogin=true
というコードを実行すると、windowsの場合スタートアップに登録されます。
このコードを実行する場所は、たぶんどこでもいいみたいです。
今回はアプリケーションの起動時に行うようにしました。
このままだと、「スタートアップに登録」されるのが嫌なユーザが
スタートアップから削除しても、起動するたびにスタートアップに登録されてしまいます。
なので、一度「スタートアップに登録」したら、ファイルを作成して
そのファイルがあったらその後は実行しないようにしました。
var file:File = File.applicationDirectory.resolvePath(File.applicationDirectory.nativePath + "/init.lss");
if (!file.exists) {
try{
var stream:FileStream = new FileStream();
stream.open(file, FileMode.WRITE);
stream.writeUTF("INIT-OK");
stream.close();
NativeApplication.nativeApplication.startAtLogin=true
}
catch (err:Error){
}
}
try、catchを入れているのは、スタートアップに登録しているのに
また登録しようとしたらエラーになるのと、開発環境だとエラーになるからです。
「スタートアップに登録」は嫌がられる場合もありますが
状況に応じて使おうと思います。
あるのですが、「スタートアップに登録」がありませんでした。
できれば、「スタートアップに登録」したかったので調べてみました。
NativeApplication.nativeApplication.startAtLogin=true
というコードを実行すると、windowsの場合スタートアップに登録されます。
このコードを実行する場所は、たぶんどこでもいいみたいです。
今回はアプリケーションの起動時に行うようにしました。
このままだと、「スタートアップに登録」されるのが嫌なユーザが
スタートアップから削除しても、起動するたびにスタートアップに登録されてしまいます。
なので、一度「スタートアップに登録」したら、ファイルを作成して
そのファイルがあったらその後は実行しないようにしました。
var file:File = File.applicationDirectory.resolvePath(File.applicationDirectory.nativePath + "/init.lss");
if (!file.exists) {
try{
var stream:FileStream = new FileStream();
stream.open(file, FileMode.WRITE);
stream.writeUTF("INIT-OK");
stream.close();
NativeApplication.nativeApplication.startAtLogin=true
}
catch (err:Error){
}
}
try、catchを入れているのは、スタートアップに登録しているのに
また登録しようとしたらエラーになるのと、開発環境だとエラーになるからです。
「スタートアップに登録」は嫌がられる場合もありますが
状況に応じて使おうと思います。
