Commit Graph

131 Commits

Author SHA1 Message Date
Eric Pouech 1be2e1edef shell32: Fixes for bugs found by valgrind on shell32 tests harness.
- read strings from left to right (PathGetDriveNumberW)
- don't access buffers before they are filled (SHGetPathFromIDListW)
- fill buffers & variables on all paths (SHELL_FindExecutable)
- handle error condition (unix_fs)
- don't shoot in the blind for AW APIs (tests/shelllink.c)
2006-02-22 12:04:02 +01:00
Dmitry Timoshkov 22204c2c80 shell32: execute_from_key should fallback to a DDE exec only if the
command to execute from is not found in the registry.
Pass already found executable name to dde_connect.
2006-02-01 12:29:39 +01:00
Ge van Geldorp a8d1e6e068 shell32: Fix directory execution.
Only use the Folder class handler if we're actually executing a
folder.
2006-01-12 13:31:45 +01:00
Martin Fuchs 041039390a Fix context menu handling for more than one entry in order to repair
.lnk-file execution: Don't break at the first non-matching entry.
2005-11-30 18:26:32 +01:00
Ge van Geldorp 72ed6eae4c Other code in shlexec.c (e.g. the extension handling code in
ShellExecute_GetClassKey) expects sei->lpFile to not be enclosed in
quotes.
2005-11-28 17:29:58 +01:00
Dmitry Timoshkov 84d4fc5e03 Unconditionally fall back to ANSI DDE APIs in ShellExecute if current
emulated Windows version is Win9x, Excel refuses to communicate with a
unicode client in win9x mode.
2005-11-11 10:54:07 +00:00
Mike McCormack 32d5240178 Invoke shortcuts through IContextMenu, rather than trying to access
them directly.
2005-11-03 11:33:57 +00:00
Dmitry Timoshkov 8cd388f398 Use appropriate DDE APIs (ANSI or unicode) for ShellExecuteA/W, Excel
2000 depends on that.
2005-10-18 14:11:17 +00:00
Martin Fuchs 803146d220 Simplify 'sei' structure initialization in ShellExecuteA/W. 2005-10-03 11:02:47 +00:00
Ge van Geldorp 5b7da80911 Fix execution of Control Panel items. 2005-09-12 12:10:57 +00:00
Dmitry Timoshkov 4cc1c14005 Pass a locally modified version of SHELLEXECUTEINFO to
IShellExecuteHookW_Execute, this should pass through at least
sei_tmp.nShow retrieved from an .lnk file (fStartup).
2005-09-08 18:54:52 +00:00
Kevin Koltzau 95a173a52b Fix warnings in 64bit. 2005-09-02 11:32:17 +00:00
Francois Gouget 0b5cc286e3 Fix ShellExecute("\"foo.doc\"") for Internet Explorer 6.
Update the conformance tests accordingly.
Tweak a trace because it's very confusing to see the path with no
escaped quotes in ShellExecuteA() and then with escaped quotes in
ShellExecuteExW32() (due to debugstr_w()).
2005-08-17 09:53:30 +00:00
Francois Gouget df6ed2f4e8 Fix the return value of SHELL_Argify() so it once again returns true
if a '%1' or equivalent placeholder was found. This fixes
ShellExecuteEx(lpFile="foo.txt", lpClass="txtfile").
2005-08-11 17:04:31 +00:00
Francois Gouget efe2bbd0ec Fix handling of SEE_MASK_CLASSNAME and SEE_MASK_CLASSKEY. They are not
disjoint flags.
2005-08-11 10:29:44 +00:00
Francois Gouget 28dc5a8afc Assorted spelling fixes. 2005-07-11 10:59:41 +00:00
Michael Jung 81b7509f3b Use SHGetPathFromIDList instead of SHELL32_GetPathFromIDList. 2005-06-14 19:17:41 +00:00
Juan Lang f12eadf7bf - only log unsupported flags in ShellExecute
- environment variables are expanded, so SEE_MASK_DOENVSUBST is
  supported
