Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 07/16/2020 in all areas

  1. Maybe this ? #include <WinAPISysWin.au3> Example() Func Example() Local $aList = WinList() Local $sList = "" For $i = 1 to $aList[0][0] If $aList[$i][0] <> "" And BitAND(WinGetState($aList[$i][1]), 2) Then If Not _WinAPI_GetParent ($aList[$i][1]) Then $sList &= $aList[$i][0] & @CRLF EndIf EndIf Next MsgBox ($MB_SYSTEMMODAL,"",$sList) EndFunc ;==>Example
    1 point
  2. I believe the typical way to handle this is to "unbind" the hotkey at the start of your function and then enable it again at the bottom -- HotKeySet('{RIGHT}', 'test') Func test() HotKeySet('{RIGHT}') If WinActive('[CLASS:MSPaintApp]') Then MsgBox(0, 'Hotkey Pressed', 'RightArrow') Else Send('{RIGHT}') EndIf HotKeySet('{RIGHT}', 'test') EndFunc
    1 point
  3. Check out my ATT - Application Translate Tool.
    1 point
  4. Actually I have 4 ways in that script CDO,Powershell, Blat.dll and easendmail (oh and also a pushover fallback) I'm an administrator and some processes need monitoring and some are pretty critical. However CDO has issues and is kinda deprecated, it works for the most time but the moment you change region settings it stops working (and MS won't fix it) So I figured out I could use powershell to send email .. but the part that sends emails got deprecated too it works for now but why not have a backup for that too. I played with blat.dll and that works and is pretty resilient but it only support plain smtp without encryption so I found out about easendmail. Yes I am fully aware that I lack a lot when it comes to programming, it's all fun and games till one of our devs looked at my code and his eyes started to bleed. I really hope to squeeze in more time to figure it out but for now I hoped for a manifest bypass trick but you have made it clear there isn't one .. so thanks for that. I didn't want to register the dll because it might mess with existing applications that also work with easendmail or a different version. (dll hell) You are correct I tried to find a COM less one but seems that in dev world COM is hot and happening. In Dutch we say "Breek me de bek niet open" and time I might add. For now I solved it to extract the dll from the tool if needed .... Thank you for taking time to reply.
    1 point
  5. You might check both if class is #32770 and if the word "error" exists in the title, or the text of the button in the text, or all together WinExists("[CLASS:#32770; REGEXPTITLE:(?i)(.*error.*)]", "OK")
    1 point
  6. Hi guys, That is my code MariusN is quoting, so I hope you do not mind me butting in! You can find out about $GUI_RUNDEFMSG on the Help file page for GUIRegisterMsg. Basically it allows AutoIt to run it's internal handler for a message once you have finished with it. If you do not want the internal handler to run, just Return 0. The $fDblClk was an internal flag in the script, so you will find no reference in the Help file! I often use flags in the message handlers because of this warning (from the same page in the Help file: "Warning: blocking of running user functions which executes window messages [...] can lead to unexpected behavior, the return to the system should be as fast as possible !!!" So rather than run a long function in the message handler itself, I use it to set a flag to "True" and then run the function from my While...WEnd loop (I ususally use GetMessage mode so there is always one about somewhere!) using something like this: If $fFlag = True Then $fFlag = False ; to prevent it running every time! Function() EndIfI hope that is clear. Please ask if you are still unsure about anything. M23
    1 point
×
×
  • Create New...