Microsoft MVP성태의 닷넷 이야기
안녕하세요 background service에서 user32dll 접근 질문 드리겠습니다.! [링크 복사], [링크+제목 복사],
조회: 11489
글쓴 사람
하태
홈페이지
첨부 파일
 

Work Service앱을 통해서 프로젝트를 하나 진행하였고,
윈도우즈 해상도 변경관련 프로젝트여서 user32.dll을 호출하고 있습니다.
문제는 .exe 파일로 실행시 문제없이 작동하는데.
sc.exe create 명령어를 통해 user32.dll의 ChangeDisplaySettings 메서드를 호출하면,
응답 값이 -1로 실패하게 됩니다.
혹시 서비스프로그램 등록시에도 관리자 권한이 있어야할까요?.








[최초 등록일: ]
[최종 수정일: 8/17/2022]


비밀번호

댓글 작성자
 



2022-08-17 02시23분
서비스 프로그램으로 등록하는 것은 반드시 관리자 권한이 필요합니다.
정성태
2022-08-19 02시12분
관리자 권한과 더불어 윈도우 서비스는 백그라운드 세션(Session 0)에서 실행되기 때문에 데스크탑관련 API에 접근이 안될듯 싶네요.

https://jeho.page/programming/2010/11/07/windows-sessions-station-desktop.html

옛날에는 서비스 옵션 중 "Allow services to interact with Desktop"을 이용하면 됐던것 같은데 한번 시도해 보시길.
al6uiz

NoWriterDateCnt.TitleFile(s)