AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Maus an ein frembdes Fenster binden?

Ein Thema von gandime · begonnen am 2. Dez 2008 · letzter Beitrag vom 2. Dez 2008
Antwort Antwort
gandime
(Gast)

n/a Beiträge
 
#1

Maus an ein frembdes Fenster binden?

  Alt 2. Dez 2008, 11:08
Hi,
ich hab mal wieder ein Problem und zwar möchte ich meine Maus an ein Spezielles Fenster binden, in meinem fall verschiedene Spiele, bei denen die Entwicklich wohl nicht daran gedacht haben, das man einen zweiten Bildschirm hat.
Jetzt wollte ich fragen ob das überhaupt möglich ist oder es schon so ein Programm gibt?
Hab nichts bei google oder hier in der Suche gefunden was helfen würde!
Das Handle zu ermittel is ja nicht schwer aber wie dann weiter?

mfg

gandime
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#2

Re: Maus an ein frembdes Fenster binden?

  Alt 2. Dez 2008, 13:55
Ich finde es unsinnig. Wie willst du dann zB. Mit der Maus auf die zB. Taskleiste von Windows kommen ?

Nun gut,

- Fensterhandle ermitteln
- Fenstergrösse holen ( GetWindowsRect() )
- Maus begrenten ( ClipCursor() )
- Taste für Notfall einbauen zB. das ESC-Key
- Hinweis: ClipCursor(nil); setzt den CursorClip wieder zurück.
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Relicted

Registriert seit: 24. Jan 2006
Ort: Iserlohn
646 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: Maus an ein frembdes Fenster binden?

  Alt 2. Dez 2008, 14:18
Ich kenne das Problem... Bei einnigen Spielen rutscht man durch die Mausbewegung auf den anderen Monitor, klickt dann mal und zack landet man auf dem Desktop.
Dein Problem wird sein, dass du wahrscheinlich kein Windowshandle für eine Fullscreen DirectX Anwendung bekommen wirst (vielleicht Irre ich mich auch. kA um ehrlich zu sein.) Jedenfalls wäre ein anderer Ansatz die Maus einfach auf den ersten Monitor zu beschränken. Also beim dual Monitor Betrieb hat der 1. Monitor wenn ich mich recht entsinne "positive" Koordinaten und der 2. Monitor negative. Du könntest jedenfalls die Auflösung des Monitors auslesen und dann mit ClipCursor ((0/0),(1680/1050)) alles auf den ersten Monitor einschränken. Übrigens kleiner Tippfehler fon turboPASCAL: GetWindowRect() sollte es heißen. (Ein "s" zu viel.)

Gruß
Reli
  Mit Zitat antworten Zitat
OregonGhost

Registriert seit: 8. Jun 2002
Ort: Lübeck
1.216 Beiträge
 
Delphi 3 Professional
 
#4

Re: Maus an ein frembdes Fenster binden?

  Alt 2. Dez 2008, 14:41
Zitat von Relicted:
Also beim dual Monitor Betrieb hat der 1. Monitor wenn ich mich recht entsinne "positive" Koordinaten und der 2. Monitor negative. Du könntest jedenfalls die Auflösung des Monitors auslesen und dann mit ClipCursor ((0/0),(1680/1050)) alles auf den ersten Monitor einschränken.
Kann man (leider) nicht so pauschalisieren. Die linke obere Ecke des Primärmonitors ist immer (0/0), alle anderen Monitore kann man beliebig drumherum anordnen.

Das Fenster-Handle bei einer Vollbildanwendung ist einen Versuch wert. Viele Spiele machen das so.

@turboPascal:
Auf die Task-Leiste kommt man üblicherweise durch Druck von Alt+Tab
Ist übrigens ein außerordentlich übles Problem bei Spielen, die der Meinung sind, bei Taskwechsel erstmal alles zu entladen und dann minutenlang brauchen, bis man wieder reinkommt...
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
  Mit Zitat antworten Zitat
gandime
(Gast)

n/a Beiträge
 
#5

Re: Maus an ein frembdes Fenster binden?

  Alt 2. Dez 2008, 15:08
jap läuft super mit ClipCursor() danke

edit:
doch nicht... sobald mein Programmfenster nicht mehr aktiv ist ist auch die einschrenkung weg!
  Mit Zitat antworten Zitat
Benutzerbild von lbccaleb
lbccaleb

Registriert seit: 25. Mai 2006
Ort: Rostock / Bremen
2.037 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Maus an ein frembdes Fenster binden?

  Alt 2. Dez 2008, 15:25
Dann wirst du wohl mit Hooks arbeiten müssen...
Martin
MFG Caleb
TheSmallOne (MediaPlayer)
Die Dinge werden berechenbar, wenn man die Natur einer Sache durchschaut hat (Blade)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:03 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz