Sign in to follow this  
Followers 0
JimPBarber

How to prevent loss of focus with a POP up.

3 posts in this topic

Hi I am programming an alert to pop up an image that will alert the user that an event has happened, for instance a server has gone down etc.

  I do not want the users current application to loose focus.  The typist must be able to continue to type uninterrupted.  The text is randomly displayed on the screen, so they have to pay attention and cannot take their hands off the board.  This needs to work across multiple applications, like telnet, word, notepad, etc.... 

While 1
$Ipath = $sFldr
$SleepTimer = 15
$hImage = _GDIPlus_ImageLoadFromFile($Ipath)
$width = _GDIPlus_ImageGetWidth($hImage)
$height = _GDIPlus_ImageGetHeight($hImage)
$iWidth = Random(0,@DesktopWidth - $width,1)
$iHeight = Random(0,@DeskTopHeight - $height,1)
$hGui = GUICreate("", $width, $height,$iWidth,$iHeight,$WS_POPUP,BitOR($WS_EX_LAYERED,$WS_EX_TOPMOST))
Guisetbkcolor($transColor,$hGui)
_WinAPI_SetLayeredWindowAttributes($hGui,$transColor,255)
Sleep($SleepTimer)
GuiSetState(@SW_SHOW)
ConsoleWrite($Ipath & "SleepTimer" & $SleepTimer & " Width:" & $iWidth & " Height:" & $iHeight & @CRLF)
$hGraphic = _GDIPlus_GraphicsCreateFromHWND($hGui)
_GDIPlus_GraphicsDrawImageRect($hGraphic,$hImage,0,0,$width,$height)
Sleep(30000)
GUISetState(@SW_HIDE)
    _GDIPlus_ImageDispose($hImage)
    _GDIPlus_GraphicsDispose($hGraphic)
WEnd

Func _Exit()
    _GDIPlus_Shutdown()
    Exit
EndFunc   ;==>_Exit

Share this post


Link to post
Share on other sites



#2 ·  Posted (edited)

If you want to display text, use a ToolTip:

ToolTip("alert!", Random(0, @DesktopWidth - 200, 1), Random(0, @DesktopHeight - 50, 1))
Sleep(15000)
ToolTip("")

Is it important to use an image?  Is it important to keep it on the screen for a set time?

If you really want to display a GUI on top but not have it steal focus, just use:

GUISetState(@SW_SHOWNOACTIVATE, $hGui)
Edited by Artisan

Share this post


Link to post
Share on other sites

You might want to think about including some error checking in that code. For example what happens if the image path can't be loaded?


_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_BinaryBin()_CheckMsgBox()_CmdLineRaw()_ContextMenu()_ConvertLHWebColor()/_ConvertSHWebColor()_DesktopDimensions()_DisplayPassword()_DotNet_Load()/_DotNet_Unload()_Fibonacci()_FileCompare()_FileCompareContents()_FileNameByHandle()_FilePrefix/SRE()_FindInFile()_GetBackgroundColor()/_SetBackgroundColor()_GetConrolID()_GetCtrlClass()_GetDirectoryFormat()_GetDriveMediaType()_GetFilename()/_GetFilenameExt()_GetHardwareID()_GetIP()_GetIP_Country()_GetOSLanguage()_GetSavedSource()_GetStringSize()_GetSystemPaths()_GetURLImage()_GIFImage()_GoogleWeather()_GUICtrlCreateGroup()_GUICtrlListBox_CreateArray()_GUICtrlListView_CreateArray()_GUICtrlListView_SaveCSV()_GUICtrlListView_SaveHTML()_GUICtrlListView_SaveTxt()_GUICtrlListView_SaveXML()_GUICtrlMenu_Recent()_GUICtrlMenu_SetItemImage()_GUICtrlTreeView_CreateArray()_GUIDisable()_GUIImageList_SetIconFromHandle()_GUIRegisterMsg()_GUISetIcon()_Icon_Clear()/_Icon_Set()_IdleTime()_InetGet()_InetGetGUI()_InetGetProgress()_IPDetails()_IsFileOlder()_IsGUID()_IsHex()_IsPalindrome()_IsRegKey()_IsStringRegExp()_IsSystemDrive()_IsUPX()_IsValidType()_IsWebColor()_Language()_Log()_MicrosoftInternetConnectivity()_MSDNDataType()_PathFull/GetRelative/Split()_PathSplitEx()_PrintFromArray()_ProgressSetMarquee()_ReDim()_RockPaperScissors()/_RockPaperScissorsLizardSpock()_ScrollingCredits_SelfDelete()_SelfRename()_SelfUpdate()_SendTo()_ShellAll()_ShellFile()_ShellFolder()_SingletonHWID()_SingletonPID()_Startup()_StringCompact()_StringIsValid()_StringRegExpMetaCharacters()_StringReplaceWholeWord()_StringStripChars()_Temperature()_TrialPeriod()_UKToUSDate()/_USToUKDate()_WinAPI_Create_CTL_CODE()_WinAPI_CreateGUID()_WMIDateStringToDate()/_DateToWMIDateString()Au3 script parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 04/09/2015

Share this post


Link to post
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
Sign in to follow this  
Followers 0