2005-05-14 11:06:54 +00:00
Peter Berg Larsen 6e3bcb5a54 Replace strncpy with memcpy or lstrcpyn. 2005-04-18 10:30:55 +00:00
Francois Gouget 93416cdaf7 Assorted spelling fixes. 2005-03-23 13:15:18 +00:00
Aric Stewart 984931bd09 For ShellExecuteExA we need to copy out the hProcess value from the W
structure.
2005-03-17 20:50:53 +00:00
Ge van Geldorp a912c2a885 Error numbers >= 32 are to be expected. 2005-02-14 11:03:21 +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
Alexandre Julliard 758b2887e9 Remove some no longer needed AW functions. 2004-12-17 19:20:07 +00:00
Jon Griffiths f82272c92f Remove unneeded headers to reduce unneeded rebuilds. 2004-12-16 14:35:55 +00:00
Ge van Geldorp 9b399da426 - Don't double-quote an already double-quoted argument.
- Properly increment the fmt pointer.
2004-10-21 20:59:25 +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
Jens Collin 9e679d3675 Added lookup of environment vars in SHELL_ArgifyW. 2004-09-14 20:14:09 +00:00
Ge van Geldorp 225c8e6c57 Handle shell link files contained in double quotes. 2004-08-16 23:18:36 +00:00
Francois Gouget 1117e69c14 SHELL_ExecuteW() passes a Unicode environment to CreateProcessW() so
it must specify the CREATE_UNICODE_ENVIRONMENT flag. Also the
SHELL_ExecuteW32() functions will always be called with a Unicode
environment so adjust their prototype accordingly.
2004-06-15 18:27:50 +00:00
Dmitry Timoshkov a98f0dffa6 Fix warnings introduced by my last patch. 2004-06-15 17:02:46 +00:00
Dmitry Timoshkov d321561ba4 Restore default "open" functionality of ShellExecute. 2004-06-15 00:44:14 +00:00
Dmitry Timoshkov 7c1ae16431 Ignore DdeClientTransaction error in ShellExecute. 2004-06-14 19:32:32 +00:00
Dmitry Timoshkov 5567887fd3 Add support for quoting "file://%1" like format strings. 2004-06-14 17:54:24 +00:00
Dmitry Timoshkov 85ef456512 Fix the DDE PFNCALLBACK prototype. 2004-04-26 23:29:44 +00:00
Dmitry Timoshkov 61daaf8bd3 Fix a bug in ShellExecute which called DdeCreateStringHandleW with a
wrong parameter. Revert previous erroneous fix.
2004-04-23 21:32:17 +00:00
Huw Davies 180045676b DdeClientTransaction returns zero on error. 2004-04-22 23:46:35 +00:00
Martin Fuchs c01e515815 Check for folders in ShellExecute(). 2004-04-13 00:18:45 +00:00
Martin Fuchs 6223fdc9f2 - rename 'wszCommandline' to 'wszParameters'
- separate out command line arguments from executable file name
2004-04-12 23:12:51 +00:00
Francois Gouget 0217bfdfed Assorted spelling fixes. 2004-04-12 22:08:23 +00:00
Francois Gouget e7427e13af Cleanup the handling of the extension in SHELL_FindExecutable():
- Eliminate the corresponding fixed-size buffer which removes the
  limitation to 3 character extensions.
