Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
//+--------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1994 - 1996.
//
// File: selprog.hxx
//
// Contents: Task wizard program selection property page.
//
// Classes: CSelectProgramPage
//
// History: 4-28-1997 DavidMun Created
//
//---------------------------------------------------------------------------
#ifndef __SELPROG_HXX_
#define __SELPROG_HXX_
//+--------------------------------------------------------------------------
//
// Class: CSelectProgramPage
//
// Purpose: Implement the task wizard program selection dialog
//
// History: 4-28-1997 DavidMun Created
//
//---------------------------------------------------------------------------
class CSelectProgramPage: public CWizPage { public:
CSelectProgramPage::CSelectProgramPage( CTaskWizard *pParent, LPTSTR ptszFolderPath, HPROPSHEETPAGE *phPSP);
CSelectProgramPage::~CSelectProgramPage();
//
// CPropPage overrides
//
virtual LRESULT _OnCommand( int id, HWND hwndCtl, UINT codeNotify);
virtual LRESULT _OnDestroy();
virtual BOOL _ProcessListViewNotifications( UINT uMsg, WPARAM wParam, LPARAM lParam);
//
// CWizPage overrides
//
virtual LRESULT _OnInitDialog( LPARAM lParam);
virtual LRESULT _OnPSNSetActive( LPARAM lParam);
//
// New member functions
//
VOID GetDefaultDisplayName( LPTSTR tszDisplayName, ULONG cchDisplayName);
HICON GetSelectedAppIcon();
VOID GetExeName( LPTSTR tszBuf, ULONG cchBuf);
VOID GetExeFullPath( LPTSTR tszBuf, ULONG cchBuf);
VOID GetExeDir( LPTSTR tszBuf, ULONG cchBuf);
LPCTSTR GetArgs();
private:
HRESULT _InitListView();
HRESULT _PopulateListView();
HRESULT _AddAppToListView( LV_ITEM *plvi, HIMAGELIST hSmallImageList, LPLINKINFO pLinkInfo);
BOOL _AppAlreadyInListView( LPLINKINFO pLinkInfo);
VOID _OnBrowse();
HWND _hwndLV; LINKINFO *_pSelectedLinkInfo; INT _idxSelectedIcon;
BOOL _fUseBrowseSelection; TCHAR _tszExePath[MAX_PATH + 1]; TCHAR _tszExeName[MAX_PATH + 1]; };
//+--------------------------------------------------------------------------
//
// Member: CSelectProgramPage::GetExeDir
//
// Synopsis: Return path to directory in which exe resides
//
// History: 5-06-1997 DavidMun Created
//
//---------------------------------------------------------------------------
inline VOID CSelectProgramPage::GetExeDir( LPTSTR tszBuf, ULONG cchBuf) { if (_fUseBrowseSelection) { lstrcpyn(tszBuf, _tszExePath, cchBuf); } else { lstrcpyn(tszBuf, _pSelectedLinkInfo->szExePath, cchBuf); }
if (lstrlen(tszBuf) == 2 && cchBuf > 3) { // lstrcat(tszBuf, TEXT("\\"));
StringCchCat(tszBuf, cchBuf, TEXT("\\")); } }
//+--------------------------------------------------------------------------
//
// Member: CSelectProgramPage::GetArgs
//
// Synopsis: Return exe's arguments, or empty string if there are none
//
// History: 5-08-1997 DavidMun Created
//
//---------------------------------------------------------------------------
inline LPCTSTR CSelectProgramPage::GetArgs() { if (_fUseBrowseSelection) { return TEXT(""); } return _pSelectedLinkInfo->tszArguments; }
#endif // __SELPROG_HXX_
|