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. adric

    adric MDL Expert

    Jul 30, 2009
    1,388
    1,498
    60
    #201 adric, Aug 16, 2015
    Last edited: Aug 16, 2015
    I also get the Object Reference not set error and had to kill the task. The account picture disappears in the open GUI before it hangs. When restarted, the open GUI doesn't show the account image, but the actual login screen still shows the account picture. This was a clean Win 10 Pro RTM install.
     
  2. genenioo

    genenioo MDL Addicted

    Oct 9, 2007
    654
    113
    30
    #203 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,710
    6,739
    270
  4. R29k

    R29k MDL GLaDOS

    Feb 13, 2011
    5,178
    4,819
    180
    :thumbsup: Nice work Alpha
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  5. adric

    adric MDL Expert

    Jul 30, 2009
    1,388
    1,498
    60
  6. Alphawaves

    Alphawaves Super Moderator/Developer
    Staff Member

    Aug 11, 2008
    6,251
    22,364
    210
    #207 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
    654
    113
    30
  8. vanhoivo

    vanhoivo MDL Junior Member

    Mar 23, 2015
    64
    121
    0
    #209 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,710
    6,739
    270
    #210 EFA11, Aug 17, 2015
    Last edited by a moderator: Apr 20, 2017
  10. adric

    adric MDL Expert

    Jul 30, 2009
    1,388
    1,498
    60
    #211 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,251
    22,364
    210
    #213 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,710
    6,739
    270
    #214 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,251
    22,364
    210
    #217 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,251
    22,364
    210
    #218 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
    #219 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,710
    6,739
    270
    #220 EFA11, Aug 19, 2015
    Last edited by a moderator: Apr 20, 2017