/*++ 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); }