Frage

Ich habe eine app, die lange Geschichte kurz, die Zwischenablage für einen Teil seines Betriebes verwendet.

Manchmal aber aus Gründen, ich habe noch nie 100% festgenagelt, manchmal die Zwischenablage nicht verfügbar ist. Manchmal sind die RDC-Client blockiert es, manchmal nicht. Und es ist einer von denen, extrem schwer zu reproduzieren, wenn Sie wirklich zu möglichen Angeboten benötigen.

Könnte man ein kleines Testprogramm schreiben, das, während es läuft, lässt keine anderen Programme auf die Zwischenablage zuzugreifen?

War es hilfreich?

Lösung

Ich nehme an, Sie könnten Open nennen, und EmptyClipboard, dann ist es einfach offen halten und nur Closeclipboard aufrufen, wenn die Test Anwendung beendet wird, oder so ähnlich ...

EDIT FROM SCHNAPPLE

Das ist also, was ich tat im Wesentlichen und ich C # -Code gefunden, es zu tun auf ... , dass andere Website

[ DllImport( "user32.dll" ) ]
extern static bool OpenClipboard( IntPtr hWnd );

[ DllImport( "user32.dll" ) ]
extern static bool CloseClipboard();

[ DllImport( "user32.dll" ) ]
extern static IntPtr GetClipboardData( uint uFormat );

public static void GetSomeDib()
{
      OpenClipboard( System.Diagnostics.Process.GetCurrentProcess().MainWindowHandle );

      IntPtr img = GetClipboardData(8);

      MessageBox.Show("Clipboard Locked");

      CloseClipboard();

      MessageBox.Show("Clipboard Unlocked");
}

Andere Tipps

Die einfache Lösung sein kann nur manuell RemDesk zu konfigurieren, um nicht die Zwischenablage zu überwachen. Es ist eine Option in RemDesk ... Aber ja, die Zwischenablage offen zu halten sollte die gewünschte Wirkung hat, und wird auch immer WM_DRAWCLIPBOARD Benachrichtigungen von Zuschauern in der Zwischenablage gesendet werden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top