Winform程序.
页面上有标题: 信息标题(1)
对应的html代码是:<a href="test.html">信息标题(1)</a>问题是:
用鼠标在页面上选中“信息标题(1)”,按一下Ctrl+C将对应的html代码 "<a href="test.html">信息标题(1)</a>" 粘贴到一个文本框里.如何实现.
页面上有标题: 信息标题(1)
对应的html代码是:<a href="test.html">信息标题(1)</a>问题是:
用鼠标在页面上选中“信息标题(1)”,按一下Ctrl+C将对应的html代码 "<a href="test.html">信息标题(1)</a>" 粘贴到一个文本框里.如何实现.
Form页面上有一个浏览器对象取访问的web页面
页面上有标题: 信息标题(1)
对应的html代码是:<a href="test.html">信息标题(1)</a>问题是:
用鼠标在页面上选中“信息标题(1)”,按一下Ctrl+C将对应的html代码 "<a href="test.html">信息标题(1)</a>" 粘贴到一个文本框里.如何实现.
首先,你首先看看系统到底剪贴的是什么,如果是“<a href="test.html">信息标题(1)</a>”类似格式的话,则你可以通过clipboard获得;否则你只能通过分析html的source去获得 说的很有道理。可是我就是整不出来啊郁闷了。有时间的时候给做个小例子吧。。谢谢啊:)
private string GetUrl()
{
string strValue = GetCopyClipData();
if( strValue == null ) return strValue; Encoding UTF8 = Encoding.UTF8;
Encoding gb2312 = Encoding.GetEncoding("gb2312");
strValue = gb2312.GetString(Encoding.Convert(UTF8,gb2312,gb2312.GetBytes(strValue)));
return strValue;
}private string GetCopyClipData()
{
IDataObject data = Clipboard.GetDataObject();
if( data.GetDataPresent( "HTML Format" ) )
{
object obj = data.GetData( "HTML Format" );
if( obj != null )
{
string strData = obj.ToString();
int nStartIndex = strData.IndexOf( "<a href=" );
if( nStartIndex > 0 )
{
int nEndIndex = strData.IndexOf( "</a>", nStartIndex );
if( nEndIndex > 0 )
return strData.Substring( nStartIndex,
nEndIndex + 4 - nStartIndex );
}
}
}
return null;
}//call
Debug.WriteLine( GetUrl() );
IDataObject data = Clipboard.GetDataObject();
if( data.GetDataPresent( "UnicodeText" ) )
{
Debug.WriteLine( data.GetData( "UnicodeText" ).ToString() );
}
在窗体里直接读取clipboard...
这样试试
现在看起来有点思路了,可以结帖了,再次感谢Knight94(愚翁),也谢谢大家结贴.
不过Winform程序没有JS啊