Se non vedi il banner pubblicitario disabilita il blocco nel browser, aiuterai questo sito a rimanere online, grazie!

Autore Aprire più MFD esterni con Autohotkey  (Letto 2860 volte)

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline Ripley

  • Ministro degli Esteri
  • Moderator
  • ***
  • Post: 7178
  • Karma: 20
Aprire più MFD esterni con Autohotkey
« il: 14 Gen 2012, 09:53:04 »
Sto sperimentando l'apertura automatica di n MFD esterni con Autohotkey, e funziona alla grande!

Sono partito da questo script su Orbiterwiki, in cui basta premere un paio di tasti in Orbiter per aprire degli MFD esterni, sempre nella stessa posizione ed ognuno con la sua dimensione!
Ho solo dovuto cambiare la hotkey predefinita perchè interferiva con il modulo "Videnie" di Artlav.

Si deve disabilitare l'opzione "Focus follows mouse" (Launchpad, scheda Parameters), altrimenti se l'MFD viene aperto "sopra" al puntatore, Orbiter perde il focus e lo script si blocca.
Alternativamente, si deve spostare il mouse lontano dall'area interessata, cioè, se apriamo 4 MFD in alto, uno accanto all'altro in orizzontale, dovremo prima spostare il mouse in basso sullo schermo.

Grazie all'utility "AU3_Spy.exe", presente nella cartella di Autohotkey, si possono trovare le posizioni x,y relative alla propria risoluzione video.
Avendo un monitor da 22" @ 1680x1050, ho deciso per ora di dimensionare la finestra di Orbiter a 1680x750 e di usare la striscia di 300 pixel in alto per aprire 4 MFD allineati, più un quinto a 800x600 su un secondo monitor touchscreen a fianco!

 :good:

I file di Autohotkey (ahk) sono dei semplici file di testo da mandare in "esecuzione" con un click destro.

VERSIONE 2.0

Dopo aver chiesto aiuto sul forum di AHK, ecco lo script per aprire automaticamente gli MFD ogni volta che si lancia Orbiter

Lo script è per la mia configurazione di doppio monitor (e loro relative risoluzioni). Gli MFD da 1 a 4 vengono aperti in alto sul monitor principale ed il numero 5 è quello che va a finire sul monitor 800x600 (che tengo a sinistra).

Modificate di conseguenza il numero totale di MFD (cancellando o aggiungendo) e le loro coordinate.

Codice: [Seleziona]
#Persistent
WinWait,ahk_class Orbiter Render Window
WinMinimize  ; Minimize the window found by WinWait.

SetKeyDelay,100,50

ExtMFD1PosX:=0
ExtMFD1PosY:=0
ExtMFD1Width:=350
ExtMFD1Height:=350

ExtMFD2PosX:=355
ExtMFD2PosY:=0
ExtMFD2Width:=350
ExtMFD2Height:=350

ExtMFD3PosX:=710
ExtMFD3PosY:=0
ExtMFD3Width:=350
ExtMFD3Height:=350

ExtMFD4PosX:=1065
ExtMFD4PosY:=0
ExtMFD4Width:=350
ExtMFD4Height:=350

ExtMFD5PosX:=-800
ExtMFD5PosY:=800
ExtMFD5Width:=658
ExtMFD5Height:=600

WinActivate,ahk_class Orbiter Render Window
Send ^{F4}
WinWait, Custom
Control, ChooseString, External Mfd, ListBox1, Custom
ControlClick, Button1, Custom
WinWait,MFD
WinSetTitle,ExtMFD1
WinMove,ExtMFD1,,%ExtMFD1PosX%,%ExtMFD1PosY%,%ExtMFD1Width%,%ExtMFD1Height%

WinActivate,ahk_class Orbiter Render Window
Send ^{F4}
WinWait, Custom
Control, ChooseString, External Mfd, ListBox1, Custom
ControlClick, Button1, Custom
WinWait,MFD
WinSetTitle,ExtMFD2
WinMove,ExtMFD2,,%ExtMFD2PosX%,%ExtMFD2PosY%,%ExtMFD2Width%,%ExtMFD2Height%

WinActivate,ahk_class Orbiter Render Window
Send ^{F4}
WinWait, Custom
Control, ChooseString, External Mfd, ListBox1, Custom
ControlClick, Button1, Custom
WinWait,MFD
WinSetTitle,ExtMFD3
WinMove,ExtMFD3,,%ExtMFD3PosX%,%ExtMFD3PosY%,%ExtMFD3Width%,%ExtMFD3Height%

WinActivate,ahk_class Orbiter Render Window
Send ^{F4}
WinWait, Custom
Control, ChooseString, External Mfd, ListBox1, Custom
ControlClick, Button1, Custom
WinWait,MFD
WinSetTitle,ExtMFD4
WinMove,ExtMFD4,,%ExtMFD4PosX%,%ExtMFD4PosY%,%ExtMFD4Width%,%ExtMFD4Height%

WinActivate,ahk_class Orbiter Render Window
Send ^{F4}
WinWait, Custom
Control, ChooseString, External Mfd, ListBox1, Custom
ControlClick, Button1, Custom
WinWait,MFD
WinSetTitle,ExtMFD5
WinMove,ExtMFD5,,%ExtMFD5PosX%,%ExtMFD5PosY%,%ExtMFD5Width%,%ExtMFD5Height%

WinActivate,ahk_class Orbiter Render Window
« Ultima modifica: 01 Nov 2013, 14:23:40 da Ripley »
Cougar 00736
OrbiterAddons/Vimeo

Offline LG965

  • Administrator
  • *****
  • Post: 5669
  • Karma: 22
  • Ama, e fà ciò che vuoi.
Re: Aprire più MFD esterni con Autohotkey
« Risposta #1 il: 14 Gen 2012, 15:09:54 »
bello!   :good:
Un saluto e un sorriso rallegrano l'anima.
Non mi piace la cultura moderna basata sull'immagine, preferirei fosse basata sull'onore.

Offline Ripley

  • Ministro degli Esteri
  • Moderator
  • ***
  • Post: 7178
  • Karma: 20
Re: Aprire più MFD esterni con Autohotkey
« Risposta #2 il: 14 Gen 2012, 20:29:43 »
Grazie Luigi!
Quanto mi divertono 'ste cose!!

Aggiungo che basta copiare in "esecuzione automatica" (C:\Documents and Settings\All Users\Menu Avvio\Programmi\Esecuzione automatica) il collegamento al nostro script AHK per farlo caricare all'avvio di Winzozz, ed ogni volta che lanceremo Orbiter si apriranno automaticamente gli MFD.
Se per un qualsiasi motivo non dovesse funzionare, o volessimo riaprire gli MFD che abbiamo chiuso (chissà perchè!!), basta cliccare col tasto destro sull'icona dello script e selezionare "Reload This Script".
« Ultima modifica: 12 Apr 2012, 17:02:25 da Ripley »
Cougar 00736
OrbiterAddons/Vimeo

Se non vedi il banner pubblicitario disabilita il blocco nel browser, aiuterai questo sito a rimanere online, grazie!

 


SimplePortal 2.3.7 © 2008-2024, SimplePortal