Domanda

Ho una finestra di wpf che ha un'altezza di 2000 con un'altezza effettiva del desktop di circa 1000. Ovviamente circa metà della finestra è fuori dallo schermo. Anche se la finestra si estende sotto lo schermo, il mouse non si sposterà in quella zona. Voglio che questo contenuto sia fuori dallo schermo e voglio che il mouse sia in grado di spostarsi su di esso e fare clic sugli elementi se il mouse è posizionato su un elemento in quella posizione. Non voglio cambiare la mia risoluzione dello schermo poiché alcuni contenuti devono assolutamente essere fuori dallo schermo. Non sono sicuro di come procedere.

È stato utile?

Soluzione

La delimitazione del cursore non viene eseguita dall'applicazione, ma da Windows stesso. Per quanto ne sappia, non c'è modo di far puntare il cursore fuori dallo schermo.

Puoi simulare ciò che vuoi facendo ciò che fanno molti giochi. Non disegnare il cursore di Windows, disegnane uno personalizzato nella finestra dell'app. Forza il cursore reale (non essere disegnato) a rimanere al centro del monitor. Ogni volta che l'utente sposta il cursore reale, sposta il cursore dell'applicazione di conseguenza e riposiziona il cursore reale al centro dello schermo.

Questo darà l'illusione di ciò che vorresti, ma non credo che WPF sia in grado di gestirlo.

Altri suggerimenti

Non esiste una posizione del cursore fuori dallo schermo in Windows. Penso che il mouse sia limitato dalla risoluzione dello schermo, anche se Windows non lo è.

Se dai un'occhiata alle schermate di MaxiVista tu ' Troverai una schermata che mostra Gestione dispositivi:

Gestione dispositivi http://www.maxivista.com/pics/screenshots/vista_devicemanager_en .gif

Come puoi vedere semplicemente ha scritto un adattatore per display virtuale, che fornisce le sue dimensioni di visualizzazione. Quindi Windows verrà informato su una dimensione disponibile di es. 2560x1600 sarebbe possibile e consente questi limiti per tutte le finestre e il mouse. Ora spetta al driver del display inoltrare le parti giuste di questo schermo virtuale agli attuali adattatori di visualizzazione reali in modo che la parte giusta sia mostrata su ciascun dispositivo fisico.

Penso che sia possibile. Questo programma consentirà di utilizzare un computer secondario come monitor aggiuntivo. Esistono diversi programmi che possono farti conoscere le coordinate in cui è posizionato il cursore del mouse. Ad esempio AutoIt lo farà facilmente.

inserisci qui la descrizione dell'immagine

Quando installi autoit viene fornito con questa utility che ti farà conoscere le coordinate in cui posizioni il mouse. Quando ho catturato lo schermo, il mouse non viene visualizzato ma disegno un punto blu nel punto in cui si trovava il mouse. Si noti che le coordinate sono 710, 1464. In questo momento la mia risoluzione dello schermo è 1200 * 1920 (il mio monitor è ruotato). Quindi con Autoit sono in grado di posizionare il cursore del mouse facendo qualcosa del tipo

inserisci qui la descrizione dell'immagine

Quando eseguo quel programma di autoit si sposta il mouse in quella posizione. Le risposte a questa domanda sembrano essere giuste perché non sono in grado di spostare il mouse oltre 1200 verso destra. In altre parole, l'esecuzione di MouseMove (2500.800) comporterà lo spostamento del mouse su 1200.800. Ora la parte interessante è come mai Sono in grado di spostarmi il mouse su (2500.800)! se uso Questo programma In altre parole eseguendo MouseMove (2500.800) ora funziona con Autoit e il mouse si sposta effettivamente sull'altro computer (maxivista deve essere in esecuzione). maxivista mostra che può esserci un modo per spostare il mouse al di fuori della risoluzione dello schermo .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top