rundll.exe16: Add program as 16bit wrapper for rundll32.exe.

This commit is contained in:
Detlef Riekenberg 2010-07-18 19:15:57 +02:00 committed by Alexandre Julliard
parent 331e179632
commit df898ea47a
5 changed files with 62 additions and 0 deletions

1
configure vendored
View File

@ -14786,6 +14786,7 @@ wine_fn_config_program reg enable_reg install
wine_fn_config_program regedit enable_regedit installbin
wine_fn_config_program regsvr32 enable_regsvr32 installbin
wine_fn_config_program rpcss enable_rpcss install
wine_fn_config_program rundll.exe16 enable_win16 install
wine_fn_config_program rundll32 enable_rundll32 install
wine_fn_config_program sc enable_sc install
wine_fn_config_program secedit enable_secedit install

View File

@ -2723,6 +2723,7 @@ WINE_CONFIG_PROGRAM(reg,install)
WINE_CONFIG_PROGRAM(regedit,installbin)
WINE_CONFIG_PROGRAM(regsvr32,installbin)
WINE_CONFIG_PROGRAM(rpcss,install)
WINE_CONFIG_PROGRAM(rundll.exe16,install,enable_win16)
WINE_CONFIG_PROGRAM(rundll32,install)
WINE_CONFIG_PROGRAM(sc,install)
WINE_CONFIG_PROGRAM(secedit,install)

View File

@ -0,0 +1,11 @@
TOPSRCDIR = @top_srcdir@
TOPOBJDIR = ../..
SRCDIR = @srcdir@
VPATH = @srcdir@
MODULE = rundll.exe16
APPMODE = -mwindows -Wb,--subsystem,win16
IMPORTS = kernel32 kernel
C_SRCS = rundll.c
@MAKE_PROG_RULES@

View File

@ -0,0 +1,48 @@
/*
* 16-bit rundll implementation
*
* Copyright 2009 Alexandre Julliard
* Copyright 2010 Detlef Riekenberg
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#include <stdarg.h>
#include <stdio.h>
#include "wine/winbase16.h"
#include "wine/debug.h"
WINE_DEFAULT_DEBUG_CHANNEL(rundll);
/**************************************************************************
* RUNDLL entry point
*/
WORD WINAPI WinMain16( HINSTANCE16 inst, HINSTANCE16 prev, LPSTR cmdline, WORD show )
{
int len = GetSystemDirectoryA( NULL, 0 ) + sizeof("\\rundll32.exe ") + strlen(cmdline);
char *buffer = HeapAlloc( GetProcessHeap(), 0, len );
GetSystemDirectoryA( buffer, len );
strcat( buffer, "\\rundll32.exe " );
strcat( buffer, cmdline );
WINE_TRACE( "starting %s\n", wine_dbgstr_a(buffer) );
WinExec16( buffer, show );
HeapFree( GetProcessHeap(), 0, buffer );
ExitThread( 0 );
}

View File

@ -2541,6 +2541,7 @@ HKLM,%CurrentVersion%\Telephony\Country List\998,"SameAreaRule",,"G"
; 32bit-only fake dlls
[FakeDllsWin32]
10,,rundll.exe,rundll.exe16
10,,twain.dll,twain.dll16
10,,twain_32.dll
10,,winhelp.exe,winhelp.exe16