private const uint HKEY_LOCAL_MACHINE = 0x80000002;
[DllImport("CoreDll.dll", SetLastError = true)]
private static extern IntPtr GetModuleHandle(IntPtr ModuleName);
[DllImport("CoreDll.dll", SetLastError = true)]
private static extern Int32 GetModuleFileName(IntPtr hModule, StringBuilder ModuleName, Int32 cch);
public static string GetEntryAssembly()
{
StringBuilder fn = null;
IntPtr hModule = GetModuleHandle(IntPtr.Zero);
if (IntPtr.Zero != hModule)
{
fn = new StringBuilder(255);
if (0 == GetModuleFileName(hModule, fn, fn.Capacity))
return null;
}
return fn.ToString();
}
public static string GetEntryDirectory()
{
string assembly = GetEntryAssembly();
if (assembly == null)
return null;
int crop = assembly.LastIndexOf("\\");
if (crop > 0)
assembly = assembly.Remove(crop, assembly.Length - crop);
return assembly;
}
==========================================================
compack framework에서는 getCurrentDirectory()같은 함수를 사용할 수 없다.
하지만 돌려서 사용하는 함수를 구현해서 쓸 수 있다.
'Programming > C#을즐기자' 카테고리의 다른 글
label에 mouse 가두기 (0) | 2014.03.28 |
---|---|
windowCE C#에서 Sleep time 설정 (0) | 2010.07.29 |
C# compactframwork SendMessage사용하기 (0) | 2010.06.27 |
WindowsCE C#에서 registry 사용하기 (0) | 2010.06.26 |
compack framework (0) | 2010.06.05 |
dataGridView에 CheckBoxColumn 하드코딩으로 넣기 (0) | 2008.08.21 |
Visual Studio 2008 and .NET 3.5 Released (0) | 2008.02.26 |
닷넷Library 소스공개 (0) | 2008.02.26 |