Oppure

Loading
23/11/12 23:28
uelfox
Ciao forum, l'applicazione sulla quale sto lavorando, prevede l'utilizzo di 2 monitor;
Fin qui tutto bene, ma mi sono accorto che quando premo il tasto "mastra desktop", in win7 si trova nella barra tutto a destra, tutti i form della mia applicazione, si riducono a icona.
Io sto cercando l'evento che viene generato quando si prese sul "mostra desktop", in modo da poter avvisare che sul 2' monitor non è più visibile niente, o almeno ripristinare il form solo del 2' monitor...

So che voi mi potere aiutare.

Attendo suggerimenti e info.
Grazie
aaa
25/11/12 7:37
Sevenjeak
Non ho mai provato una cosa del genere, ma credo che lo potresti fare in questo modo:

Se fai tasto destro sul mostra descktop > proprietà, prendi il percorso, in quel percorso ci deve essere l'applicazione mostra descktop, che mostra il desktop, ad esempio in windows xp il mostra desktop si trova in: C:\Documents and Settings\Simone\Dati applicazioni\Microsoft\Internet Explorer\Quick Launch.

A quel punto potresti provare, con un ciclo infinito, eseguito in background, a rilevare i processi / applicazione aperte, se si apre quell'applicazione la killi immediatamente, o fai altro.
Ultima modifica effettuata da Sevenjeak 25/11/12 7:38
aaa
25/11/12 10:54
uelfox
Grazie per il tuo interessamento, ma in win7, non mi da nessuna "proprietà", sull'icona mostra desktop!
Possibile che non viene generato nessun evento?
aaa
25/11/12 13:27
Sevenjeak
Il mostra desktop su windows 7 si trova in: C:\Users\<tuo_utente>\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch, la cartella AppData è nascosta, ma non saprei come fare, e soprattutto se si può applicare l'idea che ti ho dato io.

In alternativa, stavo vedendo su internet che: se invece di intercettare la pressione del mostra desktop dovresti intercettare proprio quando l'applicazione viene mandata ad icona, potresti utilizzare l'evento sizeChange del form, utilizzato per intercettare il cambio di dimensione del form, ma basta modificarlo in questo modo:

Private Sub Form1_SizeChanged(sender As System.Object, e As System.EventArgs) Handles MyBase.SizeChanged
    If Me.WindowState = FormWindowState.Minimized Then
       ' Operazione da eseguire quando la finestra viene mandata ad icona
    End If
End Sub


Per eseguire quello che vuoi quando la finestra viene mandata ad icona.
Ultima modifica effettuata da Sevenjeak 25/11/12 13:29
aaa
25/11/12 16:10
tuttodiMC
Beh è anche vero che lavorare su un'applicazione per due desktop non è per niente facile. Penso che tu debba creare comunque due form che vengono messi ognuno su un desktop in modo da poterli gestire singolarmente ma in un'applicazione sola
aaa
25/11/12 20:41
uelfox
Postato originariamente da Sevenjeak:

utilizzare l'evento sizeChange del form, utilizzato per intercettare il cambio di dimensione del form

Ho provato con questo codice, ma nulla.... non viene generato!!
Altrei suggerimenti?
aaa
25/11/12 21:45
Sevenjeak
Strano, a me quel codice funziona, mi rileva benissimo quando l'applicazione viene mandata ad icona, purtroppo non saprei più che suggerirti.
aaa