Adobe Air ScreenSaver: How to make use of windows settings button
I'm working on a screen saver for cooporate use that I've choosen to use Adobe Air for. Once I started building and installing my first tests I ran into a few things I didn't like when clicking the preview and settings buttons in the display properties of Windows. I decided to open up a small number of choices to the users by actualy giving them a "User Options" window. Windows is kind enough to pass some arguments along, so this was actualy pretty easy.
/c = Settings Mode
/p = A preview mode
/s = Run as Screen Saver (when you click preview or computer times out)
Step one was to create a listener set. In my case I put this in my top level application instead of my EnvironmentControl.as [in my Model-Glue-Flex framework] because I wanted to keep the entire app from initializing for a settings mode.
private function onPreInitialize():void {
NativeApplication.nativeApplication.addEventListener(InvokeEvent.INVOKE, onArgumentsPassed);
}
private function onArgumentsPassed(e:InvokeEvent):void {
if (e.arguments.indexOf("/p") != -1) {
this.exit();
} else if (e.arguments.indexOf("/c") != -1) {
this.settingsMode = true;
}
}
You'll notice that I have exited the screen saver on the preview mode. I did this because I found it annoying that windows would auto-launch the screen saver both on entering the tab in display properties as well as after saving and closing the settings window; These are the only two instances that the "/p" comes up in the arguments. The preview mode is suppose to launch the screen saver into mini-mode inside the faux computer screen in the pop-up, but I'm not sure how to do this or care to at this point.
Iqbal Singh wrote on 01/27/09 6:53 AM