annotate netinstall/mklink2.c @ 2548:c4c8a36043be

[xemacs-hg @ 2005-02-03 07:11:19 by ben] behavior ws #4: package-suppress, autoload update/sync, add easy-mmode/regexp-opt to core lread.c, lisp.h: Remove undeeded Vload_file_name_internal_the_purecopy, Qload_file_name -- use internal_bind_lisp_object instead of specbind. Add load-suppress-alist. * easy-mmode.el, regexp-opt.el: Move these files into core. Uncomment stuff depending on new custom.el. autoload.el: Removed. Major update. Sync with FSF 21.2. Create the ability to make custom-defines files. update-elc-2.el, update-elc.el: Rewrite to use new autoload API. update-elc.el: Add easy-mmode.
author ben
date Thu, 03 Feb 2005 07:11:28 +0000
parents 3078fd1074e8
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
448
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
1 #include "win32.h"
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
2 #include "shlobj.h"
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
3
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
4 /* This part of the code must be in C because the C++ interface to COM
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
5 doesn't work. */
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
6
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
7 void
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
8 make_link_2 (char *exepath, char *args, char *icon, char *lname)
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
9 {
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
10 IShellLink *sl;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
11 IPersistFile *pf;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
12 WCHAR widepath [_MAX_PATH];
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
13
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
14 CoCreateInstance (&CLSID_ShellLink, NULL,
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
15 CLSCTX_INPROC_SERVER, &IID_IShellLink, (LPVOID *) & sl);
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
16 sl->lpVtbl->QueryInterface (sl, &IID_IPersistFile, (void **) &pf);
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
17
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
18 sl->lpVtbl->SetPath (sl, exepath);
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
19 sl->lpVtbl->SetArguments (sl, args);
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
20 sl->lpVtbl->SetIconLocation (sl, icon, 0);
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
21
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
22 MultiByteToWideChar (CP_ACP, 0, lname, -1, widepath, _MAX_PATH);
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
23 pf->lpVtbl->Save (pf, widepath, TRUE);
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
24
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
25 pf->lpVtbl->Release (pf);
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
26 sl->lpVtbl->Release (sl);
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
27 }