728x90

Application 172

[MFC] 인자값 가져오기 (command line argument)

MFC에서 프로그램 실행 시 전달받은 인자값을 사용하기 위해서는 int iArgsCount = 0; LPWSTR *pArgsStr; pArgsStr = CommandLineToArgvW(GetCommandLine(), &iArgsCount); // 인자값 활용 LocalFree(pArgsStr); 위와 같이 함수 내 사용이 가능하고 위의 iArgsCount의 경우 전달받은 인자 값의 총개수를 가져올 수 있으며 인자값 사용으로는 pArgsStr[1] 이와 같이 배열 형태로 사용 가능 합니다 pArgsStr[0]의 경우 현재 실행 경로를 반환하므로 실행 위치를 확인하고 싶으시면 첫 번째 인자값을 사용하시면 됩니다 제 글이 도움이 되셨다면 댓글 & 공감 부탁드려요 😀

Application/MFC 2023.02.01

[MFC] 콘솔 출력 하기 (Console printf)

MFC 응용 프로그램에서 콘솔에 글자를 출력하기 위해선 몇 가지 방법이 존재하지만 가장 쉬운 방법을 소개하고자 합니다 #ifdef UNICODE #pragma comment(linker, "/entry:wWinMainCRTStartup /subsystem:console") #else #pragma comment(linker, "/entry:WinMainCRTStartup /subsystem:console") #endif 유니 코드의 환경과 멀티 바이트의 환경에서 실행하는 방법이 상이해서 간단한 코드 입력으로 콘솔 출력을 가능하게 하는 선언문입니다 제 글이 도움이 되셨다면 댓글 & 공감 부탁드려요 😀

Application/MFC 2023.01.31

[C# WinForm] 중복 실행 방지 (Mutex)

프로그램의 중복실행 방지를 위해 여러 가지 방법이 존재하지만 가장 간단한 방법으로 중복실행의 방지 방법을 소개합니다 우선 상단에 system.Threading NameSpace를 추가하고 using System.Threading; 이후 전역 변수를 선언해 줍니다 private Mutex _Mutex; private bool m_bOverlap; public bool GetOverlap { get { return m_bOverlap; } } 그 다음 아래 함수를 추가하면 간단히 중복실행을 확인할 수 있습니다 private void GetTaskOverlap() { string strName = Application.ResourceAssembly.ManifestModule.Name; try { _Mutex ..

[C# WPF] 파일명 & 버전 가져오기

실행되고 있는 파일명 혹은 파일 버전을 가져오고 싶다면 using System.Windows; using System.Reflection; 2가지 namespace를 추가하고 string strName = Application.ResourceAssembly.ManifestModule.Name; string strVer = Assembly.GetExecutingAssembly().GetName().Version.ToString(); strName은 파일명을 strVer는 프로그램 버전을 가져올 수 있습니다 제 글이 도움이 되셨다면 댓글 & 공감 부탁드려요 😀

[C# WPF] 스피커 & 마이크 설정하기

스피커 혹은 마이크 설정을 프로그램에서 지정하려고 할 때는 CoreAudioApi 를 이용하면 쉽게 설정 가능합니다 https://learn.microsoft.com/en-us/windows/win32/coreaudio/core-audio-apis-in-windows-vista Core Audio APIs - Win32 apps Core Audio APIs learn.microsoft.com 우선 ENUM 과 전역 변수로 디바이스 정보를 설정합니다 public enum ENUM_SOUND_DEVICE : int { None = 1, Speaker, Headset, Earphone, MAX } private string strSpeaker = "스피커"; private string strHeadset = ..

[C# WinForm] 배경 화면 지정하기 (WallPaper)

C#에서 배경 화면 지정을 하고 싶다면 외부 dll인 user32.dl를 참조하여 SystemParametersInfo함수를 선언 후 사용 하여야 합니다 기본적인 사용법은 using System.Runtime.InteropServices; using Microsoft.Win32; public class _MainClass { [DllImport("user32.dll", CharSet = CharSet.Auto)] static extern int SystemParametersInfo(int uAction, int uParam, string lpvParam, int fuWinIni); private const int SPI_SETDESKWALLPAPER = 20; private const int SPIF_U..

[C# WinForm] 엑셀 파일 사용 하기 (Excel)

C#에서 OleDb와 DataTable을 사용해 Excel 파일을 접근하여 사용할 수 있습니다 우선 Excel 클래스로는 using System; using System.Data; using System.Data.OleDb; using System.Windows.Forms; public class CExcel { private OleDbConnection m_Conn = null; private OleDbCommand m_Comm = null; public bool Open(string sFileName) { try { string sConn = string.Empty; if (sFileName.Substring(sFileName.Length - 4, 4).ToLower().Equals("xlsx")) ..

[C# WPF] GIF 파일 재생하기 (MediaElement)

gif 파일을 실행하고 싶다면 기본 컨트롤중 MediaElement를 활용하면 재생이 가능합니다 사용법은 MediaElement me = new MediaElement(); me.Tag = strSite; me.Stretch = Stretch.Fill; me.Width = iWidth; me.Height = iHeight; me.UnloadedBehavior = MediaState.Manual; me.Source = new Uri(strImagePath, UriKind.RelativeOrAbsolute); me.MediaEnded += new RoutedEventHandler(me_MediaEnded); 컨트롤 배치 후 코드를 작성하게 되면 자동으로 gif 파일이 움직이게 됩니다 하지만 gif가 끝나는 ..

[C# WPF] Background 이미지 설정하기

UIElement (Control)의 배경 이미지를 특정 파일로 설정하려면 string strImagePath = AppDomain.CurrentDomain.BaseDirectory + @"\img.jpg"; if (File.Exists(strImagePath)) { System.Drawing.Bitmap bmp = new System.Drawing.Bitmap(strImagePath); BitmapSource bitmapSource = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(bmp.GetHbitmap() , IntPtr.Zero , Int32Rect.Empty , BitmapSizeOptions.FromEmptyOptions()); ..

[C# WPF] 이미지 화질 개선 (Bitmap 화질 높이기)

C# WPF 를 사용하다 보면 크기 조정 등으로 이미지가 깨지거나 일그러질 경우 자체적으로 보완하는 함수가 존재합니다 해당 함수는 System.Windows.Media.RenderOption.SetBitmapScalingMode 함수로 해당 함수 사용 시 옵션에 따라 개선된 이미지를 제공받을 수 있습니다 사용법은 System.Windows.Media.RenderOption.SetBitmapScalingMode(this, BitmapScalingMode); 위의 방식으로 2번째 인자값에는 public enum BitmapScalingMode { // 요약: // System.Windows.Media.BitmapScalingMode.Linear인 기본 비트맵 배율 조정을 사용합니다. Unspecified =..

728x90
반응형