본문 바로가기

windows23

Windows 명령 프롬프트에서 리다이렉션과 파이프 사용 리다이렉션 리다이렉션이란 표준입력과 표준출력의 방향을 키보드와 모니터가 아닌 다른곳으로 바꾸어주는 것을 말한다. 주로 명령어의 출력을 터미널 창이 아닌 파일로 보내거나, 파일의 내용을 명령어의 입력으로 사용할 때 쓰인다. 기본적인 리다이렉션 심볼에는 (출력 리다이렉션), >> (출력을 파일에 추가)가 있다. sort명령어를 사용해 직접 테스트해보자. 윈도우의 sort 명령은 텍스트를 행단위로 정렬할 때 사용하는 명령어이다. 다음과 같은 테스트 파일을 만든다. beforeSort.txt 123 456 789 123 456 789 - 입력 리다이렉션 sort < beforeSort.txt beforeSort.txt 파일의 내용을 sort 명령어의 입력으로 사용한다. 즉, 파일을 .. 2024. 4. 4.
nssm 사용해서 배치파일을 Windows 서비스로 등록하기 nssm 다운로드 후 압축 해제 https://nssm.cc/download NSSM - the Non-Sucking Service Manager NSSM - the Non-Sucking Service Manager Windows 10, Server 2016 and newer 2017-04-26: Users of Windows 10 Creators Update or newer should use prelease build 2.24-101 or any newer build to avoid an issue with services failing to start. If for some reason you nssm.cc 관리자 권한으로 명령 프롬프트 실행한 뒤 다운로드 받은 nssm.exe 파일이 있는 경로로 .. 2023. 12. 27.
Windows 작업 스케줄러 사용하여 배치파일 자동 실행하기 Windows 작업 스케줄러 사용하여 배치파일 자동 실행하기 작업 만들기 작업 '이름'을 지정하고 '설명'을 추가한다. '사용자의 로그온 여부에 관계없이 실행'에 체크하고 암호를 사용하지 않는다. 권한문제로 실행되지 않을 경우를 대비하여 '가장 높은 수준의 권한으로 실행'에 체크한다. '숨김'에 체크를 하면 배치파일의 콘솔창을 숨긴채 실행할 수 있다. 트리거는 '시스템 시작 시'로 하였다. 동작은 '프로그램 시작'으로 하고 배치파일의 경로를 등록한다. 기타 옵션은 '조건', '설정' 탭에서 설정할 수 있다. 시스템 재시작 후 작업 스케줄러의 작업 목록에서 '마지막 실행 시간'과 '마지막 실행 결과'를 확인할 수 있다. 2023. 12. 26.
윈도우 소켓 ] blocking / non-blocking 소켓 사용 시 소켓함수의 리턴 조건 recv() Blocking socket : 수신된 데이터가 없으면 블록되고, MSG_WAITALL 플래그를 사용하면 원하는 크기만큼 도착할 때까지 기다릴 수 있다. Non-blocking socket : 수신된 데이터가 없으면 WSAEWOULDBLOCK으로 즉시 리턴한다. WSAGetLastError() 함수를 사용하여 에러 코드를 확인할 수 있다. TCP / UDP 비교 : 동일하게 Blocking socket에서는 소켓 수신 버퍼에 도착한 데이터가 없으면 블록되고, 소켓 수신 버퍼에 도착한 데이터가 있을 시 이를 응용 프로그램이 제공한 버퍼에 복사한 뒤 리턴한다. send() Blocking socket : 소켓 송신 퍼버에 여유 공간이 없으면 블록되고, 응용 프로그램이 전송 요청한 데이터를 소켓 .. 2023. 12. 24.
Windows 10 ] 네트워크 브리지 설정 네트워크 브리지 네트워크 브리지(Network Bridge) 기능은 두 개 이상의 네트워크 어댑터(랜카드)를 결합하여 하나의 논리적 네트워크로 통합하는 기능을 제공한다. 브리지된 네트워크에서는 모든 연결된 장치가 동일한 IP 서브넷 내에 있으므로, 하나의 IP 주소를 할당받고 통신한다. 또한 네트워크 브리지를 설정하여 두 랜카드가 하나의 논리적 네트워크로 결합했을 때, IP 주소는 하나지만 물리적인 랜포트는 여전히 두 개가 존재하므로 두 랜포트를 각각 다른 장치에 연결하여 독립적으로 각기 다른 통신을 할 수 있다. 네트워크 브리지 연결 방법 제어판 - 네트워크 및 인터넷 - 네트워크 연결 네트워크 브리지 설정할 이더넷 인스턴스를 드래그 하여 선택 후 우클릭 - 네트워크 브리지 연결을 선택하거나 하나씩 선.. 2023. 11. 22.
Windows ] 원격 데스크톱 연결 시 파일 전송하기 원격 데스크톱 연결에서 옵션 표시 클릭 로컬 리소스 - 로컬 장치 및 리소소스 - 자세히... 클릭 드라이브 - 연결할 드라이브 체크 이렇게 설정한뒤 원격 데스크톱 연결한다. 원격지 Host PC의 파일 탐색기 - 내 PC에 접근하면 Guest PC의 드라이브에 접근할 수 있다. 이후 파일 복사 붙여넣기를 통해 서로 전송하면 된다. 2023. 11. 17.
왜 Windows 만 path 구분자로 Backslash를 사용할까 웹 (http://www.google.com/), 리눅스 (/home/user/), Android 등 대부분의 곳에서 path 구분자로 / forward slash를 사용하는데 왜 윈도우만 \ backslash를 사용할까? MS-DOS 1.0 시절에는 디렉터리를 지원하지 않았고 / 를 명령어의 옵션을 선택하는 용도로 사용했다. 현재도 명령 프롬프트에서 dir /? 를 치면 dir 명령어로 사용가능한 옵션의 목록을 볼 수 있다. MS-DOS 2.0 시절부터는 디렉터리 지원을 도입했지만 / 문자는 이미 다른 용도로 사용하고 있었기 때문에 시각적으로 가장 비슷해 보이는 문자인 \ 를 path 구분자로 사용하기로 했다. 즉 윈도우만 path 구분자로 backslash를 사용하는건 DOS시절의 레거시인 셈이다. .. 2023. 7. 11.
윈도우10 탐색기에서 최근에 사용한 파일 / 폴더 목록 지우기 탐색기 - 옵션 - '폴더 및 검색 옵션 변경' '최근에 사용된 파일 / 폴더 표시' 체크 해제 후 지우기 클릭 2023. 7. 11.
Windows ] TFTP Client 기능 켜기 제어판 - Windows 기능 켜기/끄기 - TFTP 클라이언트 체크 명령 프롬프트에서 tftp 명령어를 통해 사용 가능하다. 바이너리 파일을 송신하는 경우엔 -i 옵션을 써야 whole 파일이 문제없이 전송이 되었다. 2023. 7. 11.
Winforms ] ToopStrip, MenuStrip 속성 ToolStrip 화살표클릭 - Dock 을 통해 ToolStrip의 위치를 정할 수 있으며 ToolStrip size는 Form의 size에 맞게 자동 조정된다. 그리고 아래 버튼을 클릭해 다양한 컨트롤을 ToolStrip 안에 추가할 수 있다. ToolStrip 을 선택하며 속성을 변경할 수 있고, ToolStrip 내의 컨트롤을 클릭하여 각자 속성을 변경할 수도 있다. ToolStrip 내의 컨트롤을 우클릭하여 주요 속성을 변경할 수도 있는데 ToolStripButton 의 경우 DisplayStyle 을 Text/Image/ImageAndText 중에서 선택할 수 있다. AutoSize 를 False로 하면 ToolStrip의 크기를 임의로 조절할 수 있다. 우클릭 - 이미지 설정 또는 속성의 I.. 2023. 5. 14.
인터넷 익스플로러 엣지로 자동전환 안되게 하는 법 아래 경로로 이동한다. C:\Program Files (x86)\Microsoft\Edge\Application\112.0.1722.39[버전]\BHO 폴더 안에 다음과 같은 파일이 있는데 IE에서 Edge로 자동전환하게 하는 프로그램이다. 삭제하는 것은 찜찜하니 다음과 같이 폴더명을 바꿔주면 된다. 2023. 4. 13.
WinForms ] Label vs TextBox 컨트롤 결론 : 사용자가 편집할 수 있게끔 하려면 TextBox, 아닌 경우 Label 사용 추천 There are a few pro's and con's to both. Label Pro's: Text is not copy able Cursor does not change Sets size based on text (if autosize is on, I think its on by default) Option to align text to the right (autosize off) Con's: Text is not selectable/copy able Text might outgrow form/parent with autosize TextBox Pro's: Text is copy able Fixed size.. 2023. 4. 9.
Win32 API, Windows API Windows API란? Windows에서 동작하는 App을 만들 때, Windows가 프로그래머들을 위해서 제공해주는 함수의 집합을 말한다. 과거 Windows 95, 98, ME 및 NT와 같은 32 비트 운영체제에서 사용되는 인터페이스는 Win32 API라는 이름으로 불렸다. 현재는 64비트 지원이 추가되면서 Win32 API를 포함하여 Windows API라고 부르고 있지만 아직도 Win32 API라고 칭하는 사람들이 있다. Windows API를 사용하려면? Windows API를 사용하려면 해당 API 함수가 선언된 헤더 파일과 라이브러리를 프로젝트에 추가해야 하며, 보통 Windows API 함수는 windows.h 헤더 파일 안에 선언되어 있으므로 이 헤더 파일을 포함시키면 된다. Visu.. 2023. 3. 31.
C#, WinForms ] 스탑워치, Stopwatch 클래스, DateTime 구조체, Timer 활용 using System.Diagnostics; //... private Stopwatch stopwatch = new Stopwatch(); public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { // textBox 초기값 this.textBox2.Text = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); this.textBox2.Text = ""; } private void button1_Click(object sender, EventArgs e) { // Stopwatch, Timer 스타트 stopwatch.Start(); this.timer1.St.. 2023. 2. 20.
윈도우 배치파일(.bat) 만들기 (레지스트리를 통해 시작 프로그램에 등록) 및 유용한 명령어 윈도우 배치파일(batch file)은 명령 프롬프트(cmd)에서 순서대로 실행할 명령어들을 한번에 일괄로 실행 실행할 목적으로 만드는 명령어들의 집합 파일이다.    보통 윈도우 배치 스크립트는@echo off로 시작해서 이후 실행할 명령어들이 나열된다. 여기서@ 는 해당 명령어를 화면에 표시하지 말라는 뜻이고echo off 는 이후 실행할 명령어들을 화면에 출력하지 않기 위해 echo를 끄는 것이다.  그 다음으로 아래 문구 또한 배치파일 초반에 적어두는 경우가 많다.pushd “%~dp0”보통 배치파일 스크립트는 실행될 위치를 염두해 두고 상대경로로 작성을 하게 되는데, 관리자 권한으로 배치파일을 실행시 명령 프롬프트 위치가 C:\WINDOWS\system32 로 실행되기 때문에 의도한 결과가 나오.. 2023. 1. 18.
WinForms ] 체크박스, 라디오버튼 속성 Text AutoSize 이 값을 False로 하면 체크박스의 크기를 조절할 수 있다. 그리고 컨트롤의 CheckAlign / TextAlign 을 제대로 사용하기 위해 이 값이 False로 되어있어야 한다. CheckAlign Checked & CheckState True로하면 체크박스의 초기값을 체크된 상태로 할 수 있다. CheckState의 Interminate 은 ThreeState를 사용하는 것으로 사용자가 아무런 클릭을 하지 않았을 때의 상태를 말하는 것인데, 그냥 Checked or Unchecked 의 TwoState를 사용하는 것이 낫다. Cursor Enabled Appearance 확인란의 모양을 버튼모양으로 바꿀 수 있다. Image ImageAlign TextAlign Font .. 2023. 1. 16.
WinForms ] 콤보박스, 리스트박스 속성 아이템 추가 DropDownStyle DropDown : 사용자가 커서를 두고 직접 입력할 수 있으며, 옵션을 선택할 수도 있다. DropDownList : 사용자가 입력할 수 없고, 아이템을 선택할 수만 있다. Simple의 경우 아래처럼 콤보박스의 길이를 늘려 아이템이 다 보이게끔 할 수 있다. DropDownHeight 드롭다운의 픽셀 단위 높이이다. 예를들어 기본값에서 50픽셀로 줄이면 아래와 같이 표현된다. Sorted 이 값을 True로하면 콤보박스의 항목인 문자열을 알파벳 순으로 정렬할 수 있다. 한번 정렬를 하고나면 Sorted를 다시 False로 바꿔도 정렬된 순서가 그대로 남는다. ListBox 는 드롭다운이 없는 콤보박스와 같다. 2023. 1. 15.
Windows forms 시작하기 - form 속성 새 프로젝트 만들기 - Windows Forms 앱(.NET Framework) 선택 .NET Framework 버전을 선택하고 프로젝트를 생성한다. 보기 - 도구상자 .cs 파일 오른쪽 클릭 - 속성 위의 화면에서 Form 또는 컨트롤을 더블클릭하면 아래와 같이 코딩을 할 수 있는 화면이 나오는데 여기서 또 다시 우클릭 - 디자이너 보기를 선택하면 전의 화면으로 돌아갈 수 있다. 프로젝트의 구조는 아래와 같다. .Designer.cs 파일은 Form에 컨트롤을 추가하거나 수정하면 코드가 자동생성되는 파일이고 그 밑의 .resx 파일은 문자열, 이미지, 개체 데이터가 포함된 리소스 파일이다. 속성 뷰에서는 비슷한 카테고리끼리 그룹핑된 항목별 나열 방식으로 볼 수 도 있고, 알파벳 순으로 볼 수도 있다. .. 2023. 1. 7.
WSL2 설치하기 (Windows Subsystem for Linux) https://learn.microsoft.com/ko-kr/windows/wsl/install-manual 이전 버전 WSL의 수동 설치 단계 wsl install 명령을 사용하지 않고 이전 버전의 Windows에 WSL을 수동으로 설치하는 방법에 대한 단계별 지침입니다. learn.microsoft.com 1. PowerShell을 관리자 권한(시작 메뉴 > PowerShell >에서 관리자 권한으로 실행 >을 마우스 오른쪽 단추로 클릭)으로 열고 다음 명령을 입력한다. dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart 2. Windows 10 x64 시스템의 경우 버전 1903 .. 2022. 10. 1.
윈도우에서 리눅스 개발환경 구축하기 WSL2 + VSCode 먼저 윈도우 PC에 WSL이 깔려있어야 한다. WSL 설치는 공식 문서에서 자세하게 설명하고 있다. https://learn.microsoft.com/en-us/windows/wsl/install Install WSL Install Windows Subsystem for Linux with the command, wsl --install. Use a Bash terminal on your Windows machine run by your preferred Linux distribution - Ubuntu, Debian, SUSE, Kali, Fedora, Pengwin, Alpine, and more are available. learn.microsoft.com VSCode 에서 WSL extension.. 2022. 9. 30.
Windows ] 방화벽 포트 열기 윈도우10에서 방화벽 포트 열기 2022. 9. 25.
C ] Windows 에서 PThread 사용하기 (Visual Studio 사용) PThread (Posix Thread)는 유닉스계열의 표준 스레드 라이브러리로 비록 유닉스 계열 라이브러리지만 win32에서도 사용할 수 있는 방법이 있다. 1. 아래 홈페이지 가서 라이브러리를 다운 받는다. https://www.sourceware.org/pthreads-win32/ POSIX Threads (pthreads) for Win32 Open SourcePOSIX Threads for Win32 Current release: 2.9.1 (2012-05-27)See the ANNOUNCEMENT and NEWS for details.Pthreads-w32 release 1.11.0 (2005-06-04) was the last series 1.x.x version! (Version 1.11... 2022. 8. 24.
Mediapipe ] Windows에 Mediapipe 설치하고 실행해보기 with python 0. 준비사항 : Python을 설치한다. 파이썬 패키지 매니저인 pip도 같이 설치되었을 것이다. 1. cmd창을 열고 다음과 같이 친다 pip install mediapipe opencv-python 2. mediapipe 공식사이트에서 hand 예제를 긁어와 hand.py 로 저장한다. import cv2 import mediapipe as mp mp_drawing = mp.solutions.drawing_utils mp_drawing_styles = mp.solutions.drawing_styles mp_hands = mp.solutions.hands # For static images: IMAGE_FILES = [] with mp_hands.Hands( static_image_mode=True,.. 2022. 4. 4.