c# 에서 c++(dll)로 LPCTSTR parameter 넘겨 호출 하기

c++ 로 된 dll을 c#에서 호출할때 예제입니다. 먼저 c++ 코드들을 간단히 짰습니다. test.h 1 extern "C" __declspec(dllexport) int test(LPCTSTR szFileName); test.cpp 1 2 3 int test(LPCTSTR szFileName) { return 0; } 다음은 c#쪽 코드들입니다 1 2 3 4 5 6 7 8 9 [DllImport("sampleLib.dll", CallingConvention = CallingConvention.Cdecl)] private static extern int test( [MarshalAs(UnmanagedType.LPWStr)] string szFileName); private void button2_Click(object sender, EventArgs e) { string szFileName = @"c:\filename.txt"; int result = test(ticketName); Debug....

October 15, 2015 · 1 min · 페이퍼

WPF(c#)에서 control을 png로 저장

예전에 했던 대로 System.Drawing 을 써서 하려고 했는데.. wpf에 이런 기능이 있었네.. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 // uiPage.ren public void DoPageToPng(string fileName) { RenderTargetBitmap rtb = new RenderTargetBitmap((int)uiPage.ActualWidth, (int)uiPage.ActualHeight, 96, 96, PixelFormats.Pbgra32); rtb.Render(uiPage); PngBitmapEncoder png2 = new PngBitmapEncoder(); png2.Frames.Add(BitmapFrame.Create(rtb)); using (MemoryStream stream = new MemoryStream()) { png2.Save(stream); using (System.Drawing.Image image = System.Drawing.Image.FromStream(stream)) { image.Save(fileName); } } }

October 15, 2015 · 1 min · 페이퍼

.NET Framework 4.5.2로 개발했다가. 4.0로... 내림

최근에 윈도우 어플을 개발할 일이 생겼다. .NET 4.5부터 async 문법이 새로 들어갔다 해서.. 이왕 하는거 4.5.2로… 만들기로 했다. 오…… 엄청나게 편리하다.!! async, await 두개가 중요하다. 특히 UI프로그램에서 background thread와 main thread와의 동기화를 쉽게 지원한다. 아래는 id/pwd를 입력받아서 서버통신으로 인증을 진행하는 코드다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 private async void btnLogin_Click(object sender, RoutedEventArgs e) { string id = tbEmail....

September 16, 2015 · 1 min · 페이퍼