Jump to content

Is it possible to display a message on the login screen?


Recommended Posts

I found this post that includes a demo of how the $MB_SERVICE_NOTIFICATION works.

; http://msdn.microsoft.com/en-us/library/windows/desktop/ms645505(v=vs.85).aspx
; Community Additions: MB_SERVICE_NOTIFICATION is ignored on Vista
$MB_SERVICE_NOTIFICATION = 2097152; 0x00200000
DllCall('user32.dll', 'int', 'LockWorkStation')
Sleep(3000)
MsgBox($MB_SERVICE_NOTIFICATION, "$MB_SERVICE_NOTIFICATION Test", "Some message... will not work on Vista+")

The above demo code works in Windows 7 in that it displays a message over the login screen, but the workstation is locked instead of logged out. I want to know if the message box will display when no user is logged in.  So I changed the demo code to this:

#include <MsgBoxConstants.au3>
#include <AutoItConstants.au3>

;lock workstation
;DllCall('user32.dll', 'int', 'LockWorkStation')

;logout
Shutdown ($SD_LOGOFF)

Sleep(4000)

MsgBox($MB_SERVICE_NOTIFICATION, "$MB_SERVICE_NOTIFICATION Test", "Some message... will not work on Vista+")

Now I can test $MB_SERVICE_NOTIFICATION when the workstation is locked versus when the user is logged out.  And what I'm seeing is that when the user is logged out $MB_SERVICE_NOTIFICATION does not enable messages to be displayed. 

Is there any method for displaying a message on the login screen when no user is logged in?  My goal, BTW, is to run a script at night while the user is away from the computer and leave a message on the login screen for the user to see upon returning to work the next day.

 

Edited by timmy2
clarification
Link to comment
Share on other sites

If you log off, anything you're running will shut down. You'd probably need to run it as a scheduled task to test it that way.

If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.
Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude
How to ask questions the smart way!

I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from.

Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays.  -  ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script.  -  Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label.  -  _FileGetProperty - Retrieve the properties of a file  -  SciTE Toolbar - A toolbar demo for use with the SciTE editor  -  GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI.  -   Latin Square password generator

Link to comment
Share on other sites

Thank you to both BrewManNH and JohnOne.  I must've been editing my post while you were replying. 

I am running my script from Task Scheduler, at midnight.  The script runs fine; it's just that messages are not displayed if the user happens to logout before going home. I thought maybe  $MB_SERVICE_NOTIFICATION would enable those messages to appear regardless of whether the user is logged in or not.

Edited by timmy2
Link to comment
Share on other sites

I think your looking for this.

I did no read well :/ sorry.

 

Saludos

Edited by Danyfirex
Link to comment
Share on other sites

From reading the MSDN page that flag is used for an interactive service that needs to display a message, it probably won't work as a normal task.

If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.
Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude
How to ask questions the smart way!

I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from.

Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays.  -  ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script.  -  Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label.  -  _FileGetProperty - Retrieve the properties of a file  -  SciTE Toolbar - A toolbar demo for use with the SciTE editor  -  GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI.  -   Latin Square password generator

Link to comment
Share on other sites

You might want to try a program called http://www.kixtart.org/

 

All by me:

"Sometimes you have to go back to where you started, to get to where you want to go." 

"Everybody catches up with everyone, eventually" 

"As you teach others, you are really teaching yourself."

From my dad

"Do not worry about yesterday, as the only thing that you can control is tomorrow."

 

WindowsError.gif

WIKI | Tabs; | Arrays; | Strings | Wiki Arrays | How to ask a Question | Forum Search | FAQ | Tutorials | Original FAQ | ONLINE HELP | UDF's Wiki | AutoIt PDF

AutoIt Snippets | Multple Guis | Interrupting a running function | Another Send

StringRegExp | StringRegExp Help | RegEXTester | REG TUTOR | Reg TUTOT 2

AutoItSetOption | Macros | AutoIt Snippets | Wrapper | Autoit  Docs

SCITE | SciteJump | BB | MyTopics | Programming | UDFs | AutoIt 123 | UDFs Form | UDF

Learning to script | Tutorials | Documentation | IE.AU3 | Games? | FreeSoftware | Path_Online | Core Language

Programming Tips

Excel Changes

ControlHover.UDF

GDI_Plus

Draw_On_Screen

GDI Basics

GDI_More_Basics

GDI Rotate

GDI Graph

GDI  CheckExistingItems

GDI Trajectory

Replace $ghGDIPDll with $__g_hGDIPDll

DLL 101?

Array via Object

GDI Swimlane

GDI Plus French 101 Site

GDI Examples UEZ

GDI Basic Clock

GDI Detection

Ternary operator

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...