티스토리 뷰
728x90
전 직장에서 유저가 사용중인 window 정보를 수집하는 프로그램을 운영했었다.
당시 client 개발 담당은 아니라서 원본 코드를 볼 일은 잘 없었는데, 문제는 Windows OS만 지원했었다는 것이다.
요즘은 기업에서 Mac을 사용하는 비중이 조금 높아지기도 했고 IT업계에선 더 Mac이 대중화 되었는데 Windows에서만 지원하는게 좀 아쉬웠었다.
그런 생각이 문득 들어 Python을 이용해 현재 활성중인 window 의 정보를 수집해보았다.
Python을 사용한 이유는 Node로 진행해서 Electron으로 프로그램을 만들려고 했었는데, 프로세스 수집 외 부가 작업이 생각보다 많았었다.
Python도 Mac과 Windows UI 개발이 가능하고 비교적 쉽게 수집이 가능해서 Python으로 진행했다.
Windows
import win32gui
def get_active_window_title(self):
hwnd = win32gui.GetForegroundWindow()
window_title = win32gui.GetWindowText(hwnd)
return window_title if window_title else "No active window detected"
Mac
from AppKit import NSWorkspace
def get_active_window_title(self):
active_app = NSWorkspace.sharedWorkspace().frontmostApplication()
app_name = active_app.localizedName() if active_app else "No active application"
return app_name
OS 별로 위 코드를 통해 데이터를 수집할 수 있었고 PyQt5를 통해 각 OS별 앱 UI를 구현할 수 있었다.
728x90
'헉!! > ETC' 카테고리의 다른 글
[DataGrip] SQL 키워드를 자동으로 대문자로 변환 (5) | 2024.11.07 |
---|---|
[Linux] 네트워크 진단 도구 traceroute, mtr (0) | 2024.08.19 |
[Intellij] Cannot Create Class Unable to parse template "Class" 오류 (0) | 2024.08.15 |
[Electron] OS 구분 방법 (0) | 2024.07.24 |
[Appium] 화면 좌표로 드래그하기 (0) | 2024.07.21 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- oracle
- Spring
- MySQL
- IT
- 오브젝티브 C
- Objective C
- JavaScript
- 아이폰 개발
- iOS 개발
- 오블완
- Objective-C
- iBATIS
- Object C
- 제이쿼리
- iPhone
- jQuery
- 티스토리챌린지
- 아이폰 어플리케이션
- tomcat
- SQL
- 아이폰
- 오브젝트 C
- 자바
- Spring Framework
- MAC OSX 10.7
- 자바스크립트
- Java
- JSP
- zero
- Programming
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함