Torna indietro   Hardware Upgrade Forum > Software > Microsoft Windows > Microsoft Windows 8.1 e 10

Recensione Samsung Galaxy S26+: sfida l'Ultra, ma ha senso di esistere?
Recensione Samsung Galaxy S26+: sfida l'Ultra, ma ha senso di esistere?
Equilibrio e potenza definiscono il Samsung Galaxy S26+, un flagship che sfida la variante Ultra e la fascia alta del mercato con il primo processore mobile a 2nm. Pur mantenendo l'hardware fotografico precedente, lo smartphone brilla per un display QHD+ da 6,7 pollici d'eccellenza, privo però del trattamento antiriflesso dell'Ultra, e per prestazioni molto elevate. Completano il quadro la ricarica wireless a 20W e, soprattutto, un supporto software settennale
Zeekr X e 7X provate: prezzi, autonomia fino a 615 km e ricarica in 13 minuti
Zeekr X e 7X provate: prezzi, autonomia fino a 615 km e ricarica in 13 minuti
Zeekr sbarca ufficialmente in Italia con tre modelli elettrici premium, X, 7X e 001, distribuiti da Jameel Motors su una rete di 52 punti vendita già attivi. La Zeekr X parte da 39.900 euro, la 7X da 54.100: piattaforma a 800V, chip Snapdragon di ultima generazione, ricarica ultraveloce e un'autonomia dichiarata fino a 615 km WLTP. Le prime consegne sono previste a metà aprile
Marathon: arriva il Fortnite hardcore
Marathon: arriva il Fortnite hardcore
Marathon è il titolo multiplayer competitivo del momento. Ecco quali sono le caratteristiche di gioco principali, insieme alle nostre prime considerazioni dopo qualche "run" nell'extraction shooter di Bungie
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 20-04-2015, 12:29   #1
Drin-Drina
Member
 
L'Avatar di Drin-Drina
 
Iscritto dal: Jun 2009
Messaggi: 40
Mancato focus su sw eseguito all'avvio

Buongiorno a tutti,
ho un serio problema sull'avvio automatico di un browser web.
Vi spiego il mio problema. Ho la necessità di avviare un browser (possibilmente chrome o al massimo firefox) automaticamente all'avvio di windows, a schermo intero e soprattutto che quest'ultimo sia la finestra attiva all'interno di esplora risorse.
Ho provato di tutto, su vari computer con windows 8 ma all'avvio, in maniera apparentemente random (a volte lo fa a volte no), il browser si avvia ma non risulta la finestra attiva di windows. Essendo a schermo intero l'unico modo che ho di accorgermene è utilizzare una periferica di input per verificare se questa scrive nella casella di testo impostata nella pagina iniziale del browser
Mi spiego meglio. Immaginate di avere impostato www.google.it come pagina iniziale. Se avviate il browser automaticamente all'avvio a tutto schermo, senza intervenire in alcun modo, dovreste ritrovarvi sulla schermata di google con il cursore lampeggiante posizionato sulla barra di ricerca (autofocus).
Bene a me si avvia tutto correttamente ma il browser non risulta essere la finestra attiva...
Ho provato molte soluzioni ma il problema persiste.
Provato chrome in modalità metro, in modalità normale, in modalità kiosk (e varie altri comandi da suffisso), cambiando browser non cambia nulla, provato ad avviare in esecuzione automatica, creando un task all'accesso, un task posticipato (pensavo potesse essere qualcosa del tipo "si avvia prima chrome e poi qualcos'altro che mi sposta il focus" ma niente), provato con un sw terze parti per l'avvio automatico. Niente, non riesco a venirne a capo, anche perchè la cosa più fastidiosa è che a volte si avvia "onfocus" a volte no....
Cosa potrebbe essere, o come potrei aggirare il problema considerando che deve essere tutto automatizzato, ogni giorno i pc si accendono automaticamente da bios (timer o in emergenza wol) e si spengono con un task?
Grazie 1000
Drin-Drina è offline   Rispondi citando il messaggio o parte di esso
Old 20-04-2015, 13:51   #2
x_Master_x
Senior Member
 
