PDA

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

pps
27-10-2024, 11:34
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.

pps
28-10-2024, 14:59
...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

pps
29-10-2024, 09:01
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

Hardware Upgrade Forum Database Error
Database Error Database error
The Hardware Upgrade Forum database has encountered a problem.

Please try the following:
  • Load the page again by clicking the Refresh button in your web browser.
  • Open the www.hwupgrade.it home page, then try to open another page.
  • Click the Back button to try another link.
The www.hwupgrade.it forum technical staff have been notified of the error, though you may contact them if the problem persists.
 
We apologise for any inconvenience.