View Full Version : Programmi in avvio automatico che si spostano
radeon_snorky
26-10-2024, 12:52
ho due programmi (google keep e google calendar) che si avviano al login di win11 e sono posizionati "strategicamente" per averne sempre una comoda visualizzazione sul secondo monitor (ma il problema lo fa anche con un solo monitor)
quello che non capisco è perché dopo che li posiziono correttamente, al successivo avvio sono spostati di qualche pixel e così via fino a quando mi tocca doverli risistemare.
è risolvibile?
o devo cercare una qualche utility che gestisca il posizionamento delle finestre?
grazie
ho due programmi (google keep e google calendar) che si avviano al login di win11 e sono posizionati "strategicamente" per averne sempre una comoda visualizzazione sul secondo monitor (ma il problema lo fa anche con un solo monitor)
quello che non capisco è perché dopo che li posiziono correttamente, al successivo avvio sono spostati di qualche pixel e così via fino a quando mi tocca doverli risistemare.
è risolvibile?
o devo cercare una qualche utility che gestisca il posizionamento delle finestre?
grazie
Potresti usare uno script PowerShell...
# Specifica il percorso del programma che vuoi avviare
$programPath = "C:\ProgramFile\TUOPROGRAMMA\TUOPROGRAMMA.EXE"
# Avvia il programma
$process = Start-Process $programPath -PassThru
# Attendi che il processo sia pronto
Start-Sleep -Seconds 1
# Ottieni la finestra del processo
$hwnd = $process.MainWindowHandle
# Funzione per impostare la posizione e le dimensioni della finestra
function Set-WindowPosition {
param (
[int]$hwnd,
[int]$x,
[int]$y,
[int]$width,
[int]$height
)
# Importa le funzioni necessarie dalla libreria user32.dll
Add-Type @"
using System;
using System.Runtime.InteropServices;
public class User32 {
[DllImport("user32.dll")]
public static extern bool SetWindowPos(int hWnd, int hWndInsertAfter, int X, int Y, int cx, int cy, uint uFlags);
}
"@
# Imposta la posizione e le dimensioni della finestra
$SWP_NOSIZE = 0x0001
$SWP_NOZORDER = 0x0004
[User32]::SetWindowPos($hwnd, 0, $x, $y, $width, $height, $SWP_NOZORDER -bor $SWP_NOSIZE)
}
# Imposta la posizione e le dimensioni desiderate
$x = 100 # Posizione X
$y = 100 # Posizione Y
# Non sono sicuro che il dimensionamento della finestra funzioni... prova.
$width = 800 # Larghezza
$height = 600 # Altezza
# Chiama la funzione per impostare la posizione della finestra
Set-WindowPosition -hwnd $hwnd -x $x -y $y -width $width -height $height
Istruzioni
Copia il codice sopra in un file di testo e salvalo con estensione .ps1, ad esempio AvviaProgramma.ps1.
Modifica la variabile $programPath con il percorso del programma che desideri avviare.
Modifica le variabili $x, $y, $width e $height per impostare la posizione e le dimensioni desiderate della finestra.
Esegui lo script in PowerShell.
(unico dubbio che ho... non so se la dir "startup" gestisce i file Ps1, quindi se non parte fammelo sapere che troviamo una soluzione.
radeon_snorky
27-10-2024, 19:00
(unico dubbio che ho... non so se la dir "startup" gestisce i file Ps1, quindi se non parte fammelo sapere che troviamo una soluzione.Grazie! provo appena sono davanti al pc in ufficio.
la cosa strana però è che si spostino, non c'è un motivo valido (a parte come è programmato windows...)
radeon_snorky
28-10-2024, 10:48
Potresti usare uno script PowerShell...
...
ho provato ma...
Windows PowerShell
Copyright (C) Microsoft Corporation. Tutti i diritti riservati.
Prova la nuova PowerShell multipiattaforma https://aka.ms/pscore6
PS C:\WINDOWS\system32> C:\Users\masto\Desktop\AvviaCalendario.ps1
C:\Users\masto\Desktop\AvviaCalendario.ps1 : Impossibile caricare il file C:\Users\masto\Desktop\AvviaCalendario.ps1.
L'esecuzione di script è disabilitata nel sistema in uso. Per ulteriori informazioni, vedere about_Execution_Policies
all'indirizzo https://go.microsoft.com/fwlink/?LinkID=135170.
In riga:1 car:1
+ C:\Users\masto\Desktop\AvviaCalendario.ps1
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : Errore di protezione: (:) [], PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess
PS C:\WINDOWS\system32> Set-ExecutionPolicy Unrestricted
Modifica ai criteri di esecuzione
I criteri di esecuzione facilitano la protezione dagli script non attendibili. La modifica dei criteri di esecuzione
potrebbe esporre l'utente ai rischi di sicurezza descritti nell'argomento della Guida about_Execution_Policies
all'indirizzo https://go.microsoft.com/fwlink/?LinkID=135170. Modificare i criteri di esecuzione?
[S] Sì [T] Sì a tutti [N] No [U] No a tutti [O] Sospendi [?] Guida (il valore predefinito è "N"): s
PS C:\WINDOWS\system32> C:\Users\masto\Desktop\AvviaCalendario.ps1
Start-Process : Impossibile eseguire il comando a causa dell'errore seguente: Impossibile trovare il file specificato.
In C:\Users\masto\Desktop\AvviaCalendario.ps1:5 car:12
+ $process = Start-Process $programPath -PassThru
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [Start-Process], InvalidOperationException
+ FullyQualifiedErrorId : InvalidOperationException,Microsoft.PowerShell.Commands.StartProcessCommand
False
PS C:\WINDOWS\system32> Set-ExecutionPolicy Unrestricted
Modifica ai criteri di esecuzione
I criteri di esecuzione facilitano la protezione dagli script non attendibili. La modifica dei criteri di esecuzione
potrebbe esporre l'utente ai rischi di sicurezza descritti nell'argomento della Guida about_Execution_Policies
all'indirizzo https://go.microsoft.com/fwlink/?LinkID=135170. Modificare i criteri di esecuzione?
[S] Sì [T] Sì a tutti [N] No [U] No a tutti [O] Sospendi [?] Guida (il valore predefinito è "N"): t
PS C:\WINDOWS\system32> C:\Users\masto\Desktop\AvviaCalendario.ps1
Start-Process : Impossibile eseguire il comando a causa dell'errore seguente: Impossibile trovare il file specificato.
In C:\Users\masto\Desktop\AvviaCalendario.ps1:5 car:12
+ $process = Start-Process $programPath -PassThru
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [Start-Process], InvalidOperationException
+ FullyQualifiedErrorId : InvalidOperationException,Microsoft.PowerShell.Commands.StartProcessCommand
False
PS C:\WINDOWS\system32
non sono molto pratico di powershell e permessi :D
sto provando a modificare il path (i doppi apici non so come vengono gestiti...) ho provato con una applicazione semplice e la avvia, purtroppo si apre sempre nell'ultima posizione e non nelle coordinate e dimensioni impostate nello script.
...ovviamente avrai provato a cambiare le posizioni che ti ho fornito io... cosa intendi per "doppi apici".
Prova ad eseguire lo script con credenziali amministrative.
Aggiornami...
radeon_snorky
28-10-2024, 18:19
...ovviamente avrai provato a cambiare le posizioni che ti ho fornito io... cosa intendi per "doppi apici".
Prova ad eseguire lo script con credenziali amministrative.
Aggiornami...
per la questione doppi apici... calendar e keep sono istanze crome e appaioni così:
"C:\Program Files\Google\Chrome\Application\chrome_proxy.exe" --profile-directory=Default --app-id=kjbdgfilnfhdoflbpgamdcdgpehopbep
non so come ricomprendere negli apici (doppi) i parametri
intanto ho provato la questione posizione con valori a caso... x 10 y 10 ecc ma l'applicazione (ho provato con notepad++) si apre sempre nell'ultima posizione (e dimensione) di quando la chiudo
eseguo come amministratore e con protezione Unrestricted
per la questione doppi apici... calendar e keep sono istanze crome e appaioni così:
"C:\Program Files\Google\Chrome\Application\chrome_proxy.exe" --profile-directory=Default --app-id=kjbdgfilnfhdoflbpgamdcdgpehopbep
non so come ricomprendere negli apici (doppi) i parametri
intanto ho provato la questione posizione con valori a caso... x 10 y 10 ecc ma l'applicazione (ho provato con notepad++) si apre sempre nell'ultima posizione (e dimensione) di quando la chiudo
eseguo come amministratore e con protezione Unrestricted
...a questo punto credo che il problema sia da qualche altra parte, ho testato con successo lo script sulla mia macchina... a questo punto mi riesce difficile aiutarti... mi dispiace.
radeon_snorky
29-10-2024, 15:07
...a questo punto credo che il problema sia da qualche altra parte, ho testato con successo lo script sulla mia macchina... a questo punto mi riesce difficile aiutarti... mi dispiace.
grazie lo stesso
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.