L'Avatar di x_Master_x
 
Iscritto dal: May 2005
Messaggi: 8699
Utilizza un VBS ( o altro linguaggio a tua scelta ) che esegua il browser e allo stesso tempo attivi quella finestra. Per quanto riguarda i VBS devi cercare:
Codice:
WshShell ( WScript.CreateObject("WScript.Shell") )
WshShell.Run
WshShell.AppActivate
P.S. Con WshShell.Run e i suoi vari parametri è possibile avviare un programma con i vari stili
Codice:
1 Activate and display the window (restore size and position)
3 Activate & maximize
etc.
WshShell.AppActivate è un ulteriore conferma in caso che, per qualche motivo, la finestra non dovesse essere attiva.
__________________
.
Thread Ufficiali: EasyCrypt ~ Old Files Manager ~ OSD Clock
The real me is no match for the legend
.
x_Master_x è offline   Rispondi citando il messaggio o parte di esso
Old 20-04-2015, 15:39   #3
Drin-Drina
Member
 
L'Avatar di Drin-Drina
 
Iscritto dal: Jun 2009
Messaggi: 40
Quote:
Originariamente inviato da x_Master_x Guarda i messaggi
Utilizza un VBS ( o altro linguaggio a tua scelta ) che esegua il browser e allo stesso tempo attivi quella finestra. Per quanto riguarda i VBS devi cercare:
Codice:
WshShell ( WScript.CreateObject("WScript.Shell") )
WshShell.Run
WshShell.AppActivate
P.S. Con WshShell.Run e i suoi vari parametri è possibile avviare un programma con i vari stili
Codice:
1 Activate and display the window (restore size and position)
3 Activate & maximize
etc.
WshShell.AppActivate è un ulteriore conferma in caso che, per qualche motivo, la finestra non dovesse essere attiva.
Sei stato gentilissimo, sono assolutamente a digiuno di programmazione ma sto guardando qualche soluzione.
Ho preferito usare wshshell.Run "%comspec% /c start c:\chrome.lnk" inserendo nel link il suffisso --start-fullscreen altrimenti non riesco a farlo partire a tutto schermo ma solo massimizzato. Se non ho capito male devo utilizzare WshShell.AppActivate con l'argomento "chrome", corretto?

in definitiva il mio script è così:
set wshShell = CreateObject("WScript.Shell")
wshshell.Run "%comspec% /c start c:\chrome.lnk"
wshshell.appactivate("chrome")

mi chiedevo, esiste mica un modo per mantenere lo script attivo e controllare se perde il focus e nel caso ridarglielo?

Ultima modifica di Drin-Drina : 20-04-2015 alle 15:43.
Drin-Drina è offline   Rispondi citando il messaggio o parte di esso
Old 20-04-2015, 16:21   #4
x_Master_x
Senior Member
 
L'Avatar di x_Master_x
 
Iscritto dal: May 2005
Messaggi: 8699
Codice:
' x_Master_x
Option Explicit
Dim WshShell, Infinite
Infinite = 0

Set WshShell = CreateObject("WScript.Shell") 
WshShell.Run """X:\Cartella\Google\Chrome\Application\chrome.exe"" --kiosk https://www.google.it/", 1, False
WshShell.AppActivate("Google Chrome")
Do While Infinite = 0
 WshShell.AppActivate("Google Chrome")
 WScript.Sleep(100)
Loop
__________________
.
Thread Ufficiali: EasyCrypt ~ Old Files Manager ~ OSD Clock
The real me is no match for the legend
.

Ultima modifica di x_Master_x : 20-04-2015 alle 20:13.
x_Master_x è offline   Rispondi citando il messaggio o parte di esso
Old 20-04-2015, 18:08   #5
Drin-Drina
Member
 
L'Avatar di Drin-Drina
 
Iscritto dal: Jun 2009
Messaggi: 40
Quote:
Originariamente inviato da x_Master_x Guarda i messaggi
Codice:
' x_Master_x
Option Explicit
Dim WshShell

Set WshShell = CreateObject("WScript.Shell") 
WshShell.Run """X:\Cartella\Google\Chrome\Application\chrome.exe"" --kiosk https://www.google.it/", 1, True
WshShell.AppActivate("Google Chrome")
Do While WshShell.AppActivate("Google Chrome") = False  
  WshShell.AppActivate("Google Chrome")
  WScript.Sleep 1000  
