从Safari获取活动标签网址

时间:2011-02-18 12:14:09

标签: c# winapi safari dde

我正在尝试获取Safari的活动标签网址,到目前为止,我能够通过混合的Win32 API调用或DDE从所有主要浏览器(IE,Firefox,Chrome,Opera)获取网址。

safari的问题是,当我通过窗口枚举并调用GetWindowText时,它总是为空。

那里有解决方案吗? 谢谢!

1 个答案:

答案 0 :(得分:0)

public static string getChromeURL() {
  uint MAX_PATH=255;
  IntPtr hChrome, hAddressBox;

  hChrome=GetForegroundWindow();
  hAddressBox = FindWindowEx(hChrome, IntPtr.Zero,
            "Chrome_AutocompleteEditView", IntPtr.Zero);

  StringBuilder sb = new StringBuilder(256);
  SendMessage(hAddressBox, WM_GETTEXT, (IntPtr)MAX_PATH, sb);

  string s = sb.ToString().Trim(new Char[] { ' ', '\0', '\n' });
  return s;
}