Windows 10/11에서 카카오스토리 알림을 웹 페이지로 연결되는 토스트로 띄워주는 프로그램 – 카카오 스토리 웹 알리미

스크린샷:

소스코드
다운로드

변경내역:

1.0.0: 첫 릴리즈

1.0.1:
– 알림상의 앱 이름을 exe 파일명이 아닌 “카카오스토리 웹 알리미”로 변경
– 업데이트 안내 문구를 한국어로 변경
– 알림이 올 때, 기존에 표시된 알림 중 같은 게시글의 알림이 있는 경우 해당 알림을 지우는 기능 추가
– 알림 내용이 “내용 없음”일 경우, 그냥 해당 내용을 보여주지 않게끔 수정

1.0.2:
시스템 재시작 이후 프로그램이 제대로 실행되지 않고 오류 로그를 대량으로 기록하는 오류 수정
로그인 전용 브라우저 로직과 관련된 오류 수정

1.0.3 / 1.0.4:
시스템 재시작 이후 프로그램이 제대로 실행되지 않고 오류 로그를 대량으로 기록하는 오류 수정

Windows 10/11에서 PC의 리소스를 작업 표시줄의 고정 아이콘으로 확인 – Pin Stats

스크린샷:

소스코드
다운로드

변경 내역:
1.0.0: 최초 릴리즈 / CPU 사용량 조회 및 그래프 조회 기능 제작
2.0.0: GPU/메모리/네트워크 모니터링 기능 추가
2.0.1: GPU 사용량이 올바르지 않게 표시되는 오류 수정 및 컨텍스트 메뉴에 버전,저자 정보 추가
2.0.2: Intel GPU 버그 수정 및 타이머 멈추는 오류 수정
2.0.3:
– 타이머 버그 수정 및 예외 핸들링
– UI 수정
– 팝업 창 위치를 고정된 위치로 설정
– 기타 코드상의 수정
2.0.4: 이전에 관찰된 5개의 사용량 값을 캐싱하여 갑작스러운 사용량 급증 방지
2.0.5:
– CPU 및 GPU 사용량 정확도 개선
– 아이콘 갱신 안되는 버그 수정|
2.0.6: 프로그램 실행 이후 몇 분이 지나면 GDI+ 핸들의 누수로 인해 강제 종료 되는 오류 수정

2.0.7:
관리자 모드에서 프로그램을 실행하여 다음과 같은 자세한 정보를 확인할 수 있습니다:

  • CPU 온도 및 전력 사용량
  • GPU 전력 사용량
  • 배터리 잔량 및 충전 및 방전 속도
  • 배터리 수명 상태(퍼센트)

시작 프로그램 등록과 관련된 몇 가지 버그 수정

2.0.9:
시작 프로세스 버그 수정
배터리 충전률 정보 텍스트의 오타 수정

2.1.0:
오타 수정 (BatteryHealth -> Battery Health)
(실험적) 윈도우 10 지원

2.1.1:
업데이트 확인 기능 추가

2.1.2:
어두운 테마 기기를 위해 아이콘과 텍스트를 검은색으로 표시하는 기능 추가
(Reflection님이 구현하셨습니다. 감사합니다!)
작업 표시줄을 왼쪽 또는 오른쪽으로 정렬한 사용자의 리포트 창 위치가 잘못 표시되던 버그를 수정

2.1.3:
가상 메모리 정보를 표시하는 기능 추가
초당 스토리지 읽기/쓰기 속도를 표시하는 기능 추가
정보량 증가에 따른 리포트 창 크기 증가
리포트 창 초기 로딩 시간 및 타이머 정확도 개선

2.1.4: 처음 실행 시 시스템 테마 설정에 따라 아이콘 테마 색상 자동 설정

2.1.5:
코드베이스 리팩토링
기능: 전용 모니터링 디스플레이를 위한 H/W 모니터

2.1.6:
모니터 감지 관련 버그 수정 (H/W 모니터)

2.1.7:
사소한 UI 수정

2.1.8:
기능: 이제 팝업 창/하드웨어 모니터 창에 배경 이미지를 설정할 수 있습니다.

2.1.9:
기능: 컨텍스트 메뉴의 메뉴를 통해 하드웨어 목록을 새로 고칠 수 있습니다.
오타 수정
코드베이스 리팩토링

