닷넷
-
C# AES 256 암호화와 복호화 코드닷넷/C# 2017. 9. 14. 14:23
#region 암호화 & 복호화 private string AESEncrypt256(string _text) { string Password = "jasmintime"; // 인증키 RijndaelManaged RijndaelCipher = new RijndaelManaged(); byte[] PlainText = Encoding.Unicode.GetBytes(_text); byte[] Salt = Encoding.ASCII.GetBytes(Password.Length.ToString()); PasswordDeriveBytes SecretKey = new PasswordDeriveBytes(Password, Salt); ICryptoTransform Encryptor = RijndaelCipher.Cre..
-
C# 현재 실행 중인 프로세스 목록닷넷/C# 2017. 9. 8. 10:25
string procName = string.Empty;foreach (System.Diagnostics.Process proc in System.Diagnostics.Process.GetProcesses()){ if (proc.MainWindowHandle != IntPtr.Zero) { if (proc.MainWindowTitle == "") continue; procName = string.Format("{0},{1}", procName, proc.MainModule.FileName); }} 이렇게 하면 프로세스의 파일 경로까지 다 나와서 프로세스 이름만 검출하려고 하는 경우엔문자열을 쪼개는 것이 좋겠다. string procList = string.Empty;string procName = str..
-
How to format a datetime with slash in C#닷넷/C# 2017. 9. 5. 15:13
Current Date and Time : 9 / 5, 2017 PM 3:00:00 yyyy : Year (2017) / yyy : Year (2017) / yy : year (17)MM : Month (09) / M (9)dd : Day (05) / d (5)HH : Hour (15) / hh : hour (03) / h : hour (3)mm : Minute (00) / m (0)ss : Second(30) Example: 1.DateTimePicker Formatting :dateTimePicker1.Format = DateTimePickerFormat.Custom; dateTimePicker1.CustomFormat = "yyyy-MM-dd"; => 2017-09-05 2.dateTimePick..
-
C# Local host 가져오기 (로컬 IP 주소 확인하기)닷넷/C# 2017. 8. 24. 17:54
using System.Net; using System.Net.Sockets; private string GetLocalIP() { string myIP = ""; IPHostEntry host = Dns.GetHostEntry(Dns.GetHostName()); foreach (IPAddress ip in host.AddressList) { if (ip.AddressFamily == AddressFamily.InterNetwork) { myIP = ip.ToString(); } } return myIP; }
-
C# CrossThread 오류가 발생할 때닷넷/WinForms 2017. 8. 7. 15:00
스레드로 작업을 돌리는 도중 CrossThread 오류가 날 때가 있다.그 이유는 스레드 간에 간섭이 일어났기 때문이다.프로그램이 실행될 때 눈에 보이는 전부가 이미 스레드 하나이다. 이걸 메인스레드라 부른다.(프로세스는 이미 스레드 하나를 가지고 있는 것임.) 그 이후에 우리가 추가적으로 작업할 때 스레드를 선언하여 사용하는데 (이하 A 스레드)A 스레드에서 메인스레드에 있는 작업들 가령 TextBox나 ListBox 같은 컨트롤에 데이터를 입력하게 되는 경우A 스레드에서 메인스레드로의 간섭이 일어나 CrossThread 오류가 나는 것이다. 이를 해결하려면 대리자(delegate)를 이용하면 된다. 다음은 리스트박스에 텍스트를 추가하는 델리게이트와 메소드이며 A 스레드 안에서 리스트박스에 텍스트를 추..
-
C# 네이버 블로그 파싱하는 방법닷넷/C# 2017. 7. 21. 16:22
진짜 네이버 블로그 소스는 프레임에 씌여있어서 네이버 블로그를 파싱하려면한 꺼풀 벗겨서 다시 한번 웹페이지를 불러와야한다. 1. 윈폼에 도구상자에서 WebBrowser 두 개를 놓는다. 2. 일반적인 네이버 블로그 url를 webBrowser1에 띄운다.webBrowser1.Navigate("http://blog.naver.com/freecat27"); 3. webBrowser1의 DocumentCompleted 이벤트에서 프레임에 씌여진 진짜 네이버 블로그 주소를 파싱하고, webBrowser2에 그 주소를 띄운다.private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e){ if (e.U..
-
C# 엑셀파일로 저장할 때 셀병합, 자동정렬, 선, 가운데 정렬닷넷/C# 2017. 6. 26. 18:18
C#에서 엑셀파일로 저장할 때 셀 병합, 자동정렬, 테두리 그리는, 가운데정렬 하는 방법 //소스코드 Excel.Range range = null; range = xlWorksheet.get_Range("A2", "I2"); // 범위지정 range.Merge(true); // 범위만큼 셀 병합 range.Font.Size = 14; // 글씨크기 range.Font.Underline = true; // 밑줄 range.Font.Bold = true; // 굵게 range = xlWorksheet.get_Range("A3", "I3"); // 새로 범위지정 range.Merge(true); // 범위만큼 셀 병합 // 새로 범위지정 후 range = xlWorksheet.get_Range("A3", "I..
-
C# 리소스 파일 관련 참고 자료 사이트 링크닷넷/C# 2017. 5. 30. 16:01
1. 리소스에 포함된 데이터 읽고 쓰기http://devilchen.tistory.com/4720 2. MSDN : 데스크톱 응용 프로그램용 리소스 파일 만들기https://www.google.co.kr/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0ahUKEwiIg4-M-5bUAhWCUZQKHcWAA5QQFggkMAA&url=https%3A%2F%2Fmsdn.microsoft.com%2Fko-kr%2Flibrary%2Fxbx3z216(v%3Dvs.110).aspx&usg=AFQjCNE_5T_aJ7zqAYUAFJAVOw0jQIr0wQ&sig2=rR-FtEw5kGJR6uowJlB8BA
-
C# 바이너리 파일 읽기 및 클래스에 담기닷넷/C# 2017. 5. 26. 18:01
내가 갖고 있는 바이너리 파일의 구조는 처음 4바이트는 정수고, 그 다음부턴 문자열로 되어있다.하나의 문자열엔 \t, \0, \n 등등으로 값이 나뉘어져 있기도 하다.거기서 필요한 값만 얻어올 수 있도록 코딩하였다. using System.IO; public class clsConfig { public int ltype { get; set; } public string mdbpath { get; set; } public string sqlserver { get; set; } public string sqldatabase { get; set; } public string sqluserid { get; set; } public string sqlpassword { get; set; } } public cls..
-
C# DataGridView 데이터 엑셀파일에 저장 using oledb닷넷/C# 2017. 5. 24. 13:43
엑셀 라이브러리 참조없이 OleDb를 이용한 방법으로 DataGridView의 데이터를 엑셀로 출력하는 방법이다.이때, 엑셀파일을 File 을 이용해 생성하면 제대로 생성되지 않아 사용할 없다.따라서 소스를 보면 알겠지만 엑셀파일 하나를 복사해서 거기에 데이터를 저장하는 편법을 이용했다. OleDbConnection conn = null; try { SaveFileDialog sfd = new SaveFileDialog(); sfd.Filter = "Excel File(.xls)|*.xls"; if (sfd.ShowDialog() == DialogResult.OK) { FileInfo fi = new FileInfo(sfd.FileName); if (!fi.Exists) { File.Copy(Applic..
-
C# 엑셀파일 가져오기 using OleDb닷넷/C# 2017. 5. 22. 09:57
OleDb를 이용하면 컴퓨터에 엑셀이 설치되어있지 않아도, 엑셀 라이브러리를 참조하지 않아도엑셀의 데이터를 가져올 수 있다.만약 안 된다고 하면 provider가 설치되어 있지 않아 그런 것이니 AccessDatabaseEngine을 설치하면 된다. using System.Data.OleDb; private DataTable GetSheet(string excelPath) { string connstring = string.Empty; if (excelPath.IndexOf(".xlsx") > -1) // 확장자에 따라서 provider 주의 { connstring = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + excelPath + ";Extended Pr..
-
C# 프로그램 실행 중복방지닷넷/WinForms 2017. 4. 26. 17:24
Program.cs 파일에int thisID = System.Diagnostics.Process.GetCurrentProcess().Id; // 현재 기동한 프로그램 id // 실행 중인 프로세스 중에서 현재 기동한 프로그램과 같은 이름을 가진 프로그램 수집System.Diagnostics.Process[] p = System.Diagnostics.Process.GetProcessesByName("Process Name"); if (p.Length > 1){ for (int i = 0; i
-
C# FTP 연결 확인 및 파일 다운로드닷넷/C# 2017. 1. 10. 14:56
using System.Net; private ftpConn(){ try { FtpWebRequest ftpre = (FtpWebRequest)WebRequest.Create(string.Format("ftp://{0}/{1}", txtFTP_Host.Text.Trim(), txtFTP_File.Text.Trim())); ftpre.Method = WebRequestMethods.Ftp.ListDirectory; ftpre.Credentials = new NetworkCredential(txtFTP_UID.Text.Trim(), txtFTP_PWD.Text.Trim()); ftpre.GetResponse(); } catch { //Exception }} private void ftpDownload(){ ..
-
C# DB에 이미지가 16진수로 저장되어 있을 때닷넷/C# 2016. 12. 7. 09:54
텍스트 파일에 저장되어 있는 것보다 간단하다.connection 부분과 command 부분은 뺐습니다. conn.Open(); SqlDataReader reader = comm.ExecuteReader(); byte[] bImage = null;while (reader.Read()){ bImage = (byte[])reader["Picture"]; // 이미지가 hex string으로 저장되어 있는 칼럼명} if (bImage != null){ pictureBox1.Image = new Bitmap(new MemoryStream(bImage));}reader.Close();conn.Close();Colored by Color Scriptercs