2014-12-19 9 views
2

주어진 디렉토리에서 임의의 파일을 선택하여 Windows 8의 잠금 화면 이미지로 설정하는 간단한 스크립트가 될 것이라고 생각합니다. 불행하게도 윈도우가 파워 쉘에 직접 잠금 화면을 터치하는 것처럼 보이지 않는다. Stack overflow에서이 질문을 시작했습니다. call-windows-runtime-classes-from-powershell 그가 가지고있는 것과 같은 최종 목표로 시작한 것처럼 보이지만 스레드는 이미지를 실제로 설정하는 방법에 들어 가지 않습니다.PowerShell에서 Windows 런타임 클래스 호출 - 창 8 잠금 화면 전환 자

좀 더 검색하면이 링크를 찾았습니다 How to change Lockscreen using JS in win8 app 올바른 경로로 시작한 적이 있는데, 자바 스크립트, C#, C++ 및 VB에서 예제를 찾았습니다. msdn에서 lockscreen을 변경하는 방법에 대해서는 나와 있지만 꽤 할 수는 없습니다. Powershell에서 구현하는 방법을 알아보십시오. 임의의 이미지를 따기

간단하다 :

$wallpaper = Get-ChildItem $Path2wallpaper 
$NewWPimage = $wallpaper[(Get-Random -Maximum ($wallpaper.count))].FullName 

는 내가에 붙어 실제로 이미지를 설정하는 방법입니다. 내가 찾을 수있는 모든 것을 보면 나는 아래 코드가 어떻게 동작하는지 알아야한다고 생각한다. $NewWPimage을 닷넷 스트림으로 변환 할 수 있을까?

[Windows.System.UserProfile,Windows.System.UserProfile,ContentType=WindowsRuntime] 
[Windows.System.UserProfile.LockScreen]::SetImageStreamAsync($img1) 

사람이 닷넷 객체 작업, 또는 적어도 필요한 코드, 즉 C (파일 경로를 가지고에서 이동하는 방법을 나에게 더 잘 설명 할 수있는 경우 : \ 사용자 \ 사용자 이름 \ 바탕 화면 \ newImage.jpg) lockscreen으로서 그 파일을 설정하는 것. 그것은 그렇게 굉장 할 것이다. 죄송합니다. 프로그래밍 용어가 잘못된 것입니다. 잘못된 용어를 사용하고 있다면 용서해주십시오.

답변

0

응답 부족으로 판단하면 WinRT로 작업하는 것처럼 보입니다. 그러나 나는 Windows 8에서 잠금 화면을 프로그래밍 방식으로 변경하는 다른 방법을 powershell을 사용하여 찾아 냈습니다.

powershell.org에 대한 감사의 말로 Windows 8/8.1에는 사용자 수준 잠금 화면과 시스템 수준 잠금 화면이 있음을 알았습니다. 시스템 수준 잠금 화면 이미지는 레지스트리 키에서 설정 될 수 있으며 사용자 수준 잠금 화면은 시스템 잠금 화면을 전역 잠금 화면으로 유지하는 레지스트리 키로 비활성화 할 수 있습니다. 자세한 내용은 eightforums.com을 확인하십시오.

그래서 여기에 임의의 잠금 화면을 설정하는 코드가 있습니다.

$wallpaper = Get-ChildItem $Path2wallpaper 
$NewWPimage = $wallpaper[(Get-Random -Maximum ($wallpaper.count))].FullName 
$RegPath = "HKLM:\SOFTWARE\Policies\Microsoft\Windows\Personalization" 
if (Test-Path -Path $RegPath) 
{ 
    Set-ItemProperty -Path $RegPath -Name LockScreenImage -Value $NewWPimage 
} 
else 
{ 
    New-Item -Path $RegPath -Type Directory 
    New-ItemProperty -Path $RegPath -Name NoChangingLockScreen -PropertyType DWORD -Value 1 
    New-ItemProperty -Path $RegPath -Name LockScreenImage -PropertyType String -Value  $NewWPimage 
}