Vladimir Pankratov : shdocvw: Implement go_home function.

Alexandre Julliard julliard at winehq.org
Fri Nov 28 07:16:57 CST 2008


Module: wine
Branch: master
Commit: bbaa72de5f6baf007106775ed23c390adda0dfd8
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=bbaa72de5f6baf007106775ed23c390adda0dfd8

Author: Vladimir Pankratov <scriptkid at mail.ru>
Date:   Fri Nov 28 14:44:42 2008 +0500

shdocvw: Implement go_home function.

---

 dlls/shdocvw/navigate.c |   22 +++++++++++++++++++---
 1 files changed, 19 insertions(+), 3 deletions(-)

diff --git a/dlls/shdocvw/navigate.c b/dlls/shdocvw/navigate.c
index b5299d5..27276b6 100644
--- a/dlls/shdocvw/navigate.c
+++ b/dlls/shdocvw/navigate.c
@@ -776,11 +776,27 @@ static HRESULT navigate_hlink(DocHost *This, IMoniker *mon, IBindCtx *bindctx,
 
 HRESULT go_home(DocHost *This)
 {
+    HKEY hkey;
+    DWORD res, type, size;
+    WCHAR wszPageName[MAX_PATH];
     static const WCHAR wszAboutBlank[] = {'a','b','o','u','t',':','b','l','a','n','k',0};
+    static const WCHAR wszStartPage[] = {'S','t','a','r','t',' ','P','a','g','e',0};
+    static const WCHAR wszSubKey[] = {'S','o','f','t','w','a','r','e','\\',
+                                      'M','i','c','r','o','s','o','f','t','\\',
+                                      'I','n','t','e','r','n','e','t',' ','E','x','p','l','o','r','e','r','\\',
+                                      'M','a','i','n',0};
+
+    res = RegOpenKeyW(HKEY_CURRENT_USER, wszSubKey, &hkey);
+    if (res != ERROR_SUCCESS)
+        return navigate_url(This, wszAboutBlank, NULL, NULL, NULL, NULL);
+
+    size = sizeof(wszPageName);
+    res = RegQueryValueExW(hkey, wszStartPage, NULL, &type, (LPBYTE)&wszPageName, &size);
+    RegCloseKey(hkey);
+    if (res != ERROR_SUCCESS || type != REG_SZ)
+        return navigate_url(This, wszAboutBlank, NULL, NULL, NULL, NULL);
 
-    FIXME("stub\n");
-
-    return navigate_url(This, wszAboutBlank, NULL, NULL, NULL, NULL);
+    return navigate_url(This, wszPageName, NULL, NULL, NULL, NULL);
 }
 
 #define HLINKFRAME_THIS(iface) DEFINE_THIS(WebBrowser, HlinkFrame, iface)




More information about the wine-cvs mailing list