- Fix handling of the trailing '.' case.
- Do a case-insensitive check for the extension in win.ini.
Increase the size of the command buffer to 1024.
2004-04-09 19:04:03 +00:00
Martin Fuchs df0a00edd8 Resolve shell shortcuts and process ID lists in ShellExecute()
functions.
2004-04-07 03:49:51 +00:00
Martin Fuchs 3abf44f10a Optimization: null terminate string buffers instead of filling them
completely with 0.
2004-04-05 21:06:16 +00:00
Rolf Kalbermatter dfe99d49c5 Use named constant instead of a simple number (gets rid of signed
warning too).
2004-04-01 21:00:23 +00:00
Martin Fuchs 02dd8c3601 Call IShellExecuteHook interface for ShellExecute() calls with ID
lists.
2004-03-27 20:41:20 +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
Rein Klazes d09edf800b In SHELL_ExecuteW, if a new current directory is specified, change to
it before calling CreateProcess so that it will find the correct
executable.
2004-03-19 01:52:30 +00:00
Martin Fuchs a06f76d6f9 Expand environment strings in command, parameter and directory strings
of ShellExecuteExW32().
2004-03-18 04:04:29 +00:00
Martin Fuchs 7b48ddcbba Enumerate all "shell\<verb>\command" entries in the registry instead
of searching only for "shell\open\command" entries.
2004-03-04 20:34:38 +00:00
Martin Fuchs 4a2731a781 Fix buffer length usage for RegQueryValueW() calls at various places. 2004-03-03 05:26:30 +00:00
Huw Davies bc811a2489 Add a missing '\\'. 2004-03-01 23:11:53 +00:00
Martin Fuchs 46fceb19f3 Set error code ERROR_DDE_FAIL if the DDE connection failed in
ShellExecute().
2004-03-01 21:22:25 +00:00
Dmitry Timoshkov ccc57b323d Translate the returned hInstApp from the unicode worker function. 2004-02-12 20:04:09 +00:00
Alexandre Julliard e025c59051 Fixed HCR_GetExecuteCommandW() behavior with a class name (based on a
patch by Martin Fuchs).
Removed a couple of no longer used functions.
2004-01-16 23:06:25 +00:00
Marcelo Duarte 003465415f - Get rid of W->A calls for shlexec.
- Implementation of FindExecutableW.
2004-01-15 06:13:57 +00:00
Francois Gouget 640cc3f3e1 Assorted spelling fixes. 2004-01-06 22:08:33 +00:00
Ge van Geldorp fc5134d52e Enclose application name in double quotation marks, as it may contain
spaces.
2003-12-30 19:20:11 +00:00
Marcelo Duarte 36002739c7 - Implementation of HCR_GetExecuteCommandExW for internal use.
- New inline function  __SHCloneStrAtoW.
2003-12-10 00:39:31 +00:00
Alexandre Julliard 2d13956285 The "Path" value of the "App Paths" entry should be handled in
ShellExecute by changing PATH in the new process, instead of being
done in SearchPath.
2003-09-26 04:35:01 +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
Francois Gouget c5f775a9c7 Typos/spelling fixes. 2003-06-18 03:30:39 +00:00
Ulrich Czekalla 52b732dd0d Handle SEE_MASK_CLASSKEY case for ShellExecute. 2003-05-19 23:07:49 +00:00
Aric Stewart 07c649bf1b Added support for the %L escape. 2003-05-19 18:55:26 +00:00
Stefan Leichter a127ad1cd1 Let wcmd handle .cmd files like .bat files. 2003-03-25 00:33:56 +00:00
Francois Gouget 9b0b1e078a Remove (POINTER)NULL casts. 2003-01-14 23:43:41 +00:00
Dan Kegel adf55c25db ShellExecute(NULL, "wordpad.exe",) now correctly finds wordpad.exe in
App Paths.
2003-01-03 03:03:36 +00:00
Rolf Kalbermatter e56d618613 Make some shell32 files compile in MSVC. 2002-12-16 22:40:34 +00:00
Rolf Kalbermatter caf31cee32 Added Unicode versions of the HCR_ internal functions. 2002-12-13 23:45:36 +00:00
Rolf Kalbermatter a96447160b Fixed some signed/unsigned comparison warnings. 2002-12-13 00:36:52 +00:00
Francois Gouget d2667a4ce3 Removed unnecessary HANDLE typecasts. 2002-12-02 18:10:57 +00:00
Johan Dahlin 991fd85d2f Make shell32 compile with -DSTRICT. 2002-11-21 23:56:42 +00:00
György 'Nog' Jeney 03d3d9de0b Separate out 16-bit ShellExecute function. 2002-10-29 21:30:01 +00:00
Alexandre Julliard 0ca051e555 Fixed wownt32.h to make it usable from inside Wine, and use it to
avoid some duplication of the handle conversion macros.
2002-10-17 16:43:42 +00:00
Duane Clark ffd54a9be0 Wait for app to come up before attempting DDE connection.
PathIsURL should fail on text without a proper "scheme".
2002-09-16 19:27:51 +00:00
Michael Stefaniuc 025c0b716b Prepare dlls/{comctl32,gdi,msvideo,setupapi,shell32,twain,winmm} for
the conversion of HWND to a void*.
2002-09-06 19:41:17 +00:00
Patrik Stridvall d016f819f1 Added include protection for unistd.h and sys/time.h. 2002-08-17 00:43:16 +00:00
Duane Clark ebc6feb50b Bug fixes. 2002-07-25 00:18:23 +00:00
Duane Clark 94324019b6 Combined implementations of ShellExecute/Ex. 2002-07-24 18:59:38 +00:00
Vincent Béron 9a62491660 Removed trailing whitespace. 2002-05-31 23:06:46 +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
Eric Pouech 1056953e2c Fixed ShellExecute functions when ddeexec was present in registry. 2002-02-27 01:22:15 +00:00