2.2.0:
버그 수정: 모니터 인식과 관련된 문제 해결
버그 수정: 키보드 단축키를 통해 다른 모니터로 이동할 때 H/W 모니터 창이 전체 화면 모드가 아닐 수 있는 버그 수정

2.2.1:
설치 관리자 지원
하드웨어 수동 새로 고침 성능 개선
.NET 8 업데이트 및 WinUI 버전 업그레이드
기능: 시작 시 자동 시작 바이너리 위치를 확인하고 손상된 경우 잘못된 경로를 수정

C# Selenium Driver 자동 설정 라이브러리

Selenium의 특성상 브라우저의 드라이버가 브라우저의 버전과 정확히 일치하여야 되는 단점이 있어 설치된 브라우저의 버전을 읽고 해당하는 드라이버를 자동으로 다운로드 및 캐싱해주는 프로젝트를 생성하였습니다.

링크

현재는 Edge와 Chrome만 지원합니다만, 차후 지원 브라우저를 늘릴 예정입니다.

원클릭으로 영상 프레임을 두배로 늘려주는 프로그램 Frame Interpolation

참고 소스 : https://github.com/nihui/dain-ncnn-vulkan

클릭 한번으로 영상의 프레임을 늘려주는 프로그램입니다. DAIN을 사용하였으며, 성능은 아래의 영상을 확인해주세요.

※ GPU를 사용하나, 프레임 보간이 매우 오래걸립니다. 이 점 참고해주세요.
※ 현재로써는 실행 파일 경로와 변환 파일 경로에 특수문자나 한글이 있으면 안됩니다 (1.2.0 업데이트로 해결됨)

프로그램 UI
DAIN 성능 비교 영상

다운로드
소스코드

변경 내역 :
* 1.0.0 : 최초 공개
* 1.1.0 : 프레임 보간 작업에 대한 프로그래스바 추가
* 1.2.0 : 프로그래스바 오류 수정 및 특정 상황에서 프로그램이 종료되는 오류 수정

안드로이드 기기에서 오디오 지연값을 자동으로 계산하는 방법

아래 메소드를 이용하면 기기상의 오디오 설정을 인식하여 계산된 레이턴시 값을 반환합니다.

원래는 Android SDK상에서 제공되는 메소드입니다.
하지만 Private 메소드라서 일반적인 접근이 불가능하여 Reflection을 이용, 접근 후 값을 가져오는 방식입니다.

public int getAndroidLatency() {
   int latency = 0;
   AudioManager am = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
   try {
      Method m = am.getClass().getMethod("getOutputLatency", int.class);
      latency = (Integer) m.invoke(am, AudioManager.STREAM_MUSIC);
   }
   catch (Exception e) {
   }
   return latency
}

Windows 10의 파일 탐색기 바닥 우클릭 메뉴에 폴더 경로를 전달하여 Windows Terminal을 실행하는 옵션을 추가하는 방법

상단의 준비물을 받아주시고, 레지스트리 에디터를 실행합니다.
레지스트리 에디터를 열어 아래 경로로 이동해줍니다.

Computer\HKEY_CLASSES_ROOT\Directory\Background\shell\

레지스트리 폴더에 새로운 키를 생성해줍니다. 키 이름은 WT로 설정합니다.

새로운 키 생성하기

새로 만든 키에 command라는 이름의 키를 추가합니다.

command 키 생성

Windows+R 단축키를 눌러 뜨는 창에 %LOCALAPPDATA%를 입력, 뜨는 폴더에 terminal 폴더를 생성합니다. 이후 생성된 폴더에 위의 아이콘 파일인 wt_32.ico 파일을 넣어줍니다.

이후, terminal 폴더에서 탐색기 주소창 오른쪽의 빈 공간을 클릭하여 경로를 복사해줍니다.
예시) C:\Users\kck41\AppData\Local\terminal

그 다음 레지스트리 편집기에서 생성한 WT키에 Icon이라는 문자열 값을 생성합니다.
값은 위에서 복사한 폴더의 경로를 설정 마지막에 \ 문자를 추가하여 wt_32.ico 파일을 지정해줍니다.
예시) C:\Users\kck41\AppData\Local\terminal\wt_32.ico

WT 키의 (Default) 값은 우클릭 메뉴에서 보여질 옵션 제목을 적어주세요.
예시) Open Windows Terminal

