Commit Graph

163 Commits

Author SHA1 Message Date
Mike McCormack c189912cbd Fix a problem spotted by Dmitry and another one stopping correctly
formatted lnk files from being generated.
2005-11-08 10:55:15 +00:00
Mike McCormack 991e7054cf Partially implement and test the shelllink object's
IShellLinkDataList::CopyDataBlock and GetFlags methods.
2005-11-04 11:40:58 +00:00
Mike McCormack 85b3f37d31 Use advapi32.CommandLineFromMsiDescriptor to get msi component paths. 2005-11-04 11:15:33 +00:00
Mike McCormack 0de1f3e629 Pass the correct verb.
Add a space between extra parameters.
Wait for ShellExecute to complete.
2005-11-03 09:55:21 +00:00
Martin Fuchs 9f9fd4080b Correct WINAPI position for MSVC portability. 2005-11-02 20:51:41 +00:00
Mike McCormack 0857fc2919 Handle MSI advertised shortcuts in the shelllink object. 2005-10-28 16:40:51 +00:00
Mike McCormack f86c4e8c90 Implement IContextMenu::QueryContextMenu and
IContextMenu::InvokeCommand.
2005-10-28 09:39:50 +00:00
Mike McCormack 56aa241b97 Add the IObjectWithSite interface. 2005-10-27 10:19:16 +00:00
Mike McCormack 4a28e7cdc9 Use ShellLink_QueryInterface to return the right interface in
IShellLink_Constructor.
2005-10-18 10:36:03 +00:00
Kevin Koltzau 95a173a52b Fix warnings in 64bit. 2005-09-02 11:32:17 +00:00
Alexandre Julliard 89cbfd8fac Get rid of the _ICOM_THIS macros and call the inline function
directly instead.
2005-07-26 20:02:25 +00:00
Mike McCormack e28c014a84 -Wpointer-sign fixes. 2005-07-03 12:03:35 +00:00
Mike McCormack 4d2d627c3f - forward AddRef, Release, QueryInterface and GetClassID to internal
implementations
- implement GetClassID properly
2005-06-16 10:43:50 +00:00
Mike McCormack 0a44661d6f Switch IShellLink to use shlwapi.SHCreateStreamOnFileW. 2005-06-16 09:46:05 +00:00
Mike McCormack c62940a1ac Remove some uses of wine/unicode.h functions. 2005-06-15 10:21:46 +00:00
Michael Jung 81b7509f3b Use SHGetPathFromIDList instead of SHELL32_GetPathFromIDList. 2005-06-14 19:17:41 +00:00
Mike McCormack 215bd9a70b Add the IContextMenu interface to the ShellLink object. 2005-06-14 11:38:55 +00:00
Mike McCormack 0569609e3d Implement ShellLink's IShellExtInit::Initialize() method. 2005-06-13 19:04:17 +00:00
Mike McCormack d4eb4f54ed - add the IShellExtInit interface to the ShellLink object
- use inline functions rather than macros to resolve the
  implementation pointer from an interface pointer