Loop
Ma grandissimo!!!
Ci stiamo avvicinando...
Premesso che pare funzionare per il mio scopo se lanciato all'avvio, l'unico dubbio è che mi aspettavo che lo script intervenisse anche su azioni umane, nel senso, se premo su una finestra diversa non mi fa tornare il focus sulla finestra di chrome. Però ripeto se inserito in esecuzione automatica parrebbe funzionare quindi grazie mille.

Così per curiosità ho inserito un msgbox esattamente prima del loop per capire quando e se intervenisse realmente ma il msgbox mi compare solamente se chiudo chrome... Non dovrebbe comparire ogniqualvolta chrome perde il focus?
Qualcosa mi sfugge...
Drin-Drina è offline   Rispondi citando il messaggio o parte di esso
Old 20-04-2015, 20:10   #6
x_Master_x
Senior Member
 
L'Avatar di x_Master_x
 
Iscritto dal: May 2005
Messaggi: 8699
Riprova, ho aggiornato il codice. Il VBS è limitato senza le API...

P.S. Non quotare se non è necessario, soprattutto i codici.
__________________
.
Thread Ufficiali: EasyCrypt ~ Old Files Manager ~ OSD Clock
The real me is no match for the legend
.
x_Master_x è offline   Rispondi citando il messaggio o parte di esso
Old 20-04-2015, 21:49   #7
Drin-Drina
Member
 
L'Avatar di Drin-Drina
 
Iscritto dal: Jun 2009
Messaggi: 40
RISOLTO

Limitato o no è esattamente quello che cercavo.... ma proprio esatto esatto! Non so come ringraziarti
senza contare che mi hai fatto venire voglia di rispolverare vecchi codici.
Drin-Drina è offline   Rispondi citando il messaggio o parte di esso
Old 21-04-2015, 08:35   #8
Drin-Drina
Member
 
L'Avatar di Drin-Drina
 
Iscritto dal: Jun 2009
Messaggi: 40
Stavo pensando che per essere proprio al top sarebbe meglio sostituire Do While Infinite = 0 con un Do While chrome-è-aperto
Ho provato a guardare ma non sembra esserci un oggetto preposto, bisogna analizzare con Service.InstancesOf se esiste il Process.Name di chrome e agire di conseguenza (stoppare lo script). Viceversa lo script resta aperto se si chiude chrome e torna anche ad influire sul focus nel caso si riapra il browser.
Drin-Drina è offline   Rispondi citando il messaggio o parte di esso
Old 21-04-2015, 09:07   #9
x_Master_x
Senior Member
 
L'Avatar di x_Master_x
 
Iscritto dal: May 2005
Messaggi: 8699
Chrome lancia un moltitudine di processi, non uno solo. A quel punto dovresti usare WMI in loop con qualcosa tipo:
Codice:
"SELECT * FROM Win32_Process WHERE Name='chrome.exe'"
Lascio a te il compito, visto che ti è tornata la voglia
__________________
.
Thread Ufficiali: EasyCrypt ~ Old Files Manager ~ OSD Clock
The real me is no match for the legend
.
x_Master_x è offline   Rispondi citando il messaggio o parte di esso
Old 21-04-2015, 11:21   #10
Drin-Drina
Member
 
L'Avatar di Drin-Drina
 
