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);