1
코드를 통해 벽지를 변경하는 데 문제가 있습니다. 모든 SO/Codeproject 스레드가 변화하는 벽지에 대해 이야기 할 때마다 아래 코드가 있습니다.벽지가 윈도우 7에서 변경됨
const int SPI_SETDESKWALLPAPER = 20;
const int SPIF_UPDATEINIFILE = 0x01;
const int SPIF_SENDWININICHANGE = 0x02;
[DllImport("user32.dll", CharSet = CharSet.Auto)]
static extern int SystemParametersInfo(
int uAction, int uParam, string lpvParam, int fuWinIni);
SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, @"C:\Temp\100_5715.JPG.bmp",
SPIF_UPDATEINIFILE | SPIF_SENDWININICHANGE);
내가 여기있는 실제 문제가 (지금까지 다른 승리 OS에서 테스트하지 않은 경우) 그 내가 Windows 서비스로 위의 코드를 확인하고 "로컬 서비스"또는 "로컬 시스템"으로 설치하는 경우, 그것은 전혀 작동하지 않습니다. 하지만 위의 코드를 ConsoleApp로 만들면 모든 것이 작동합니다.
내가 무슨 문제인지 궁금한가요? 예, 내 사용자 계정에 관리자 권한이 있습니다. 또한 여기에 Windows 7 Ultimate가 있습니다.
고마워요 :)
로컬 시스템 또는 로컬 서비스 대신 사용자 유형으로 서비스를 설정하면 문제가 해결됩니까? 내가 그것을 만들려고했지만, 내가 그것을 설치하려고 할 때마다, 그것은 사용자 이름과 비밀 번호를 묻습니다. 내 로그인 세션 자격 증명을 제공하려고 시도하지만, 받아 들여지지는 않습니다. 무엇을 해야할지 모르겠다. – Zenwalker
사용자 계정과 아무런 관련이 없습니다. 세션은 격리되어 있습니다. 다시 한 번 서비스를 사용할 수 없습니다. 배경 정보에 대한 Google "세션 0 격리". 아무도 로그인하지 않았을 때 서비스도 필요하지 않으며 데스크탑 비트 맵을 변경하지 않습니다. 프로그램의 바로 가기를 사용자의 Startup 폴더에 넣으십시오. –
흠. 감사합니다, 감사합니다 :) – Zenwalker