OK ...
// Firefox //
if (e.Data.GetDataPresent("text/x-moz-url", true)) {
HandleFirefoxUrl(e);
} else if (e.Data.GetDataPresent("text/_moz_htmlcontext", true)) {
HandleFirefoxSnippet(e);
// Internet Explorer //
} else if (e.Data.GetDataPresent("UntrustedDragDrop", false)) {
HandleIELink(e);
} else if (e.Data.GetDataPresent("UniformResourceLocatorW", false)) {
HandleIEPage(e);
} else if (e.Data.GetDataPresent(DataFormats.FileDrop, true)) { //FILES
Array droppedFiles = (Array)e.Data.GetData(DataFormats.FileDrop);
HandleFiles(droppedFiles);
} else if (e.Data.GetDataPresent(DataFormats.Bitmap, true)) { // BITMAP
Bitmap image = (Bitmap)Clipboard.GetDataObject().GetData(DataFormats.Bitmap);
HandleBitmap(image);
} else if (e.Data.GetDataPresent(DataFormats.Html, true)) { // HTML
String pastedHtml = (string)e.Data.GetData(DataFormats.Html);
HandleHtml(pastedHtml);
} else if (e.Data.GetDataPresent(DataFormats.CommaSeparatedValue, true)) { // CSV
MemoryStream memstr = (MemoryStream)e.Data.GetData("Csv");
StreamReader streamreader = new StreamReader(memstr);
String pastedCSV = streamreader.ReadToEnd();
HandleCSV(pastedCSV);
// } else if (e.Data.GetDataPresent(DataFormats.Tiff, true)) {
// } else if (e.Data.GetDataPresent(DataFormats.WaveAudio, true)) {
} else if (e.Data.GetDataPresent(DataFormats.Text, true)) { //TEXT
String droppedText = e.Data.GetData(DataFormats.Text).ToString();
HandleText(droppedText);
[else if .....]
} else { // UNKNOWN
Debug.WriteLine("unknown dropped format");
}
좋은 사람이 반대를 알고 있다면 질문, 또한, (방법에서 드래그 된 항목의 드롭 위치를 얻을 수 있습니다 만든 응용 프로그램)도 공유 할 수 있습니다 :-) – ThePower
그 반대의 경우 사용자가 마우스를 놓은 위치를 감지 한 다음 윈도우 핸들 대 PID 로직을 사용하여이를 파악할 수있을 것 같습니다 . 해킹이 될 수도 있지만 문제가 더 쉽습니다. – EricLaw
html 항목의 경우 SourceURL "item"에서 찾을 수 있습니다. String pastedHtml = (string) e.Data.GetData (DataFormats.Html); 버전 : 1.0 StartHTML : 000000182 EndHTML : 000008325 StartFragment : 000008144 EndFragment : 000008205 StartSelection : 000008144 EndSelection : 000008205 SourceURL : HTTP :! //www.msn.com/
Renaud