C # file - in appunti come impostare / leggere che operazione si chiama - Taglia o Copia

StackOverflow https://stackoverflow.com/questions/4813378

  •  25-10-2019
  •  | 
  •  

Domanda

Ho letto molti argomenti circa taglia / copia negli appunti, ma non hanno trovato la risposta per il mio problema

Sto lavorando su un'applicazione "File Manager" come Windows Explorer. I file sono elencati in una lista, in vista dettagli.

ho tagliato / copia / incolla operazioni, e so come usare File.Move, .copy, Clipboard.GetFileDropList (), .SetFileDropList () ........... e funziona benissimo .

Quello che non so è come e dove posso scrivere in memoria (il metodo) e come posso leggere da memoria (clipboard) quale operazione viene usato scorso, Taglia o Copia? C'è qualche stringa in finestre di memoria explorer scrive, che posso leggere e poi so se è tagliare o copiare?

Voglio lasciare l'utente sia in grado di taglia / copia dal mio app per vincere Explorer e viceversa.

È stato utile?

Soluzione

Se si desidera determinare quale operazione Appunti stato visto l'ultima chiamata, io penso che si debba ascoltare i messaggi di Windows, in particolare WM_CUT (0x0300) rispetto WM_COPY (0x0301), e la pista che era ultima inviati / ricevuti. È possibile eseguire l'override del metodo Control.WndProc come discusso su MSDN .

Ecco alcuni link di più di riferimento per i messaggi di Windows:

Appunti messaggi

WM_CUT

WM_COPY

Altri suggerimenti

Si utilizza Clipboard.SetText per aggiungere del testo negli appunti (Copia), e Clipboard.GetText per recuperare il testo dagli appunti (Incolla).

C'è un articolo qui che dovrebbe essere in grado di aiutarvi.

Inoltre, per quanto riguarda la copia / incolla di file, vedere questo SO domanda:

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top