Iscritto dal: Jun 2009
Messaggi: 40
Codice:
' x_Master_x
Dim WshShell, Infinite
Infinite = 0
Set WshShell = CreateObject("WScript.Shell") 
WshShell.Run """C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"" --start-fullscreen https://www.google.it/", 1, False
WshShell.AppActivate("Google Chrome")
strcomputer = "."
Set objwmiservice =  GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Do While Infinite = 0
Set colprocesslist = objwmiservice.execquery("SELECT * FROM Win32_Process WHERE Name = 'chrome.exe'")
if colprocesslist.count >0 Then
 'msgbox "bravo"
 WshShell.AppActivate("Google Chrome")
 WScript.Sleep(100)
else exit do
end if
'set colprocesslist.count = 0
Loop
Sembra funzionare.... Non mi è chiaro se il count si azzera quando ricomincia il loop... però se chiudo chrome lo script si interrompe, e allo stesso tempo l'autofocus funziona... quindi direi che ho (hai) raggiunto il risultato... o no?!
Ottimizzazioni?
Scusa se mi permetto di editarti il codice

EDIT: nelle impostazioni di chrome è necessario togliere la spunta alle app in background altrimenti NON si chiudono tutti i task chrome.exe che, come hai già detto te, ne fa aprire una marea all'avvio (ma se chiudo li termina tutti se si toglie la spunta)

Ultima modifica di Drin-Drina : 21-04-2015 alle 11:30.
Drin-Drina è offline   Rispondi citando il messaggio o parte di esso
Old 21-04-2015, 11:46   #11
Drin-Drina
Member
 
L'Avatar di Drin-Drina
 
Iscritto dal: Jun 2009
Messaggi: 40
Codice:
Dim WshShell, Infinite
Infinite = 0
Set WshShell = CreateObject("WScript.Shell") 
WshShell.Run """C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"" --start-fullscreen https://www.google.it", 1, False
WshShell.AppActivate("Google Chrome")
strcomputer = "."
Set objwmiservice =  GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

Set colprocesslist = objwmiservice.execquery("SELECT * FROM Win32_Process WHERE Name = 'chrome.exe'")
Do While colprocesslist.count >0
Set colprocesslist = objwmiservice.execquery("SELECT * FROM Win32_Process WHERE Name = 'chrome.exe'")
 'msgbox "bravo"
 WshShell.AppActivate("Google Chrome")
 WScript.Sleep(100)
Loop
Sembra funzionare anche così, peccato per il doppio Set, ma se non metto il secondo non esce dal loop e se non metto il primo non ci entra proprio in loop

Okok adesso sto esagerando
Drin-Drina è offline   Rispondi citando il messaggio o parte di esso
Old 21-04-2015, 12:37   #12
x_Master_x
Senior Member
 
L'Avatar di x_Master_x
 
Iscritto dal: May 2005
Messaggi: 8699
Codice:
' x_Master_x
Option Explicit
Dim WshShell, objWMIService, Infinite, colItems
Infinite = 0

Set WshShell = CreateObject("WScript.Shell") 
WshShell.Run "notepad.exe", 1, False

Set objWMIService = GetObject("winmgmts:\\.\root\CIMV2") 

Do While Infinite = 0
 Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_Process WHERE Name = 'notepad.exe'")
 If colItems.count = 0 Then
   WsCript.Echo "Quit"
   WScript.Quit
 End If
 WScript.Sleep(100)
Loop
Chiaro ora?
__________________
.
Thread Ufficiali: EasyCrypt ~ Old Files Manager ~ OSD Clock
The real me is no match for the legend
.
x_Master_x è offline   Rispondi citando il messaggio o parte di esso
Old 21-04-2015, 12:59   #13
Drin-Drina
Member
 
L'Avatar di Drin-Drina
 
Iscritto dal: Jun 2009
Messaggi: 40
Quote:
Originariamente inviato da x_Master_x Guarda i messaggi
Chiaro ora?
Di più

