Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - Evento
Forum - C# / VB.NET - Evento "mostra desktop"...

Avatar
uelfox (Normal User)
Rookie


Messaggi: 33
Iscritto: 25/01/2010

Segnala al moderatore
Postato alle 0:28
Sabato, 24/11/2012
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

PM Quote
Avatar
Sevenjeak (Normal User)
Pro


Messaggi: 91
Iscritto: 03/01/2012

Segnala al moderatore
Postato alle 8:37
Domenica, 25/11/2012
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 il 25/11/2012 alle 8:38
PM Quote
Avatar
uelfox (Normal User)
Rookie


Messaggi: 33
Iscritto: 25/01/2010

Segnala al moderatore
Postato alle 11:54
Domenica, 25/11/2012
Grazie per il tuo interessamento, ma in win7, non mi da nessuna "proprietà", sull'icona mostra desktop!
Possibile che non viene generato nessun evento?

PM Quote
Avatar
Sevenjeak (Normal User)
Pro


Messaggi: 91
Iscritto: 03/01/2012

Segnala al moderatore
Postato alle 14:27
Domenica, 25/11/2012
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:

Codice sorgente - presumibilmente VB.NET

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



Per eseguire quello che vuoi quando la finestra viene mandata ad icona.

Ultima modifica effettuata da Sevenjeak il 25/11/2012 alle 14:29
PM Quote
Avatar
tuttodiMC (Normal User)
Expert


Messaggi: 327
Iscritto: 29/10/2012

Segnala al moderatore
Postato alle 17:10
Domenica, 25/11/2012
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

PM Quote
Avatar
uelfox (Normal User)
Rookie


Messaggi: 33
Iscritto: 25/01/2010

Segnala al moderatore
Postato alle 21:41
Domenica, 25/11/2012
Testo quotato

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?

PM Quote
Avatar
Sevenjeak (Normal User)
Pro


Messaggi: 91
Iscritto: 03/01/2012

Segnala al moderatore
Postato alle 22:45
Domenica, 25/11/2012
Strano, a me quel codice funziona, mi rileva benissimo quando l'applicazione viene mandata ad icona, purtroppo non saprei più che suggerirti.

PM Quote