można zobaczyć przykład kodu w świecie rzeczywistym w ciągu https://uiautomationverify.codeplex.com/SourceControl/latest#UIAVerify/Tools/visualuiverify/utils/screenrectangle.cs
Rysuje prostokąt, który pojawi się na ekran, dopóki użytkownik nie zdecyduje się go usunąć w dowolnej pozycji (nie będzie odświeżany). Używa formularza okna, który jest ukryty/pojawia się jako popup. To jest kod za narzędziem UIAVerify.exe
w bieżącym zestawie Windows SDK.
Jeśli chcesz korzystać z powyższego, skopiuj następujące pliki do projektu:
utils\screenboundingrectangle.cs
utils\screenrectangle.cs
win32\*
może wymagać zaktualizowania nazw odpowiednio + dodaj referencje do System.Drawing
+ System.Windows.Forms
Następnie można narysować prostokąt z następującego kodu:
namespace Something
{
public class Highlighter
{
ScreenBoundingRectangle _rectangle = new ScreenBoundingRectangle();
public void DrawRectangle(Rectangle rect)
{
_rectangle.Color = System.Drawing.Color.Red;
_rectangle.Opacity = 0.8;
_rectangle.Location = rect;
this._rectangle.Visible = true;
}
}
}
i
var rect = Rectangle.FromLTRB(100, 100, 100, 100);
var hi = new Highlighter();
hi.DrawRectangle(rect);
Nie ma oficjalnie wspierany czystą drogę do rysowania w oknie na pulpicie z dowolnego języka. W praktyce większość metod, które są najbardziej zbliżone do rysowania na pulpicie, polega na wstrzyknięciu własnej biblioteki DLL do procesu Eksploratora i podklasowaniu procedury okna okna pulpitu. Nie polecałbym jednak robić tego w języku C#. Ponadto nie ma gwarancji, że takie metody będą nadal działać w przypadku przyszłych wersji systemu Windows lub przyszłych dodatków Service Pack lub poprawek dla istniejących wersji systemu Windows. –