2016-07-12 2 views
0

나는 Hotkey-Event를 등록한 C# 기반 winform 응용 프로그램이 있습니다.C#에서 브라우저의 강조 표시된 텍스트를 복사하는 방법

핫키 이벤트를 받으면 현재 포커스 창에서 선택한 또는 강조 표시된 데이터를 복사합니다. SendKey.SendWaitCTRL + C 키 입력을 전송하고 클립 보드에서 데이터를 얻을 사용하여 클립 보드

를 사용

  1. : 데이터 복사하려면

    . AutomationElement를 윈도우 요소를 집중 얻을 사용하여 UI AutomationElement를

    를 사용

  2. . TextPattern을 사용하여 선택한 데이터를 가져옵니다. 솔루션 위 문제

    는 메모장, 워드 패드, MS 워드 작동합니다.

  3. 브라우저에서 데이터를 선택할 수 없습니다. PDF 형식의 응용 프로그램입니다.

답변

0

반환 된 데이터를 확인하기 위해 IDataObject에서 반환 한 모든 DataFormats를 검사 해 보셨습니까? 아래 https://msdn.microsoft.com/en-us/library/system.windows.forms.clipboard.getdataobject(v=vs.110).aspx

링크에서 위의 코드에서

private void button2_Click(object sender, System.EventArgs e) { 
    // Declares an IDataObject to hold the data returned from the clipboard. 
    // Retrieves the data from the clipboard. 
    IDataObject iData = Clipboard.GetDataObject(); 

    // Determines whether the data is in a format you can use. 
    if(iData.GetDataPresent(DataFormats.Text)) { 
     // Yes it is, so display it in a text box. 
     textBox2.Text = (String)iData.GetData(DataFormats.Text); 
    } 
    else { 
     // No it is not. 
     textBox2.Text = "Could not retrieve data off the clipboard."; 
    } 
} 

전체 설명을 모든 22 DataFormats의 목록이 가능하며, DataFormats.RTF (PDF), DataFormats.Unicode (PDF, 브라우저) (텍스트 만) 및 DataFormats.HTML (브라우저)가 후보가 될 가능성이 큽니다. https://msdn.microsoft.com/en-us/library/system.windows.forms.dataformats(v=vs.110).aspx

방법 : 클립 보드에서 데이터를 검색 https://msdn.microsoft.com/en-us/library/c2thcsx4(v=vs.110).aspx

관련 문제