2005-06-13 11:50:09 +00:00
Mike McCormack fa1b7822a5 Add the IShellLinkDataList interface to the ShellLink object. 2005-06-09 12:05:38 +00:00
Dmitry Timoshkov eba47f1dfe Make remaining OLE interface vtables const. 2005-06-06 19:50:35 +00:00
Mike McCormack 3e2cb75349 Remove some unused include files. 2005-05-13 13:59:15 +00:00
Mike McCormack 5960e7c93c MSI advertised shortcuts don't require a product ID. 2005-04-22 19:06:12 +00:00
Peter Berg Larsen 6e3bcb5a54 Replace strncpy with memcpy or lstrcpyn. 2005-04-18 10:30:55 +00:00
Huw Davies 0e5b772cdc Add a unicode pidl type.
Improve support for PT_YAGUID.
Improve IShellLink debugging.
2005-04-13 14:39:27 +00:00
Mike McCormack a5cb5a2ab3 Use api definitions, remove duplicate code. 2005-03-27 17:54:48 +00:00
Jakob Eriksson 9ed61de9a2 Get rid of HeapAlloc casts. 2005-03-24 21:01:35 +00:00
Jon Griffiths dbf222f3aa Use LMEM_ flags for LocalAlloc(), not GMEM_ (GlobalAlloc). 2005-03-17 20:53:37 +00:00
Francois Gouget fbb3343547 Assorted spelling fixes. 2005-03-02 13:53:50 +00:00
Mike McCormack 64c3208e10 - implement loading and saving of MSI advertised shortcut info
- make more test cases pass
- read and write the location block
- improve the binary compatibility of lnk files
2005-02-25 16:19:57 +00:00
Dmitry Timoshkov 9074f257e0 Convert winemenubuilder to unicode. 2005-02-17 11:51:44 +00:00
Huw Davies 084e596a95 SetPath("") should return S_OK.
SetPath("nonexistent_path") should return S_FALSE.
2005-02-16 16:27:42 +00:00
James Hawkins ba92d2924a - Use Interlocked* instead of ++/-- in AddRef/Release.
- Use only stored result of Interlocked* in AddRef/Release.
- Expand TRACEs to display the ref count.
2005-01-14 16:02:20 +00:00
Michael Stefaniuc 5ad7d858e0 Do not check for non NULL pointer before HeapFree'ing it. It's
redundant.
2004-12-23 17:06:43 +00:00
Francois Gouget 486d020c1b Don't define COBJMACROS in objbase.h.
Update the Wine sources accordingly.
2004-10-07 03:06:48 +00:00
Francois Gouget 67aa858a31 Assorted spelling fixes. 2004-10-05 18:15:29 +00:00
Martin Fuchs 09878e1c6a At least print message if we're not returning requested data. 2004-09-23 22:52:03 +00:00
Martin Fuchs 1c8d9b66c3 Store absolute path in .lnk file. 2004-09-22 19:11:27 +00:00
Martin Fuchs fa417e2869 Implement IShellLinkA::Resolve and IShellLinkW::Resolve. 2004-09-22 04:00:56 +00:00
Alexandre Julliard 314b99c48f Removed some more uses of the non-standard ICOM_THIS macro. 2004-09-09 20:17:07 +00:00
Alexandre Julliard f714b39762 Get rid of the no longer used ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
macro.
2004-08-23 19:39:48 +00:00
Aric Stewart 383de6efbc Make sure exePath contains the path since it is used later in the
function as well.
2004-08-23 17:55:29 +00:00
Aric Stewart 4133ed17d9 In IPersistFile_Save if the exe file is not found, trust the path we
are given and allow creation of the link.
2004-08-20 19:28:33 +00:00
Alexandre Julliard 48c4bb3c31 Get rid of the non-standard ICOM_VTABLE macro. 2004-08-12 23:00:51 +00:00
Alexandre Julliard 0467ce9fd7 Get rid of the non-standard ICOM_VFIELD macro. 2004-08-12 19:52:49 +00:00
Francois Gouget 6a6c85c6d8 Make Unicode const strings static so they are not copied to the stack
each time we enter the function.
2004-04-19 20:12:14 +00:00
Martin Fuchs 1ab301d7be - eliminate MSVC type conversion warning
- IShellLink::GetIconLocation(): get icons for shell links if not
  already set
2004-04-12 23:12:39 +00:00
Alexandre Julliard bb133bd596 Fixed a couple of header files ordering issues. 2004-04-07 03:59:41 +00:00
Martin Fuchs b44f8253cf - fix dirty flag on shelllink loading and saving
- update absolute path when changing relative path
2004-04-05 20:12:57 +00:00
Martin Fuchs 906be1dcb0 - Fix handling of %2, %3, ... and lower case format characters in
SHELL_ArgifyW().
- Move "%I" expansion from ShellExecuteEx() into common function
  SHELL_ArgifyW().
- Pass buffer length to SHELL_FindExecutable().
- FIXME comment for len paramater in SHELL_ArgifyW().

Ge van Geldorp <ge@gse.nl>
- Add double quotation marks unless we already have them (e.g.: "%1"
  %* for exefile).
