[C#] Environment 를 통해 시스템 정보, OS 버전알아오기

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace WindowsFormsApplication2 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { // 현재 작업 디렉터리의 정규화된 경로를 가져오거나 설정합니다. txtWindowCode.Text += "@ 디렉토리 경로 : "…

[C/C++] 시간표시

#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <time.h> int main() { time_t timer; struct tm* t; timer = time(NULL); // 현재 시각을 초 단위로 얻기 t = localtime(&timer); // 초 단위의 시간을 분리하여 구조체에 넣기 printf("%d", t->tm_year + 1900); //현재 년 printf("%d", t->tm_mon + 1); //현재 월 printf("%d", t->tm_mday); //현재 일 printf("%d:", t->tm_hour); //현재 시 printf("%d:", t->tm_min);…

[C#] WebBrowser version 변경

Program.cs 에서 다음을 사용하도록 합니다. using System.Runtime.InteropServices; using Microsoft.Win32; 레지스트리에 세팅하고 값이 정상적인지 체크하도록 하는 함수 입니다. private static void SetIEVersioneKeyforWebBrowserControl(string appName, int ieval) { string RegKeyPath = ""; RegistryKey Regkey = null; try { // x86, x64 구분 if (Environment.Is64BitProcess) { RegKeyPath = @"SOFTWARE\WOW6432Node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION"; } else { RegKeyPath = @"SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION"; } //…

[C#] 관리자 권한으로 실행하기

[C#] 관리자 권한으로 실행하기
해당 작업은 Program.cs 에서 작업을 합니다. using System.Security.Principal; using System.Diagnostics; /// <summary> /// 관리자 권한 체크 /// </summary> /// <returns></returns> public static bool IsAdministrator() { WindowsIdentity identity = WindowsIdentity.GetCurrent(); if (null != identity) { WindowsPrincipal principal = new WindowsPrincipal(identity); return principal.IsInRole(WindowsBuiltInRole.Administrator); } return false; } 메인 실행전에 관리자 권한으로 실행 하도록 하면 됩니다. [STAThread] static…

[C#] 화면 캡쳐 하기

WinForm 안의 Controler 를 캡쳐하기 string FileName = DateTime.Now.ToString("yyyyMMdd_HHmmss"); Bitmap bitmap = new Bitmap(width, height); this.panel1.DrawToBitmap(bitmap, new Rectangle(0, 0, width, height)); bitmap.Save(FileName + ".png", ImageFormat.Png); 스크린틀 캡쳐하는 기능 string FileName = DateTime.Now.ToString("yyyyMMdd_HHmmss"); Bitmap bitmap = new Bitmap(넓이, this.높이); Graphics g = Graphics.FromImage(bitmap); g.CopyFromScreen( PointToScreen(new Point(시작 X좌표, 시작 Y 좌표)), new Point(0, 0), new Pint(넓이, 높이));…

c# 에러 출력 예외 설정

c# 에러 출력 예외 설정
VS -> 디버그 -> 창 -> 예외설정 -> ContextSwitchDeadlock 체크 해제 << 에러내용 >> CLR에서 60초 동안 COM 컨텍스트 0x1a18b8에서 COM 컨텍스트 0x1a1a28(으)로 전환하지 못했습니다.  대상 컨텍스트/아파트를 소유하는 스레드가 펌프 대기를 수행하지 않거나, Windows 메시지를 펌프하지 않고 매우 긴 실행 작업을 처리하고 있는 것 같습니다. 이러한 상황은 대개 성능에 부정적인 영향을 주며 응용 프로그램이 응답하지…

[C#] dll을 포함한 단일 exe배포 방법

[C#] dll을 포함한 단일 exe배포 방법
일반적으로 프로그램을 배포시 exe파일과 Application이 호출하는 dll파일은 동일한 폴더(또는 dll 파일이 System폴더에 위치)에 있어야 한다. Microsoft 공식 배포처에서는 exe와 호출하는 라이브러리를 병합하는 프로그램을 배포중이지만, 컴파일러단에서 자체 해결할 수 있는 방법도 존재한다. 사용하고자 하는 dll을 프로젝트에 참조해당 dll을 프로젝트 리소스에 추가리소스에 추가된 dll의 속성 -> 빌드작업 속성 값을 포함 리소스로 지정프로그램 진입점(Program.cs)에 코드를 아래와 같이 변경리소스에…

[C#] 원하는 URL 원하는 웹브라우저로 실행하기

WinForm을 만들여서 특정한 URL에 대해서 웹으로 접근해야 합니다.내장현 브라우저를 사용해도 되지만 사용자가 사용하는 웹브라우저는 분명히 존재하거나 혹은 기본으로 설정해 놓은 값이 다르면은 츨력에 에러가 발생할때도 있습니다.그래서 단순하게 OS에 기본 브라우저를 믿을것이 아니라 개발자가 직접 지정을 해서 실행을 하면은 좀 더 명확하게 원하는 웹브루어저로 웹에 접근을 할 수 있을것 같아서 찾아본것입니다. ProcessStartInfo cmd = new ProcessStartInfo();…