분류 전체보기
-
[C#] - .NET Framework 3.5 TLS 1.2 적용하기.NET/CSharp 2020. 6. 15. 10:14
.NET Framework 3.5 TLS 1.2 적용하기 Chrome 브라우저에서 기존에 잘 되던 HTTPS API 서버에서 오류가 발생 하였다. HTTPS API 서버는 System.Net.Security.SslStream 클래스를 활용하여 개발하였다. 에러는 ERR_SSL_OBSOLETE_VERSION 이였고 해당 에러는 아래의 링크를 통하여 해결을 하였다. https://blog.chromium.org/2019/10/chrome-ui-for-deprecating-legacy-tls.html Chrome UI for Deprecating Legacy TLS Versions Update (April 6, 2020): The removal of legacy TLS versions was originall..
-
[Dev Note] - Firefox security.enterprise_roots.enabled;true 설정Dev Note 2019. 11. 19. 16:31
Firefox 브라우저는 신뢰되는 인증기관에서 발급한 인증서만 인증이 되는 것 같다. 필자가 OpenSSL을 통하여 만든 루트 인증서는 HTTPS, WSS 통신이 실패 하였습니다. 만든 인증서를 인증이 되게 하기 위해서 Firefox 주소창에서 about:config 설정에 들어가 security.enterprise_roots.enabled 값을 true로 설정 후에는 HTTPS, WSS 통신이 잘 되었습니다. 프로그램을 배포시에는 해당 값을 security.enterprise_roots.enabled;true 설정이 필요한데 해당값은 C:\Users\사용자이름\AppData\Roaming\Mozilla\Firefox\Profiles 디렉토리에서 ?.default 로 시작하는 디렉토리 안에 user.js..
-
[C#] - WinForm 특정 윈도우 Show, TopMost 처리.NET/CSharp 2019. 10. 7. 18:02
웹 브라우저에서 웹 소켓을 통하여 특정 프로그램을 실행하는 프로그램을 개발 중에 있다. 해당 프로그램은 프로그램을 실행 후에는 실행된 프로세스와 소켓 통신(TCP/IP)을 통하여 데이터를 주고받고 프로세스에서 데이터를 받으면 웹 소켓을 통하여 데이터를 웹 브라우저 쪽으로 내려주는 구조로 되어있다. 또 프로세스가 하나 이상 실행이 되지 않는 구조로 되어 있다. 그러다 보니 실행되어 있는 상태에서 다시 실행 요청을 하였을 때 해당 프로세스의 메인 윈도우가 축소되어 있거나 다른 윈도우에 가려져 있을 때 처리가 필요하였다. 다행히 User32.dll IsIconic 함수를 통하여 프로세스의 메인 핸들을 넘겨 해당 프로세스 메인 핸들의 창이 최소화 여부를 알 수 있었다. 프로세스의 메인 윈도우가 최소화 되어 있을..
-
[C#] - Working Directory.NET/CSharp 2019. 4. 16. 21:43
WorkingDirectory 다른 회사 프로그램에서 내가 개발중인 프로그램을 실행 하게하는 작업을 하고 있었다. 이상하게도 정상 적으로 작동이 되질 않았다. 기존에 개발을 해 두었던 내가 개발한 프로그램으로 실행 하였을 때에는 정상적으로 실행 되었던 상태로 이상하게 느껴졌다. C# 개발을 오래했던 친구에게 물었더니 WorkingDirectory를 설정 을 해보라고 하더라 public static void ProcessStart(string fileName) { Process process = new Process(); process.StartInfo.WorkingDirectory = new FileInfo(fileName).Directory.FullName; process.StartInfo.FileNa..
-
[VMware] - 듀얼 모니터 설정VMware 2019. 4. 8. 17:09
Use Multiple Monitors for One Virtual Machine If the host system has multiple monitors, you can configure a virtual machine to use multiple monitors. You can use the multiple-monitor feature when the virtual machine is in full screen mode. Note You do not need to use the Windows display properties settings in a Windows guest operating system to configure multiple monitors. Prerequisites ■ Verify..
-
[C#] - WinForm PropertyGrid 에 표시되는 Enum 값 이름 변경하기.NET/CSharp 2018. 12. 25. 11:44
PropertyGrid 를 활용하여 프로퍼티 설정하는 다이얼로그 창을 개발하던 중 Enum 에 해당 하는 값을 UI에 그대로 표현 하기에는 적당하지 않아 변경하는 방법을 찾아 보았다. 기본적으로 PropertyGrid 에 속성을 표현하기 위해서는 SelectedObject Property를 사용한다. 자세한 활용법은 MSDN을 참고하시기 바란다. MSDN PropertyGrid https://msdn.microsoft.com/ko-kr/library/aa302326.aspx PropertyGridForm using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Draw..
-
[DebugView] - 사용하기.NET/Tools, Library 2018. 9. 14. 10:04
DebugView 사용하기 https://docs.microsoft.com/en-us/sysinternals/downloads/debugview DebugView - Windows Sysinternals This program intercepts calls made to DbgPrint by device drivers and OutputDebugString made by Win32 programs. docs.microsoft.com DebugView는 .NET Framework로 Application 개발시 유용한 툴입니다. 개발시에 System.Diagnostics Namespace 에 있는 Debug, Trace 클래스를 활용하여 디버깅 용도로 사용됩니다. C, C++ 에서는 Windows.h 에서 ..
-
[C#] - WinForm Form Esc 키 눌렀을때 종료하기.NET/CSharp 2018. 9. 13. 14:22
Form에서 해당 키를 받기 위해서는 그림1과 같이 속성 창에서 KeyPreview 속성을 True로 설정해야 한다. KeyPreview 속성을 True로 설정후에는 그림2와 같이 KeyDown 이벤트롤 등록한다. Esc 키가 눌렀을때 Form.Close() 함수를 호출한다. private void TestForm_KeyDown(object sender, KeyEventArgs e) { if ((Keys)e.KeyValue == Keys.Escape) { this.Close(); } }