JimPBarber Posted May 17, 2013 Share Posted May 17, 2013 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 Link to comment Share on other sites More sharing options...
Artisan Posted May 17, 2013 Share Posted May 17, 2013 (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 May 17, 2013 by Artisan Link to comment Share on other sites More sharing options...
guinness Posted May 17, 2013 Share Posted May 17, 2013 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? UDF List: _AdapterConnections() • _AlwaysRun() • _AppMon() • _AppMonEx() • _ArrayFilter/_ArrayReduce • _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 parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018 Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now