2014-12-07 51 views
1

我想我知道這個問題的答案(沒有),但我想我會問:AIR應用程序運行時可能禁用Windows開始菜單嗎?

是否有可能同時AIR應用程序運行時禁用Windows開始菜單?

我正在修改的舊版應用程序需要以屏幕大小的「窗口」模式運行才能訪問本地菜單系統。有一些按鈕靠近屏幕的底部邊緣,觸發開始菜單非常容易。

我知道我可以,也許應該重做菜單以使用Flex組件並運行全屏(開始菜單顯然被禁用),但預算緊張。

回答

1

我認爲這是可能的只能使用外部軟件。

爲此,我們需要:

爲此,我寫了這個代碼,它的工作非常好。

在應用程序啓動時,我隱藏了Windows「開始」按鈕,退出應用程序時顯示它。

<?xml version="1.0" encoding="utf-8"?> 
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" 
         xmlns:s="library://ns.adobe.com/flex/spark" 
         xmlns:mx="library://ns.adobe.com/flex/mx" creationComplete="init(event)"> 

    <fx:Script> 
     <![CDATA[ 

      import mx.events.FlexEvent 

      private const exe_name:String = 'StartKiller.exe' 
      private var native_process_startup_info:NativeProcessStartupInfo 
      private var exe_file:File = File.applicationDirectory.resolvePath(exe_name) 
      private var process:NativeProcess 
      private var process_args:Vector.<String> = new Vector.<String>()    

      protected function init(event:FlexEvent):void 
      { 
       // run our exe to hide start button 
       native_process_startup_info = new NativeProcessStartupInfo() 
       native_process_startup_info.executable = exe_file 

       process = new NativeProcess() 
       process.start(native_process_startup_info) 

       NativeApplication.nativeApplication.addEventListener(Event.EXITING, function(e:Event):void{ 

        // exit our exe and show start button 
        native_process_startup_info = new NativeProcessStartupInfo() 
        native_process_startup_info.executable = exe_file 

        process_args = new Vector.<String>() 
        process_args.push('exit')  

        native_process_startup_info.arguments = process_args 

        process = new NativeProcess() 
        process.start(native_process_startup_info) 

       }) 
      } 

     ]]> 
    </fx:Script> 
</s:WindowedApplication> 

我也創建了,如果你想改變你的代碼之前,測試它的安裝,你可以下載它here

我希望所有可以幫助你。

+0

嘿謝謝!我會試一試。 – 2014-12-07 20:38:31

相關問題