Web- und Software Development

Desktop Koordinaten ermitteln mit sxCoordinateDesktop

Written By: Mario Priebe - Aug• 08•09

Ich hab ein kleines Tool “sxCoordinateDesktop” geschrieben, mit dem man die Koordinaten auf dem Desktop ermitteln kann.

Dazu einfach starten und “sxCoordinateDesktop” legt einen halbtransparenten Layer über Dein Desktop und die Mausbewegung gibt die entsprechende Position zurück.

sxCoordinateDesktop

Hat man mehrere Desktops kann man, in dem man die linke Maustaste gedrückt hält, das transparente Fenster zum anderen Screen verschieben. Beim Loslassen maximiert dieses wieder.

 sxCoordinateDesktop3

Rechtsklick zeigt Dir den Button zum schließen.

sxCoordinateDesktop2

Wer dieses Tool benutzt den wünsche ich viel Spaß damit und sollte auf jeden fall mal kommentieren, warum und wozu er das benötigt hat. Schon alleine über den Sinn und Unsinn der Applikation kann man streiten, deshalb würde mich das brennend interessieren : )

Und nun für die den gerne den Code sehen wollen.

XAML:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<Window x:Class="sxCoordinateDesktop.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        WindowStyle="None" AllowsTransparency="True" Background="Transparent"
        WindowState="Maximized" Name="win"               
        MouseMove="win_MouseMove" 
        MouseLeftButtonDown="win_MouseLeftButtonDown" 
        MouseLeftButtonUp="win_MouseLeftButtonUp">
 
    <Window.ContextMenu>
        <ContextMenu>
            <StackPanel>
                <MenuItem Header="Exit" Click="MenuItemExit_Click" />
                <Rectangle Height="1" Fill="Black"/>
                <MenuItem Header="(c)2009 Biggle" Click="MenuItemBiggle_Click"/>
            </StackPanel>
        </ContextMenu>
    </Window.ContextMenu>    
 
    <Canvas Name="AppicationCanvas" Background="AliceBlue" Opacity="0.5" Cursor="Cross" 
            MouseMove="Canvas_MouseMove">
        <TextBlock FontSize="25" Name="txtBoxCoordinate" Width="300" />
    </Canvas>
 
</Window>

Code:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
using System.Diagnostics;
using System.Windows;
using System.Windows.Controls;
using MouseEventArgs = System.Windows.Input.MouseEventArgs;
 
namespace sxCoordinateDesktop
{
    public partial class Window1 : Window
    {
        public Window1()
        {
            InitializeComponent();
        }
 
        private Point click;
        private void win_MouseMove(object sender, MouseEventArgs e)
        {
            this.Left += e.GetPosition(this).X - click.X;
            this.Top += e.GetPosition(this).Y - click.Y;
        }
 
        private void win_MouseLeftButtonDown(object sender, System.Windows.Input.MouseButtonEventArgs e)
        {
            click = new Point(e.GetPosition(this).X, e.GetPosition(this).Y);
            win.WindowState = WindowState.Normal;
        }
 
        private void Canvas_MouseMove(object sender, MouseEventArgs e)
        {
            txtBoxCoordinate.Text = e.GetPosition(this).ToString();
            txtBoxCoordinate.SetValue(Canvas.LeftProperty, e.GetPosition(this).X);
            txtBoxCoordinate.SetValue(Canvas.TopProperty, e.GetPosition(this).Y);
        }
 
        private void MenuItemExit_Click(object sender, RoutedEventArgs e)
        {
            Close();
        }
 
        private void MenuItemBiggle_Click(object sender, RoutedEventArgs e)
        {
            Process.Start("http://www.biggle.de");
        }
 
        private void win_MouseLeftButtonUp(object sender, System.Windows.Input.MouseButtonEventArgs e)
        {
            win.WindowState = WindowState.Maximized;
        }
 
    }
}

Download:

*.exe | Installer

Ähnliche Beiträge

You can follow any responses to this entry through the RSS 2.0 feed. Both comments and pings are currently closed.

3 Comments

  1. Sabine sagt:

    Hallo,
    Kein einziger Kommentar zu Deinem Tool? Na dann wirds aber mal
    Zeit. Ich bedanke mich herzlich, dass Du dieses praktische kleine Tool zur Verfügung stellst. Genau sowas hatte ich gerade gesucht (und damit Deine Seite gefunden).
    Wofür ich das verwenden kann? Ich habe gerade die Kreation von Windows Makros für mich entdeckt, und da braucht man manchmal die Desktop-Koordinaten, z. B. um Fenster an eine bestimmte Stelle zu positionieren.
    Damit hat sxCoordinateDesktop nun einen festen Platz in meinen Desktop-Tools bekommen.
    Vielen Dank!
    Herzlichst
    Sabine

  2. Mario Priebe sagt:

    Vielen Dank für dein Feedback : ) Es freut mich, dass du das Tool gebrauchen kannst.

  3. Hatschusnies sagt:

    Ich find es auch toll!!!