view netinstall/mklink2.c @ 1559:9bf5135fc04f

[xemacs-hg @ 2003-07-04 07:16:25 by michaels] 2003-07-02 Mike Sperber <mike@xemacs.org> * toolbar.c (update_frame_toolbars_geometry): Update the frame size when correct information to compute it is actually available. Moreover, do it right via the frame method if it's available.
author michaels
date Fri, 04 Jul 2003 07:16:26 +0000
parents 3078fd1074e8
children
line wrap: on
line source

#include "win32.h"
#include "shlobj.h"

/* This part of the code must be in C because the C++ interface to COM
doesn't work. */

void
make_link_2 (char *exepath, char *args, char *icon, char *lname)
{
  IShellLink *sl;
  IPersistFile *pf;
  WCHAR widepath [_MAX_PATH];

  CoCreateInstance (&CLSID_ShellLink, NULL,
		    CLSCTX_INPROC_SERVER, &IID_IShellLink, (LPVOID *) & sl);
  sl->lpVtbl->QueryInterface (sl, &IID_IPersistFile, (void **) &pf);

  sl->lpVtbl->SetPath (sl, exepath);
  sl->lpVtbl->SetArguments (sl, args);
  sl->lpVtbl->SetIconLocation (sl, icon, 0);

  MultiByteToWideChar (CP_ACP, 0, lname, -1, widepath, _MAX_PATH);
  pf->lpVtbl->Save (pf, widepath, TRUE);

  pf->lpVtbl->Release (pf);
  sl->lpVtbl->Release (sl);
}