André Hentschel : urlmon: Partially implement HlinkSimpleNavigateToString.

Alexandre Julliard julliard at winehq.org
Tue Jun 29 10:25:20 CDT 2010


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

Author: André Hentschel <nerv at dawncrow.de>
Date:   Mon Jun 28 21:16:51 2010 +0200

urlmon: Partially implement HlinkSimpleNavigateToString.

---

 dlls/urlmon/Makefile.in |    2 +-
 dlls/urlmon/umon.c      |   24 +++++++++++++++++++++++-
 2 files changed, 24 insertions(+), 2 deletions(-)

diff --git a/dlls/urlmon/Makefile.in b/dlls/urlmon/Makefile.in
index 91277a5..71567ec 100644
--- a/dlls/urlmon/Makefile.in
+++ b/dlls/urlmon/Makefile.in
@@ -4,7 +4,7 @@ SRCDIR    = @srcdir@
 VPATH     = @srcdir@
 MODULE    = urlmon.dll
 IMPORTLIB = urlmon
-IMPORTS   = uuid ole32 oleaut32 rpcrt4 shlwapi wininet user32 advapi32 kernel32 ntdll
+IMPORTS   = uuid ole32 oleaut32 shell32 rpcrt4 shlwapi wininet user32 advapi32 kernel32 ntdll
 EXTRADEFS = -D_URLMON_ -DENTRY_PREFIX=URLMON_ -DPROXY_DELEGATION -DREGISTER_PROXY_DLL \
 	    -DPROXY_CLSID_IS="{0x79EAC9F1,0xBAF9,0x11CE,{0x8C,0x82,0x00,0xAA,0x00,0x4B,0xA9,0x0B}}"
 
diff --git a/dlls/urlmon/umon.c b/dlls/urlmon/umon.c
index 7ce22cc..9a54e11 100644
--- a/dlls/urlmon/umon.c
+++ b/dlls/urlmon/umon.c
@@ -24,6 +24,8 @@
 
 #include "winreg.h"
 #include "shlwapi.h"
+#include "hlink.h"
+#include "shellapi.h"
 
 #include "wine/debug.h"
 
@@ -742,7 +744,27 @@ HRESULT WINAPI HlinkSimpleNavigateToString( LPCWSTR szTarget,
     LPCWSTR szLocation, LPCWSTR szTargetFrameName, IUnknown *pUnk,
     IBindCtx *pbc, IBindStatusCallback *pbsc, DWORD grfHLNF, DWORD dwReserved)
 {
-    FIXME("%s\n", debugstr_w( szTarget ) );
+    FIXME("%s %s %s %p %p %p %u %u partial stub\n", debugstr_w( szTarget ), debugstr_w( szLocation ),
+          debugstr_w( szTargetFrameName ), pUnk, pbc, pbsc, grfHLNF, dwReserved);
+
+    /* undocumented: 0 means HLNF_OPENINNEWWINDOW*/
+    if (!grfHLNF) grfHLNF = HLNF_OPENINNEWWINDOW;
+
+    if (grfHLNF == HLNF_OPENINNEWWINDOW)
+    {
+        SHELLEXECUTEINFOW sei;
+        static const WCHAR openW[] = { 'o', 'p', 'e', 'n', 0 };
+
+        memset(&sei, 0, sizeof(sei));
+        sei.cbSize = sizeof(sei);
+        sei.lpVerb = openW;
+        sei.nShow = SW_SHOWNORMAL;
+        sei.fMask = SEE_MASK_FLAG_NO_UI | SEE_MASK_NO_CONSOLE;
+        sei.lpFile = szTarget;
+
+        if (ShellExecuteExW(&sei)) return S_OK;
+    }
+
     return E_NOTIMPL;
 }
 




More information about the wine-cvs mailing list