Search
Module:
Directory

   Desktop Functions:

   Smart Device Functions:


Show Recent Changes
Subscribe (RSS)
Misc. Pages
Comments
FAQ
Helpful Tools
Playground
Suggested Reading
Website TODO List
Download Visual Studio Add-In

GetModuleFileName (coredll)
 

coredll is for smart devices, not desktop Windows. Therefore, this information only applies to code using the .NET Compact Framework. To see if information for GetModuleFileName in other DLLs exists, click on Find References to the right.

.
Summary

C# Signature:

[DllImport("coredll.dll", SetLastError=true)]
static extern int GetModuleFileNameEx(IntPtr hProcess, IntPtr hModule, StringBuilder lpFilename, int nSize);

C# Signature:

[DllImport("Kernel32.dll", CharSet = CharSet.Unicode, SetLastError = true)]
internal static extern bool GetModuleHandleEx(UInt32 dwFlags, string lpModuleName, out IntPtr phModule);

private static extern int GetModuleFileName(IntPtr hModule, StringBuilder lpFilename, int nSize);

VB Signature:

Declare Function GetModuleFileNameEx Lib "coredll.dll" (ByVal hProcess As IntPtr, ByVal hModule As IntPtr, ByVal lpFileName As System.Text.StringBuilder, ByVal nSize As Int32) As Int32

VB Signature:

<DllImport("Kernel32.dll", CharSet:=CharSet.Unicode, SetLastError:=True)>
Friend Shared Function GetModuleHandleEx(ByVal dwFlags As UInt32, ByVal lpModuleName As String, ByRef phModule As IntPtr) As Boolean
End Function
Declare Function GetModuleFileName Lib "coredll.dll" (ByVal hModule As IntPtr, ByVal lpFileName As System.Text.StringBuilder, ByVal nSize As Int32) As Int32

User-Defined Types:

None.

Alternative Managed API:

Do you know one? Please contribute it!

This is used internally by the static property System.Windows.Forms.Application.ExecutablePath

Notes:

None.

Taken from OpenNETCF.Reflection.AssemblyEx

Tips & Tricks:

Please add some!

Sample Code:

Please add some!

Documentation

class CoreDllWrapper
{
    [DllImport("coredll.dll", SetLastError = true)]
     public static extern int GetModuleFileName(IntPtr hModule, StringBuilder lpFilename, int nSize);
}

// Will write the current executable's complete path into exePath
StringBuilder exePath = new StringBuilder(1024);
int exePathLen = CoreDllWrapper.GetModuleFileName(IntPtr.Zero, exePath, exePath.Capacity);

Documentation

Please edit this page!

Do you have...

  • helpful tips or sample code to share for using this API in managed code?
  • corrections to the existing content?
  • variations of the signature you want to share?
  • additional languages you want to include?

Select "Edit This Page" on the right hand toolbar and edit it! Or add new pages containing supporting types needed for this API (structures, delegates, and more).

 
Access PInvoke.net directly from VS:
Terms of Use
Edit This Page
Find References
Show Printable Version
Revisions