/ / Come posso accedere in modo esclusivo agli Appunti a scopo di test? - finestre, appunti

Come posso accedere in modo esclusivo agli Appunti a scopo di test? - finestre, appunti

Ho un'app che, per farla breve, usa gli appunti per parte del suo funzionamento.

A volte però, per ragioni che non ho mai al 100%inchiodato, a volte gli appunti non sono disponibili, a volte il client RDC lo blocca, a volte no. Ed è uno di quelli estremamente difficili da riprodurre quando hai davvero bisogno di fare offerte.

Si potrebbe scrivere un piccolo programma di test che, mentre viene eseguito, non consente ad altri programmi di accedere agli appunti?

risposte:

2 per risposta № 1

Suppongo che potresti chiamare OpenClipboard e EmptyClipboard, quindi semplicemente tenerlo aperto e chiamare CloseClipboard solo quando l'applicazione di test termina, o qualcosa del genere ...

MODIFICA DA SCHNAPPLE

Quindi questo è quello che ho fatto essenzialmente e ho trovato il codice C # per farlo su ... quell'altro sito

[ 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");
}

0 per risposta № 2

La soluzione facile potrebbe essere solo manualmenteconfigurare RemDesk per non monitorare gli appunti. È un'opzione in RemDesk ... Ma sì, tenere gli Appunti aperti dovrebbe avere l'effetto desiderato, e inoltre manterrà le notifiche di WM_DrawClipboard da inviare ai visualizzatori di appunti.