WT 하위 키의 command 키의 (Default)값을 설정하기 위해 Windows + R키룰 눌러 %LOCALAPPDATA%를 입력합니다.
입력하여 나오는 창에서 Microsoft폴더를 들어가 WindowsApps폴더에 들어갑니다.

방금전과 마찬가지로 탐색기의 주소창 우측 빈공간을 선택하고 경로를 복사합니다.

WT하위 키의 command 키의 (Default)값을 더블클릭하여 방금전의 경로를 붙여넣고 마지막에 \wt.exe -d “%V”를 지정합니다.
예시) C:\Users\kck41\AppData\Local\Microsoft\WindowsApps\wt.exe -d “%V”

이제 파일 탐색기를 열어 아무 폴더에서나 레지스트리를 통해 추가한 옵션을 선택할 수 있습니다.

이 방법은 Windows Terminal 앱의 기본 쉘을 Ubuntu로 설정하였을 때, 쉘에 디렉토리를 전달하여 터미널을 통해 열 때 유용합니다.

탐색기에서 클립보드의 이미지 및 텍스트를 자동으로 파일로 저장해주는 프로그램 – Instant Clipboard Save

프로그램을 실행하면 탐색기에서 아무것도 선택하지 않는 경우의 우클릭 메뉴에 Instant Clipboard Save라는 메뉴가 생깁니다.
(프로그램 실행 이후 따로 뜨는 창은 없습니다)

클릭시 클립보드의 이미지(.png 파일) 또는 텍스트(.txt 파일)파일을 해당 폴더에 저장합니다.

프로그램 위치가 옮겨지는 경우 프로그램을 다시 실행해주세요.

프로그램 삭제시 탐색기 우클릭 메뉴에 남아있는 메뉴를 삭제하고싶으시다면,
레지스트리 편집기를 열어 아래 적혀진 위치의 키 및 하위 항목을 지워주세요.

Computer\HKEY_CURRENT_USER\SOFTWARE\Classes\Directory\Background\shell\Instant Clipboard Save

변경 로그:
1.0.0 : 최초 배포
1.1.0 : 메모리 누수 현상 해결
1.2.0 : 관리자 권한이 필요한 경우 관리자 권한 요청

XPS 9560, 9360, 9550의 SST 설정을 고정하는 방법

이 글의 방법을 조금이라도 다르게 적용하면 기기가 벽돌이 될 수도 있습니다.
저는 방법을 따라하다가 생기는 벽돌현상에 대한 책임을 지지 않습니다.

출처는 이쪽입니다

XPS 9560, 9360, 9550의 경우 ThrottleStop을 사용해도 BIOS에서 SST가 활성화되지 않아 간혹 절전모드의 해제등의 이유로 SST 설정이 고정되지 않습니다.
결과적으로 TurboBoost가 활성화 돼있어도 클럭이 올라가지 않아 베이스클럭 이상으로 나오지 않습니다.

이는 CPU가 SST를 지원하나 BIOS가 아닌 ThrottleStop이 소프트웨어적으로 활성화 시킨 이후로 ThrottleStop의 버그로 인해 SST설정이 풀리는 현상입니다.

따라서 SST설정을 BIOS에서 활성화시키면 해당 문제가 발생하지 않습니다.

BIOS에서 SST설정을 활성화 시키기 위한 준비물이 필요합니다.
아래 파일을 받아 압축을 풀어주세요.

먼저 Universal BIOS Backup ToolKit 2.0관리자 권한으로 실행해주세요.
실행하면 아래와 같은 창이 뜹니다.

먼저 Read를 누른 뒤 시간이 지난 이후 완료 메시지가 뜨면 닫아주고 Backup을 눌러 BIOS 이미지를 저장해주세요.
이후 프로그램을 닫아주시면 됩니다.

다음으로는 UEFITool을 실행해주세요.
그리고 드래그 앤 드롭으로 방금 추출한 BIOS 이미지 파일을 열어주세요.

BIOS 이미지 파일을 열은 뒤 “Ctrl + F” 단축키를 통해 탐색 창을 열어주시고 GUID탭으로
이동
한 뒤
899407D7-99FE-43D8-9A21-79EC328CAC21 를 복사하고 텍스트 창에 붙여넣어주세요.
아래의 사진을 참고하시면 됩니다.

