Compact Framework 不支持通过 Assembly.GetEntryAssembly 确定启动 .exe。那么是否有另一种方法来获取正在执行的 .exe 的名称?
编辑:我在 Peter Foot 的博客上找到了答案:http: //peterfoot.net/default.aspx 这是代码:
byte[] buffer = new byte[MAX_PATH * 2];
int chars = GetModuleFileName(IntPtr.Zero, buffer, MAX_PATH);
if (chars > 0)
{
string assemblyPath = System.Text.Encoding.Unicode.GetString(buffer, 0, chars * 2);
}
[DllImport("coredll.dll", SetLastError = true)]
private static extern int GetModuleFileName(IntPtr hModule, byte[] lpFilename, int nSize);