Codice:
' x_Master_x
Option Explicit
Dim WshShell, objWMIService, Infinite, colItems
Infinite = 0

Set WshShell = CreateObject("WScript.Shell") 
WshShell.Run """C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"" --start-fullscreen https://www.google.it", 1, False
WShshell.AppActivate("Google Chrome")
Set objWMIService = GetObject("winmgmts:\\.\root\CIMV2") 

Do While Infinite = 0
 Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_Process WHERE Name = 'chrome.exe'")
 If colItems.count = 0 Then
   'WsCript.Echo "Quit"
   WScript.Quit
 End If
 WshShell.AppActivate("Google Chrome")
 WScript.Sleep(100)
Loop
Adesso è proprio perfetto. Grazie 1000, è stato un piacere.
Drin-Drina è offline   Rispondi citando il messaggio o parte di esso
Old 21-04-2015, 15:13   #14
Drin-Drina
Member
 
L'Avatar di Drin-Drina
 
Iscritto dal: Jun 2009
Messaggi: 40
Che barba! ho cantato vittoria troppo presto...
Su vari computer AppActivate non funziona. Che frustrazione... sembra che provi a mettere onfocus la finestra ma resta in loop; nelle versioni di win con aero si vede lampeggiare alla frequenza del loop l'icona di chrome sulla barra delle applicazioni ma non lo mette onfocus. Ho letto in giro di vari problemi su questo dannato AppActivate ma non riesco a capire cosa non vada. Già ieri sera la tua prima versione probabilmente funzionava, solo che lo provavo su un computer "sbagliato". Quando sono arrivato a casa sul pc di casa (con stesso sysop) funzionava tutto e anche stamattina. Poi tornato in ufficio mi sono accorto che qua invece non va... Non funziona proprio l'appactivate.
Drin-Drina è offline   Rispondi citando il messaggio o parte di esso
Old 21-04-2015, 16:25   #15
x_Master_x
Senior Member
 
L'Avatar di x_Master_x
 
Iscritto dal: May 2005
Messaggi: 8699
Te l'avevo detto che i VBS sono limitati. Considerando che non voglio stare qui fino a natale...
Un eseguibile, fa tutto lui di quello che hai chiesto. L'unica cosa che devi fare tu è metterlo nella stessa directory dell'.exe di Chrome:
http://www.yourfilelink.com/get.php?fid=1057696

Password:
Spoiler:
hwupgrade.it
__________________
.
Thread Ufficiali: EasyCrypt ~ Old Files Manager ~ OSD Clock
The real me is no match for the legend
.

Ultima modifica di x_Master_x : 22-04-2015 alle 09:48.
x_Master_x è offline   Rispondi citando il messaggio o parte di esso
Old 21-04-2015, 16:41   #16
Drin-Drina
Member
 
L'Avatar di Drin-Drina
 
Iscritto dal: Jun 2009
Messaggi: 40
Ma come, io mi sbatto e tu mi porti la pappa pronta?!
Mi stavo orientando verso, autoitx e WinActivate... non vorrei abusare della tua pazienza ma non potresti rimuovermi la pagina iniziale di google.it e lasciare quella predefinita del browser? E magari passarmi il sorgente

EDIT: dai che natale è vicino

Ultima modifica di Drin-Drina : 21-04-2015 alle 16:44.
Drin-Drina è offline   Rispondi citando il messaggio o parte di esso
Old 22-04-2015, 09:53   #17
x_Master_x
Senior Member
 
L'Avatar di x_Master_x
 
Iscritto dal: May 2005
Messaggi: 8699
Fatto. La differenza con il VBS è tutta qui:
GetActiveWindow
SetActiveWindow
__________________
.
Thread Ufficiali: EasyCrypt ~ Old Files Manager ~ OSD Clock
The real me is no match for the legend
.
x_Master_x è offline   Rispondi citando il messaggio o parte di esso
Old 22-04-2015, 10:14   #18
Drin-Drina
Member
 
L'Avatar di Drin-Drina
 
Iscritto dal: Jun 2009
Messaggi: 40
Grazie ancora...
io ero arrivato a questo, ma pare non faccia il loop e non capisco perchè...

Codice:
Opt("WinTitleMatchMode", 2)
#include <MsgBoxConstants.au3>
Example()

Func Example()
   
    Run("C:\Program Files (x86)\Google\Chrome\Application\chrome.exe --start-fullscreen")

   Local $hWnd = WinWaitActive("[TITLE:Google Chrome]", "", 1)

    WinActivate($hWnd)

   
EndFunc   ;==>Example
Do
If WinActive("[TITLE:Google Chrome]") Then ; Check if Notepad is currently active.
    Else
    	WinActivate("[TITLE:Google Chrome]")
EndIf
Sleep(1000)
Until WinExists(("[TITLE:Google Chrome]")) = 1

Ultima modifica di Drin-Drina : 22-04-2015 alle 10:15. Motivo: Rimossi commenti sbagliati nel codice
Drin-Drina è offline   Rispondi citando il messaggio o parte di esso
Old 22-04-2015, 11:04   #19
Drin-Drina
Member
 
L'Avatar di Drin-Drina
 
Iscritto dal: Jun 2009
Messaggi: 40
ahahahh ho fatto un po' di casino!

Ce l'ho fatta, grazie 1000! Il tuo exe funziona alla perfezione ma adesso anche il mio scriptino autoit!!!!!
Adesso ricordo perchè mi piaceva programmare!

Codice:
Opt("WinTitleMatchMode", 2)
#include <MsgBoxConstants.au3>
Example()
Local $hWnd
Func Example()
    Run("C:\Program Files (x86)\Google\Chrome\Application\chrome.exe --start-fullscreen")
    Local $hWnd = WinWaitActive("[TITLE:Google Chrome]", "", 1)
    WinActivate($hWnd)
    While 1
		If WinExists("[TITLE:Google Chrome]") = 0 Then
			MsgBox($MB_SYSTEMMODAL, "Adieu", "Chrome è stato chiuso", 10)
			ExitLoop
		Else
			WinActivate("[TITLE:Google Chrome]")
		EndIf
		Sleep(100)
	WEnd
EndFunc
Drin-Drina è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione Samsung Galaxy S26+: sfida l'Ultra, ma ha senso di esistere? Recensione Samsung Galaxy S26+: sfida l'Ultra, m...
Zeekr X e 7X provate: prezzi, autonomia fino a 615 km e ricarica in 13 minuti Zeekr X e 7X provate: prezzi, autonomia fino a 6...
Marathon: arriva il Fortnite hardcore Marathon: arriva il Fortnite hardcore
HP Imagine 2026: abbiamo visto HP IQ all’opera, ecco cosa può (e non può) fare HP Imagine 2026: abbiamo visto HP IQ all’opera, ...
PNY RTX 5080 Slim OC, sembra una Founders Edition ma non lo è PNY RTX 5080 Slim OC, sembra una Founders Editio...
Panasonic LUMIX TZ300: la nuova compatta...
La società aerospaziale italiana ...
Il Politecnico di Milano guiderà ...
Amazon Leo punta ad aumentare la cadenza...
Pro Type Ergo: Razer si lancia a gamba t...
Artemis II: dal guasto risolto alla toil...
Le immagini e i video più spettac...
Previsioni drastiche di TrendForce: la D...
La PS6 portatile sarà più potente della ...
Toshiba annuncia i primi dischi FC-MAMR ...
Amazon Leo offrirà l'accesso a Internet ...
Alienware presenta i nuovi desktop Area-...
Fiat 600 benzina senza ibrido: 101 CV, c...
DJI Mini 4K Combo a 269€ o DJI Neo da 14...
Addio agli sprechi nel riciclo: il Fraun...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 22:38.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v