Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-cw
Commits
42c7372b
Commit
42c7372b
authored
Apr 11, 2006
by
Mike McCormack
Committed by
Alexandre Julliard
Apr 12, 2006
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
shdocvw: Register iexplore.exe as a COM local server.
parent
be10a6a0
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
53 additions
and
1 deletion
+53
-1
Makefile.in
dlls/shdocvw/Makefile.in
+1
-1
regsvr.c
dlls/shdocvw/regsvr.c
+52
-0
No files found.
dlls/shdocvw/Makefile.in
View file @
42c7372b
...
...
@@ -5,7 +5,7 @@ SRCDIR = @srcdir@
VPATH
=
@srcdir@
MODULE
=
shdocvw.dll
IMPORTLIB
=
libshdocvw.
$(IMPLIBEXT)
IMPORTS
=
shlwapi user32 advapi32 kernel32
IMPORTS
=
sh
ell32 sh
lwapi user32 advapi32 kernel32
DELAYIMPORTS
=
urlmon ole32 oleaut32
EXTRALIBS
=
-luuid
...
...
dlls/shdocvw/regsvr.c
View file @
42c7372b
...
...
@@ -102,6 +102,11 @@ static WCHAR const viprogid_keyname[25] = {
'e'
,
'n'
,
'd'
,
'e'
,
'n'
,
't'
,
'P'
,
'r'
,
'o'
,
'g'
,
'I'
,
'D'
,
0
};
static
char
const
tmodel_valuename
[]
=
"ThreadingModel"
;
static
WCHAR
const
lcs32_keyname
[]
=
{
'L'
,
'o'
,
'c'
,
'a'
,
'l'
,
'S'
,
'e'
,
'r'
,
'v'
,
'e'
,
'r'
,
'3'
,
'2'
,
0
};
static
const
WCHAR
szIERelPath
[]
=
{
'I'
,
'n'
,
't'
,
'e'
,
'r'
,
'n'
,
'e'
,
't'
,
' '
,
'E'
,
'x'
,
'p'
,
'l'
,
'o'
,
'r'
,
'e'
,
'r'
,
'\\'
,
'i'
,
'e'
,
'x'
,
'p'
,
'l'
,
'o'
,
'r'
,
'e'
,
'.'
,
'e'
,
'x'
,
'e'
,
0
};
/***********************************************************************
* static helper functions
...
...
@@ -509,6 +514,14 @@ static struct regsvr_coclass const coclass_list[] = {
"Shell.Explorer.2"
,
"Shell.Explorer"
},
{
&
CLSID_InternetExplorer
,
"Internet Explorer(Ver 1.0)"
,
NULL
,
NULL
,
NULL
,
"InternetExplorer.Application.1"
,
"InternetExplorer.Application"
},
{
NULL
}
/* list terminator */
};
...
...
@@ -520,6 +533,43 @@ static struct regsvr_interface const interface_list[] = {
{
NULL
}
/* list terminator */
};
static
HRESULT
register_localserver
(
void
)
{
HKEY
coclass_key
=
0
,
clsid_key
=
0
;
WCHAR
buf
[
39
],
path
[
MAX_PATH
];
LONG
res
;
UINT
len
;
res
=
SHGetFolderPathW
(
NULL
,
CSIDL_FLAG_CREATE
|
CSIDL_PROGRAM_FILES
,
NULL
,
SHGFP_TYPE_CURRENT
,
path
);
if
(
FAILED
(
res
))
return
res
;
len
=
lstrlenW
(
path
);
if
((
len
+
(
sizeof
szIERelPath
/
sizeof
(
WCHAR
))
+
1
)
>
MAX_PATH
)
return
E_FAIL
;
path
[
len
]
=
'\\'
;
lstrcpyW
(
&
path
[
len
+
1
],
szIERelPath
);
res
=
RegCreateKeyExW
(
HKEY_CLASSES_ROOT
,
clsid_keyname
,
0
,
NULL
,
0
,
KEY_READ
|
KEY_WRITE
,
NULL
,
&
coclass_key
,
NULL
);
if
(
res
!=
ERROR_SUCCESS
)
goto
err
;
StringFromGUID2
(
&
CLSID_InternetExplorer
,
buf
,
39
);
res
=
RegCreateKeyExW
(
coclass_key
,
buf
,
0
,
NULL
,
0
,
KEY_READ
|
KEY_WRITE
,
NULL
,
&
clsid_key
,
NULL
);
if
(
res
!=
ERROR_SUCCESS
)
goto
err
;
res
=
register_key_defvalueW
(
clsid_key
,
lcs32_keyname
,
path
);
if
(
res
!=
ERROR_SUCCESS
)
goto
err
;
err:
if
(
clsid_key
)
RegCloseKey
(
clsid_key
);
if
(
coclass_key
)
RegCloseKey
(
coclass_key
);
return
(
res
==
ERROR_SUCCESS
)
?
S_OK
:
E_FAIL
;
}
/***********************************************************************
* DllRegisterServer (SHDOCVW.@)
*/
...
...
@@ -532,6 +582,8 @@ HRESULT WINAPI DllRegisterServer(void)
hr
=
register_coclasses
(
coclass_list
);
if
(
SUCCEEDED
(
hr
))
hr
=
register_interfaces
(
interface_list
);
if
(
SUCCEEDED
(
hr
))
hr
=
register_localserver
();
return
hr
;
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment