added wxGetFullModuleName(); use it instead of calling ::GetModuleFileName() directly

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@29441 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2004-09-27 10:58:32 +00:00
parent 95ae6d5fc9
commit 77d8d6cd64
3 changed files with 26 additions and 20 deletions

View File

@@ -46,6 +46,11 @@ static const double twips2mm = (1/(METRIC_CONVERSION_CONSTANT*1440));
static const double mm2pt = (METRIC_CONVERSION_CONSTANT*72); static const double mm2pt = (METRIC_CONVERSION_CONSTANT*72);
static const double pt2mm = (1/(METRIC_CONVERSION_CONSTANT*72)); static const double pt2mm = (1/(METRIC_CONVERSION_CONSTANT*72));
// 260 was taken from windef.h
#ifndef MAX_PATH
#define MAX_PATH 260
#endif
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
// standard icons from the resources // standard icons from the resources
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
@@ -503,6 +508,23 @@ extern "C"
WXDLLIMPEXP_BASE void wxSetInstance(HINSTANCE hInst); WXDLLIMPEXP_BASE void wxSetInstance(HINSTANCE hInst);
// return the full name of the program file
inline wxString wxGetFullModuleName()
{
wxString fullname;
if ( !::GetModuleFileName
(
(HMODULE)wxGetInstance(),
wxStringBuffer(fullname, MAX_PATH),
MAX_PATH
) )
{
wxLogLastError(_T("GetModuleFileName"));
}
return fullname;
}
#if wxUSE_GUI #if wxUSE_GUI
// cursor stuff // cursor stuff

View File

@@ -77,15 +77,8 @@ WXDLLEXPORT int wxEntry(HINSTANCE hInstance,
} }
#ifdef __WXWINCE__ #ifdef __WXWINCE__
// WinCE doesn't insert the program itself, so let's // WinCE doesn't insert the program itself, so do it ourselves.
// do it here. args.Insert(wxGetFullModuleName(), 0);
wxString programName;
if ( ::GetModuleFileName( (HMODULE) wxGetInstance(), wxStringBuffer(programName, MAX_PATH), MAX_PATH ) == 0)
{
wxLogLastError(_T("GetModuleFileName"));
}
args.Insert(programName, 0);
#endif #endif
int argc = args.GetCount(); int argc = args.GetCount();

View File

@@ -94,11 +94,6 @@
#endif #endif
#endif #endif
// 260 was taken from windef.h
#ifndef MAX_PATH
#define MAX_PATH 260
#endif
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
// constants // constants
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
@@ -434,12 +429,8 @@ const wxChar* wxGetHomeDir(wxString *pstr)
} }
else // fall back to the program directory else // fall back to the program directory
{ {
wxString strPath; // extract the directory component of the program file name
::GetModuleFileName(::GetModuleHandle(NULL), wxSplitPath(wxGetFullModuleName(), &strDir, NULL, NULL);
wxStringBuffer(strPath, MAX_PATH), MAX_PATH);
// extract the dir name
wxSplitPath(strPath, &strDir, NULL, NULL);
} }
#endif // UNIX/Win #endif // UNIX/Win