Windows 10 Login<>LockScreen Changer

Discussion in 'MDL Projects and Applications' started by Alphawaves, Jul 25, 2015.

Thread Status:
Not open for further replies.
  1. Alphawaves

    Alphawaves Super Moderator/Developer
    Staff Member

    Aug 11, 2008
    6,183
    21,983
    210
  2. genenioo

    genenioo MDL Addicted

    Oct 9, 2007
    653
    113
    30
    #202 genenioo, Aug 16, 2015
    Last edited: Aug 17, 2015
    I put back the original .pri file so I can now sign out and of course have the ugly graphic. Also, just magically I am now able to use the switch user feature in Start10--possibly a fix in Start10 version 1.00--even with the changer applied. It'd be great if the sign out worked with the changer applied. Possible?
     
  3. EFA11

    EFA11 Avatar Guru

    Oct 7, 2010
    8,729
    6,728
    270
  4. R29k

    R29k MDL GLaDOS

    Feb 13, 2011
    4,936
    4,549
    150
    :thumbsup: Nice work Alpha
     
  5. adric

    adric MDL Addicted

    Jul 30, 2009
    846
    580
    30
  6. Alphawaves

    Alphawaves Super Moderator/Developer
    Staff Member

    Aug 11, 2008
    6,183
    21,983
    210
    #206 Alphawaves, Aug 17, 2015
    Last edited by a moderator: Apr 20, 2017
    (OP)
    Can you open regedit and post a screen shot of:
    Code:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\AccountPicture\Users\your sid\values ?
    Also can you post a screenshot of the contents of:
    Code:
    C:\ProgramData\Microsoft\User Account Pictures\?
     or
    C:\ProgramData\Microsoft\Default Account Pictures\?
    
    AppData\Microsoft\Windows\AccountPictures\?
    
    C:\Users\Public\Public Account Pictures\your sid\?
    
    
    Thanks :)

    EDIT:

    Code:
     - Changelog 0.0.1.6:
       Updated User Account Picture Enable-Disable
       Updated Color Selector
       Bug fixes
    Link on first page.
     
  7. genenioo

    genenioo MDL Addicted

    Oct 9, 2007
    653
    113
    30
  8. vanhoivo

    vanhoivo MDL Junior Member

    Mar 23, 2015
    64
    121
    0
    #208 vanhoivo, Aug 17, 2015
    Last edited by a moderator: Apr 20, 2017
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  9. EFA11

    EFA11 Avatar Guru

    Oct 7, 2010
    8,729
    6,728
    270
    #209 EFA11, Aug 17, 2015
    Last edited by a moderator: Apr 20, 2017
  10. adric

    adric MDL Addicted

    Jul 30, 2009
    846
    580
    30
    #210 adric, Aug 17, 2015
    Last edited by a moderator: Apr 20, 2017
    No change in latest version. BTW this may be a dumb question, but what is 'Disable Login Image' supposed to do?
    I see no difference whether it is checked or unchecked. Also, when using Revert and Apply to Desktop is not checked,
    my custom background still gets overlayed with the revert image.

    No entries listed under Users from subject reg entry above.

    Requested picture content below
    Code:
    C:\>dir "C:\ProgramData\Microsoft\User Account Pictures"\*.*
     Volume in drive C is Windows 10
     Volume Serial Number is 7E44-191B
    
     Directory of C:\ProgramData\Microsoft\User Account Pictures
    
    08/17/2015  03:28    <DIR>          .
    08/17/2015  03:28    <DIR>          ..
    07/10/2015  11:55                 0 Administrator.dat
    08/15/2015  12:20                 0 *************.dat
    07/10/2015  10:26           802,872 guest.bmp
    07/10/2015  10:26             5,400 guest.png
    07/10/2015  10:26             2,407 user-192.png.bk
    07/10/2015  10:26               415 user-32.png
    07/10/2015  10:26               433 user-40.png
    07/10/2015  10:26               501 user-48.png
    07/10/2015  10:26           802,872 user.bmp
    07/10/2015  10:26             5,400 user.png
                  10 File(s)      1,620,300 bytes
    
    C:\>dir "C:\ProgramData\Microsoft\Default Account Pictures"\*.*
    The system cannot find the file specified.
    
    C:\>dir C:\Users\*********\AppData\Roaming\Microsoft\Windows\AccountPictures\*.*
     Volume in drive C is Windows 10
     Volume Serial Number is 7E44-191B
    
     Directory of C:\Users\*********\AppData\Roaming\Microsoft\Windows\AccountPictures
    
    08/15/2015  12:20    <DIR>          .
    08/15/2015  12:20    <DIR>          ..
                   0 File(s)              0 bytes
    
    C:\>dir "C:\Users\Public\Public Account Pictures"
     Volume in drive C is Windows 10
     Volume Serial Number is 7E44-191B
    
     Directory of C:\Users\Public
    
    File Not Found
    
    C:\>dir C:\Users\Public\AccountPictures\*.* /a:h
     Volume in drive C is Windows 10
     Volume Serial Number is 7E44-191B
    
     Directory of C:\Users\Public\AccountPictures
    
    08/15/2015  12:20    <DIR>          .
    08/15/2015  12:20    <DIR>          ..
    08/15/2015  12:20               196 desktop.ini
                   1 File(s)            196 bytes
     
  11. MrBlkfx1

    MrBlkfx1 MDL Novice

    Aug 4, 2015
    1
    1
    0
    Hello, I'd like to thank Alphawaves for releasing this tool and keeping it updated! With that said, I'm curious if anyone knows a way to fix the lock screen issue? It seems get skipped over and goes straight to login screen. Thanks in advance!
     
  12. Alphawaves

    Alphawaves Super Moderator/Developer
    Staff Member

    Aug 11, 2008
    6,183
    21,983
    210
    #212 Alphawaves, Aug 17, 2015
    Last edited by a moderator: Apr 20, 2017
    (OP)
    Enable Lockscreen:
    Code:
    Windows Registry Editor Version 5.00
    
    [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Personalization]
    "NoLockScreen"=dword:00000000
     or
    "NoLockScreen"=-
    Disable Lockscreen:
    Code:
    Windows Registry Editor Version 5.00
    
    [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Personalization]
    "NoLockScreen"=dword:00000001
    Make sure your system is upto date with windows updates and latest graphics drivers before using Windows 10 Login Lockscreen Image Changer options
    ;)
     
  13. EFA11

    EFA11 Avatar Guru

    Oct 7, 2010
    8,729
    6,728
    270
    #213 EFA11, Aug 18, 2015
    Last edited by a moderator: Apr 20, 2017
  14. shorty2240

    shorty2240 MDL Novice

    Mar 5, 2015
    8
    1
    0
    Sorry to just be a lurker seeking tech support... but can anyone help me get my lock screen back?

    Whether I enable or disable lockscreen using this app, I get a plain black screen with a cursor. I can progress beyond it with ctrl+alt+del so it's not a priority issue but just a bit annoying.

    I can change the login screen image perfectly with the software (thanks! :))

    Changing the .pri back does not fix the black screen.

    I tried both before and after installing a recent windows update (KB3081438)

    I'm on a windows server network at work so I think I get a slightly different lock/login process to a standard user.

    Thanks :worthy:
     
  15. mixmax18

    mixmax18 MDL Novice

    Aug 10, 2015
    2
    2
    0
    tested v1.7 working perfect :clap:

    keep update Alphawaves

    many thanks
     
  16. Alphawaves

    Alphawaves Super Moderator/Developer
    Staff Member

    Aug 11, 2008
    6,183
    21,983
    210
    #216 Alphawaves, Aug 18, 2015
    Last edited by a moderator: Apr 20, 2017
    (OP)
    Hi shorty2240, did you use 'Apply to lockscreen' when applying to Login screen or just diabled lockscreen.
    What OS and architecture ? Can you post a screenshot, contents of:
    Code:
    C:\Windows\Web\Screen\
    Thanks..
     
  17. Alphawaves

    Alphawaves Super Moderator/Developer
    Staff Member

    Aug 11, 2008
    6,183
    21,983
    210
    #217 Alphawaves, Aug 19, 2015
    Last edited by a moderator: Apr 20, 2017
    (OP)
    Update:

    Code:
     - Changelog 0.0.1.8:
       Converted PS script to c# for faster execution
    Download link on first page ;)

    Edit:

    PS script conversion to c#:
    Code:
    public void PriFile(string input, string output, string img)
            {
                var inputStream = File.OpenRead(input);
                var outputStream = File.Create(output);
                var replacementStream = File.OpenRead(img);
                var inputReader = new BinaryReader(inputStream);
                var outputWriter = new BinaryWriter(outputStream);
                try
                {                
                    inputStream.CopyTo(outputStream);
                    var replacementLengthAligned = (Math.Ceiling((double)replacementStream.Length / 8) * 8);
                    //header
                    inputStream.Seek(0x14, SeekOrigin.Begin);
                    var headerLength = inputReader.ReadUInt32();
                    inputStream.Seek(0xB8, SeekOrigin.Begin);
                    var dataitemOffset = inputReader.ReadUInt32();
                    var origDataitemLength = inputReader.ReadUInt32();
                    var dataitemLength = origDataitemLength + replacementLengthAligned;
                    outputStream.Seek(0xBC, SeekOrigin.Begin);
                    outputWriter.Write((int)dataitemLength);
                    //dataitem
                    outputStream.Seek(headerLength + dataitemOffset + 0x18, SeekOrigin.Begin);
                    outputWriter.Write((int)dataitemLength);
                    inputStream.Seek(headerLength + dataitemOffset + 0x24, SeekOrigin.Begin);
                    var stringCount = inputReader.ReadUInt16();
                    var blobCount = inputReader.ReadUInt16();
                    var origDataLength = inputReader.ReadUInt32();
                    outputStream.Seek(0xC, SeekOrigin.Current);
                    outputWriter.Write((int)(origDataLength + replacementLengthAligned));
                    outputStream.Seek(stringCount * 4, SeekOrigin.Current);
                    var blobTableOffset = outputStream.Position;
                    var dataOffset = blobTableOffset + blobCount * 8;
                    var wallpaperBlobs = new List<int>();
                    for (var i = 0; i < blobCount; i++)
                    {
                        inputStream.Seek(blobTableOffset + i * 8, SeekOrigin.Begin);
                        var offset = inputReader.ReadUInt32();
                        var length = inputReader.ReadUInt32();
                        inputStream.Seek(dataOffset + offset, SeekOrigin.Begin);
                        if (inputReader.ReadUInt16() == 0xD8FF)
                        {
                            wallpaperBlobs.Add(i);
                        }
                    }
                    if (wallpaperBlobs.Count != 10)
                    {
                        throw new Exception("Not compatible with this PRI file!");
                    }
                    foreach (var id in wallpaperBlobs)
                    {
                        outputStream.Seek(blobTableOffset + id * 8, SeekOrigin.Begin);
                        outputWriter.Write(origDataLength);
                        outputWriter.Write((int)replacementStream.Length);
                    }
                    //data
                    outputStream.Seek(dataOffset + origDataLength, SeekOrigin.Begin);
                    if (outputStream.Length - outputStream.Position != 0x18)
                    {
                        throw new Exception("Not compatible with this PRI file!");
                    }
                    replacementStream.CopyTo(outputStream);
                    //footer
                    outputStream.Seek((long)replacementLengthAligned - replacementStream.Length, SeekOrigin.Current);
                    outputWriter.Write(0xDEF5FADE);
                    outputWriter.Write((int)dataitemLength);
                    outputWriter.Write(0xDEFFFADE);
                    outputWriter.Write(0x00000000);
                    outputWriter.Write("mrm_pri2".ToCharArray());
                    outputStream.Seek(0xC, SeekOrigin.Begin);
                    outputWriter.Write((int)outputStream.Length);
                    outputStream.Seek(-0xC, SeekOrigin.End);
                    outputWriter.Write((int)outputStream.Length);
                }
                finally
                {
                    if (inputReader != null)
                    {
                        inputReader.Close();
                    }
                    if (outputWriter != null)
                    {
                        outputWriter.Close();
                    }
                    if (replacementStream != null)
                    {
                        replacementStream.Close();
                    }
                }
            }
     
  18. shorty2240

    shorty2240 MDL Novice

    Mar 5, 2015
    8
    1
    0
    #218 shorty2240, Aug 19, 2015
    Last edited by a moderator: Apr 20, 2017
    Tried both options, either way I get a blank, black lockscreen.

    Win 10 Pro x64 upgraded from Win 7.
    i5 4670k on Z87X-D3H with a budget AMD card.

    Sorry, can't post links or images yet :eek: - i.imgur.com/BWhBOM5.gif

    I just tried disabling onboard graphics chip as I remember having an issue previously where Win 10 tried to show a message on a third, non-existent display, but no change. Even restoring the original .pri isn't bringing it back now.

    Thanks :worthy:
     
  19. EFA11

    EFA11 Avatar Guru

    Oct 7, 2010
    8,729
    6,728
    270
    #219 EFA11, Aug 19, 2015
    Last edited by a moderator: Apr 20, 2017
  20. Adalgar

    Adalgar MDL Novice

    Jul 31, 2015
    3
    1
    0
    #220 Adalgar, Aug 19, 2015
    Last edited: Aug 19, 2015
    @shorty2240

    See here: github.com/PFCKrutonium/Windows-10-Login-Background-Changer/issues/173 and check the third post, the post from Syrexide.

    You may need the newer .pri for updated windows 10 - second link in Syrexide's post.

    If the lockscreen then still stays black you could just cycle through images via settings - personalisation - lockscreen. Choose images you haven't used before. When the presets under 'choose your picture' show up and you can now select images you have used before, the issue is resolved.