그러면 아래의 사진과 같이 Search 탭에 줄이 하나 생깁니다.
이 줄을 더블클릭 해주세요.

그러면 아래의 사진과 같이 Setup이라는 항목이 선택되는데요
우클릭 하고 Extract as is를 눌러주세요.

아래와 같이 파일을 저장하는 창이 뜰겁니다.
파일 이름을 Setup.bin으로 지정하고 저장해주세요.

이제 UEFITool을 닫아주세요.

Setup.bin파일을 추출했으면 Universal IFR Extractor를 열어주시고 추출한 파일을 선택해줍시다.
그리고 Extract 버튼을 눌러주세요.
아래의 사진을 참고하시면 됩니다.

Extract를 누르면 txt파일을 저장하게됩니다.
파일명은 상관없으니 파일을 저장하고 txt파일을 메모장으로 열어주세요.
파일이 크다보니 여는데 시간이 조금 걸릴 수도 있습니다.

메모장이 열리면 “Ctrl + F” 단축키를 통해 찾기 창을 열어주시고 “Speed Shift Technology“를 검색해주세요.
그러면 아래와 같은 단락이 검색될겁니다.

Speed Shift Technology 설정 주소를 알아냈습니다
단순 예시이므로 꼭 각자 여기까지 단계를 거쳐주세요

저와 같은 경우 선택된 텍스트 우측에 0x4AD라고 적혀있습니다.

2019년 10월 기준 XPS 13 9360을 사용하는 사용자는 저와 같이 0x4AD라고 적혀있을겁니다.
하지만 기종마다 차이가 있을 수 있고 잘못 입력하면 벽돌현상이 발생할 수 있으므로 같은 모델을 사용하는 분이라도 꼭 위 과정을 따라주세요.

텍스트 우측의 Variable 값을 기억해주세요.
이 값을 메모리 주소라고 하겠습니다.

다음으로 USB 메모리를 준비해주세요.
그리고 준비물에 있는 “EFI-shell.zip“파일의 압축을 풀어주고 USB 메모리에 복사해주세요.
이후 메모리를 꽂은 뒤 재부팅하고 F2를 연타하여 BIOS 설정에 들어가주세요.

BIOS의 Boot Sequence 설정에 들어가줍시다. 그리고 Add Boot Option 버튼을 눌러주세요. 아래와 같은 화면이 뜰겁니다.

XPS 13 boot bios에 대한 이미지 검색결과

File을 직접 지정해줘야됩니다.
… 버튼을 눌러 USB 메모리를 선택해주고 방금 압축을 풀은 폴더에 있는 “bootx64.efi“를 지정 후 OK를 눌러주세요.

File system type : Dell UEFI

OK를 누른 다음 Boot Option Name을 아무렇게나 지정해주신 뒤 제일 첫번째 부팅 옵션으로 지정해주세요.

옵션 지정 이후 재부팅하시면 콘솔창이 뜹니다. 콘솔에 아래와 같이 입력해주세요.

setup_var (메모리 주소) 0x1

만약 메모리 주소가 0x4AD라면 setup_var 0x4AD 0x1 입니다.

입력 이후 글자가 뜰텐데 다시 입력커맨드가 뜰때까지 기다려주시고 reboot을 입력하여 재부팅해주세요.
USB 메모리는 제거하셔야됩니다.

재부팅하면 이제 ThrottleStop을 사용해도 SST 설정이 해제되는 현상이 사라집니다.

만약 SST 설정을 해제하고싶으시다면, 같은 단계를 따라 위의 setup_var 명령어의 맨 마지막 값을 0x0으로 설정하시고 재부팅하면 원래 설정대로 돌아옵니다.

BIOS 설정 초기화, BIOS 업데이트 등의 이유로 SST 설정이 풀릴 수도 있습니다.
이 경우 다시 설정을 진행해주셔야합니다.

SST 설정의 활성화 여부HWiNFO를 통해 알아보실 수 있습니다.
ThrottleStop 실행 전에 아래와 같이 HWiNFO 실행 이후 SST 항목이 초록색인지에 따라 활성화 여부를 확인할 수 있습니다.

이상 XPS 9560, 9360, 9550 시리즈의 SST 활성화 방법에 대해 알아봤습니다.
감사합니다!