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:
@@ -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
|
||||||
|
@@ -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();
|
||||||
|
@@ -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
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user