본문 바로가기

Application/C#.net46

vs2005 에서 Framework2.0 소스로 디버깅 하자. Framework2 소스가 공개 되었다는 소식을 얼마전에 들었었다. 소스 다운을 받고 이 소스을 이용해 디버깅에 연결하는 방법을 소개하려고 한다. 일단 Framework2 소스를 다운로드 받기 위해서는 NetMassDownloader 프로그램이 필요하다. 프로그램에 대한 사용방법은 여기를 참고 하면 된다. 1. 프로그램을 다운 받자 NetMassDownloader 다운 압축을 풀면 몇가지 파일이 나온다. 2. PowerShell 을 실행해서 명령줄에서 다음을 실행 -> 32 bit NetMassDownloader -d C:\Windows\Microsoft.NET\Framework\v2.0.50727 -output "C:\cachetest” -> 64 bit NetMassDownloader -d C:\Wi.. 2010. 3. 17.
c# vs2005 권한상승 하기 비스타나 Window7 같은 경우 응용 프로그램을 실행 시키기는데 관리자 권한이 필요한 경우 있다. 배포할 프로그램에서 권한 상승이 필요할경우 다음과 같은 절차를 거치면 된다. 1. 프로젝트 "속성" 창의 "보안" 탭 클릭 2. "ClickOnce" 체크란을 체크한다. 3. 체크하면 프로젝트 탐색기의 프로젝트 밑에 app.manifest 가 생성된다. 4. app.manifest 코드를 연다 5. 밑에 다음 코드를 추가한다. 간단하지 않은가~~ 델파이로 프로그램을 개발할때 한참 고생을 했었던 기억이 있다. 위와 같이 처리할경우 "완전 신뢰 권한" 이다. 부분 신뢰 권한을 줄경우 는 좀더 검색을 통해 설정하는 법을 배워야 한다. msdn 에 자세한 설명이 있으니 참고 하시기 바란다. 참고 사이트 : htt.. 2010. 2. 26.
window 프로그램 파라미터 넘기기. 콘솔 프로그램은 arg 로 파라미터가 넘어 온다. 폼을 가진 윈도우 프로그램으로 파라마터를 어떻게 넘기는가 foreach (string arg in Environment.GetCommandLineArgs()) { //모든 파라미터 출력 } 이걸 응용해서 string[] data = Environment.GetCommandLineArgs(); if (data.Lengh > 1) string exePath = data[0]; string param1 = data[1]; } else { MessageBox.Show("파리미터가 없다"); } 2010. 2. 26.
IntPtr Convert String C로 개발된 정규 Dll 과의 개발을 연동하다 보면 데이타 형에 대한 문제에 부딫히고 한다. 이번에 개발을 진행하면서 IntPtr 형에 대한 형변환이 문제가 되었다. 닷넷에서 기본적으로 제공해 주는 메소드가 있다. System.Runtime.InteropServices.Marshal.PtrToStringAuto(Intptr) 이걸 사용하니 정상적인 데이타 처리가 어려울 경우도 있다. AnsiString 과 Utf-8 의 구조에 대한 문제 였다. 이에 함수를 구성해 보았다. 변환 함수 unsafe static byte[] IntPtrTobyte(IntPtr ptr) { if (ptr == IntPtr.Zero) return new byte[0]; void* vPtr = ptr.ToPointer(); byt.. 2010. 1. 20.