- Remove unnecessary double quotation marks and command line arguments.
2004-03-26 02:29:12 +00:00
Martin Fuchs df23d95476 Implementation of IPersistFile::IsDirty(). 2004-03-25 23:36:45 +00:00
Martin Fuchs 075d6a1238 Fix for recent shelllink patch, which removed the important part of
returning the result pointer from IShellLink_ConstructFromFile().
2004-03-22 22:58:37 +00:00
Mike McCormack b0b467ab95 Update path from relative path on loading. 2004-03-22 21:12:39 +00:00
Martin Fuchs eae9444bc8 - fix typos in shelllink.c header comment and a struct comment
- corrected SCF_UNICODE constant and use the value of SCF_UNC instead
- implemented IShellLink_ConstructFromFile() to read shell links from
  files
- call IShellLink_ConstructFromFile() in ISF_..._fnGetUIObjectOf()
  when being queried for IShellLink interface
2004-01-20 01:37:24 +00:00
Alexandre Julliard f9be2f3d21 Removed some unnecessary includes. 2003-11-17 20:31:29 +00:00
Dimitrie O. Paun b0f4a564a1 Move useful information out of documentation/shell32. 2003-10-09 19:47:08 +00:00
Alexandre Julliard e37c6e18d0 Fixed header dependencies to be fully compatible with the Windows
headers (with help from Dimitrie O. Paun).
2003-09-05 23:08:26 +00:00
Alexandre Julliard d937dc2963 Implemented shtypes.idl and shobjidl.idl and removed a few more
wine/obj_* headers.
2003-09-04 19:43:39 +00:00
Francois Gouget 9591836ffb 'sizeof type' is best avoided as it won't always compile (e.g. 'int
main() {return sizeof int;}'). Use 'sizeof(type)' instead.
2003-06-18 19:45:22 +00:00
Mike McCormack 88090b47a6 Remove code that starts wineshelllink, instead create a windows
compatible shortcut (*.lnk) file. After creating that file, start a
link processor (winemenubuilder) on it, which reads it back then calls
wineshelllink.
Rework CreateStreamFromFile to create an IStream object that is
writeable.
2003-05-21 18:50:53 +00:00
Robert Lunnon 2eab8afaa9 Eliminate segfault due to NULL This->sIcoPath. 2003-05-06 18:36:54 +00:00
Alexandre Julliard c2ebe1ff93 Removed uses of the non standard ICOM_VTBL macro. 2003-04-10 18:17:34 +00:00
Alexandre Julliard 2ee8b5bb13 Replaced mkstemp by mkstemps from libiberty.
Removed a couple of unnecessary portability functions.
2003-03-20 21:07:49 +00:00
Johan Dahlin 991fd85d2f Make shell32 compile with -DSTRICT. 2002-11-21 23:56:42 +00:00
Marcus Meissner 095a5f4d40 Also silence IShellLinkA_fnSetShowCmd. 2002-11-15 00:02:36 +00:00
Marcus Meissner 6f21fe0044 Silence IShellLink::SetShowCmd for the case we support. 2002-11-12 23:25:33 +00:00
Marcus Meissner 93e366e6ba Escape \ in path and arguments.
Use UNIX style work_dir, not windows dir.
2002-10-31 23:35:20 +00:00
Dusan Lacko a9568dd08b Fix extraction of icons from ICO files. 2002-08-20 00:25:03 +00:00
Patrik Stridvall d016f819f1 Added include protection for unistd.h and sys/time.h. 2002-08-17 00:43:16 +00:00
Mike McCormack 03bbb46442 Don't try reading a PIDL in IPersistStream->Load if its size is 0.
Check the number of bytes read was correct.
Small reorganization of error handling.
2002-08-16 23:27:07 +00:00
Marcus Meissner 786d24903b Check for mkstemp, added a port implementation if it is not
present. Use mkstemp() in various places needing tmp files.
2002-07-29 23:55:39 +00:00
Juergen Schmied 1e5ec8893d - Cleaned up the implementation of shell folders and put them into
separate files.
- Fixed some memory leaks.
- Some more fixes.
2002-07-24 01:56:03 +00:00
Juergen Schmied 23b808791e - changed STRRET definition
- small changes for seperation of shell32 from ole32
- debughelper for printing interface names (shell internal)
- changed shell memory allocation to use IMalloc of ole32 when this
  library is already loaded
