GetModuleFileName (kernel32)
Last changed: -73.246.221.57

.
Summary

C# Signature:

[DllImport("kernel32.dll", SetLastError=true)]
[PreserveSig]
public static extern uint GetModuleFileName
(
    [In]
    IntPtr hModule,

    [Out]
    StringBuilder lpFilename,

    [In]
    [MarshalAs(UnmanagedType.U4)]
    int nSize
);

VB.Net Signature:

<DllImport("kernel32.dll", SetLastError:=True)> <PreserveSig()> _
Public Function GetModuleFileName(<[In]()> ByVal hModule As IntPtr, <Out()> ByVal lpFilename As String, <[In]()> <MarshalAs(UnmanagedType.U4)> ByVal nSize As Integer) As UInteger
End Function

User-Defined Types:

None.

Notes:

None.

Tips & Tricks:

Please add some!

Sample Code:

using System;
using System.Text;
using System.Runtime.InteropServices;
using Library.Win32.Process;

namespace Test
{
    class Class1
    {
    [STAThread]
    static void Main(string[] args)
    {
        StringBuilder fileName = new StringBuilder(255);
        DllFuntions.GetModuleFileName(IntPtr.Zero, fileName, fileName.Capacity);
        Console.WriteLine(fileName);
     }
     }
}

Alternative Managed API:

System.Diagnostics.ProcessModule.FileName or System.Reflection.Module.FullyQualifiedName.

Documentation