130 lines
2.9 KiB
C
130 lines
2.9 KiB
C
/*++
|
|
|
|
Copyright (c) 1994-1998, Microsoft Corporation All rights reserved.
|
|
|
|
Module Name:
|
|
|
|
mouse.c
|
|
|
|
Abstract:
|
|
|
|
This module contains the routines for the "fake" applets.
|
|
|
|
Revision History:
|
|
|
|
--*/
|
|
|
|
|
|
|
|
//
|
|
// Include Files.
|
|
//
|
|
|
|
#include "main.h"
|
|
#include "rc.h"
|
|
#include "applet.h"
|
|
|
|
//
|
|
// From shell\inc\shsemip.h
|
|
//
|
|
#define ARRAYSIZE(a) (sizeof(a)/sizeof(a[0]))
|
|
|
|
//
|
|
// From shelldll\help.c.
|
|
//
|
|
VOID WINAPI SHHelpShortcuts_RunDLL( HWND, HINSTANCE, LPCSTR, int );
|
|
VOID WINAPI SHHelpShortcuts_RunDLLW( HWND, HINSTANCE, LPCWSTR, int );
|
|
|
|
static const TCHAR c_szPrintersFolder[] = TEXT("PrintersFolder");
|
|
static const TCHAR c_szFontsFolder[] = TEXT("FontsFolder");
|
|
|
|
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// PrintApplet
|
|
//
|
|
////////////////////////////////////////////////////////////////////////////
|
|
|
|
int PrintApplet(
|
|
HINSTANCE instance,
|
|
HWND parent,
|
|
LPCTSTR cmdline)
|
|
{
|
|
#ifdef UNICODE
|
|
SHHelpShortcuts_RunDLLW( NULL,
|
|
GetModuleHandle(NULL),
|
|
c_szPrintersFolder,
|
|
SW_SHOWNORMAL );
|
|
#else
|
|
SHHelpShortcuts_RunDLL( NULL,
|
|
GetModuleHandle(NULL),
|
|
c_szPrintersFolder,
|
|
SW_SHOWNORMAL );
|
|
#endif
|
|
|
|
return (0);
|
|
}
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// FontsApplet
|
|
//
|
|
////////////////////////////////////////////////////////////////////////////
|
|
|
|
int FontsApplet(
|
|
HINSTANCE instance,
|
|
HWND parent,
|
|
LPCTSTR cmdline)
|
|
{
|
|
#ifdef UNICODE
|
|
SHHelpShortcuts_RunDLLW( NULL,
|
|
GetModuleHandle(NULL),
|
|
c_szFontsFolder,
|
|
SW_SHOWNORMAL );
|
|
#else
|
|
SHHelpShortcuts_RunDLL( NULL,
|
|
GetModuleHandle(NULL),
|
|
c_szFontsFolder,
|
|
SW_SHOWNORMAL );
|
|
#endif
|
|
|
|
return (0);
|
|
}
|
|
|
|
////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// AdmApplet
|
|
//
|
|
////////////////////////////////////////////////////////////////////////////
|
|
|
|
int AdmApplet(
|
|
HINSTANCE instance,
|
|
HWND parent,
|
|
LPCTSTR cmdline)
|
|
{
|
|
TCHAR szPath[MAX_PATH];
|
|
TCHAR szAdminTools[MAX_PATH];
|
|
|
|
if ( !SHGetSpecialFolderPath(parent, szPath, CSIDL_COMMON_PROGRAMS, 0) )
|
|
return 1;
|
|
|
|
// load the string for the tools folder, then path combine the two so that
|
|
// we can open that directory.
|
|
|
|
if ( !LoadString(instance, IDS_ADM_TITLE, szAdminTools, ARRAYSIZE(szAdminTools)) )
|
|
return 1;
|
|
|
|
//+1 for backslash and +1 for '\0'
|
|
|
|
if ( (lstrlen(szPath)+lstrlen(szAdminTools)+1+1) > ARRAYSIZE(szPath) )
|
|
return 1;
|
|
|
|
PathCombine(szPath, szPath, szAdminTools);
|
|
ShellExecute(parent, NULL, szPath, NULL, NULL, SW_SHOWDEFAULT);
|
|
|
|
return (0);
|
|
}
|