Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - [C#]Sincronizzare posizione con un altra finestra
Forum - C# / VB.NET - [C#]Sincronizzare posizione con un altra finestra

Avatar
MefistoManna (Normal User)
Rookie


Messaggi: 28
Iscritto: 12/02/2012

Segnala al moderatore
Postato alle 20:22
Venerdì, 06/04/2012
Come da titolo vorrei che una finestra esterna si metti nella stessa posizione della mia(scritta in c#) e che quando una, si muova anche l' altra. Come si può fare??

Ultima modifica effettuata da MefistoManna il 06/04/2012 alle 21:09
PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 5461
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 23:07
Venerdì, 06/04/2012
Devi cercare di ottenere l'handle della finestra (magari con la API FindWindow) e poi usare la API SetWindowPos per posizionarla


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
PM Quote
Avatar
MefistoManna (Normal User)
Rookie


Messaggi: 28
Iscritto: 12/02/2012

Segnala al moderatore
Postato alle 9:55
Sabato, 07/04/2012
Ci ho provato ma non capisco perchè non funziona... Sembra che anche la finestra in c# si imposti sempre sul punto 0,0 e non mi fa interagire con essa (non fà ne muovere ne chiudere,minimizzare ecc) Ho impostato in un timer cosi:
Codice sorgente - presumibilmente C++

  1. const int SWP_NOSIZE = 0x0001;
  2. const int SWP_NOZORDER = 0x0004;
  3. private void timer2_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
  4. {
  5.  // Ottengo l' hwnd della finestra esterna.
  6.  hwnd = FindWindow(null, "FinestraEsterna");
  7.  
  8.  SetWindowPos(hwnd, hwnd, this.Left, this.Top, 0, 0, SWP_NOSIZE | SWP_NOZORDER);
  9. }


Ultima modifica effettuata da MefistoManna il 07/04/2012 alle 9:56
PM Quote