- fallback IMalloc internally in shell
- unified constructor syntax for several objects  created by DllGetClassObject
- rewrote instance creation for com objects
- made the desktop folder parsing paths like ::{CLSID}
- Implemented IPersistFolder3 partially
2002-07-02 02:05:17 +00:00
Vincent Béron 9a62491660 Removed trailing whitespace. 2002-05-31 23:06:46 +00:00
Dusan Lacko 7647c8e9df If we can't extract the icon, defer link creation to runonce. 2002-04-08 23:49:11 +00:00
Alexandre Julliard 0799c1a780 Added LGPL standard comment, and copyright notices where necessary.
Global replacement of debugtools.h by wine/debug.h.
2002-03-09 23:29:33 +00:00
Alexandre Julliard 3954117ce4 Moved undocshell.h to dlls/shell32. Removed shell16.h. 2001-08-16 18:49:56 +00:00
Dusan Lacko 1a74b2abd6 Fix ExtractFromEXEDLL for nIndex != 0.
Prefer 8bit icons.
2001-08-10 22:29:48 +00:00
Alexandre Julliard 5f728cae70 Removed HEAP_strdupA. 2001-07-24 21:45:22 +00:00
Marcus Meissner 3f1ed52d8b Implemented 64bit file size handling.
Removed several unneeded sys/stat.h includes.
2001-05-14 20:09:37 +00:00
James Abbatiello 0da6d5e614 Implement IShellLink<A|W>_fnGetWorkingDirectory,
IShellLink<A|W>_fnGetArguments, IShellLink<A|W>_fnGetIconLocation.
2001-02-12 01:17:39 +00:00
Jeremy White a6166e174e Revised shell link process to treat empty (e.g. "") strings
identically to NULL strings. Makes many more installers take useful
action. Added many trace messages.
2001-01-17 01:48:52 +00:00
Alexandre Julliard 3a0f8b7953 Finished separation of shell32 and wsock32. 2000-12-01 20:48:41 +00:00
Alexandre Julliard 24a62ab9b0 Got rid of the Wine internal lstrcpy* functions and of winestring.h. 2000-11-28 22:40:56 +00:00
Patrik Stridvall 024d6c50d6 Fixed some issues found by winapi_check. 2000-11-25 03:09:30 +00:00
Alexandre Julliard 47f5f0006a Removed leftover debug output. 2000-11-04 02:57:51 +00:00
Alexandre Julliard e2b4efbd02 Create Gnome/KDE desktop and menu entries from IShellLink
interface. Based on the work of James Thomson and Dusan Lacko.
2000-11-02 20:22:07 +00:00
Alexandre Julliard 74af67ef42 Removed shell.h. Cleaned up the nested includes mess in wine/obj_*.h. 2000-09-26 00:00:55 +00:00
Alexandre Julliard 08aad6ac25 Fixed IShellLinkA/W definitions. 2000-08-03 04:21:23 +00:00
Alexandre Julliard 681c75bf17 Added debugstr_guid function and used it to replace
WINE_StringFromCLSID in all debugging messages.
2000-01-18 05:09:49 +00:00
Francois Gouget baa9bf9a23 Buffer overflows and strncpy fixes. 1999-12-27 05:24:06 +00:00
Francois Gouget 01c9ac401f Generalized the use of the new ICOM_VFIELD and ICOM_VTBL macros. 1999-10-31 01:59:23 +00:00
Juergen Schmied eac255cd31 More use of rc files for strings and menus, fixes. First internal
icons.
1999-08-15 14:31:36 +00:00
Patrik Stridvall 478eee17be Eliminated warnings. 1999-07-31 13:13:23 +00:00
Juergen Schmied 174092d9fe Implemented access to lnk's to a IStream interface. 1999-07-25 12:21:43 +00:00
Juergen Schmied 9aef586e95 Completely rewritten. IPersistStream interface implemented. 1999-07-10 11:48:37 +00:00
Alexandre Julliard a099a555c3 Converted to the new debug interface, using script written by Patrik
Stridvall.
1999-06-12 15:45:58 +00:00
Paul Quinn 2305f3c06d Microsoft com vtable compatibility workaround for g++. Basically adds
an optional 8 bytes padding to COM objects where the RTTI would be.
1999-05-22 11:41:38 +00:00
Patrik Stridvall c7a8dde118 #pragma pack(?) changed to #include "*pack*.h" 1999-04-25 12:36:53 +00:00
Juergen Schmied 3ea18db36d - more checks for valid pidl formats 1999-04-22 09:20:01 +00:00