jjj Posted May 20, 2006 Share Posted May 20, 2006 Does anyone know if winXP has something built in that can run a program when the computer wakes up from standby? (just like it does for startup?) If not, is there a way to do this with Autoit? Thanks! Link to comment Share on other sites More sharing options...
Micha1405 Posted May 20, 2006 Share Posted May 20, 2006 (edited) i think this will help you http://www.autoitscript.com/forum/index.php?showtopic=21575before standby you can set a RunOnce or RunOnceEx key for your program. I think this will work Edited May 20, 2006 by Micha1405 My TrayToolBar Link to comment Share on other sites More sharing options...
Micha1405 Posted May 20, 2006 Share Posted May 20, 2006 Sorry RunOnce and RunOnceEx don't work. Try TaskSheduler for the time you computer wake up My TrayToolBar Link to comment Share on other sites More sharing options...
Xenobiologist Posted May 20, 2006 Share Posted May 20, 2006 Hi, what do you want to achieve? Maybe you can start program before "going to sleep" and then the program should still run if pc awakes. So long, Mega Scripts & functions Organize Includes Let Scite organize the include files Yahtzee The game "Yahtzee" (Kniffel, DiceLion) LoginWrapper Secure scripts by adding a query (authentication) _RunOnlyOnThis UDF Make sure that a script can only be executed on ... (Windows / HD / ...) Internet-Café Server/Client Application Open CD, Start Browser, Lock remote client, etc. MultipleFuncsWithOneHotkey Start different funcs by hitting one hotkey different times Link to comment Share on other sites More sharing options...
jjj Posted May 20, 2006 Author Share Posted May 20, 2006 ok, I'll explain the situation a bit. I run a pvr on my comuter, and it wakes itself up to record tv shows. I want to run an autoit script that updates the router to forward a port to the pvr computer whenever it wakes up from standby. I would rather that the script does not run all of the time, but only once when the coputer wakes up. Any more ideas? Link to comment Share on other sites More sharing options...
ChrisL Posted May 20, 2006 Share Posted May 20, 2006 Run as a service maybe?http://support.microsoft.com/kb/q137890/ [u]Scripts[/u]Minimize gui to systray _ Fail safe source recoveryMsgbox UDF _ _procwatch() Stop your app from being closedLicensed/Trial software system _ Buffering Hotkeys_SQL.au3 ADODB.Connection _ Search 2d Arrays_SplashTextWithGraphicOn() _ Adjust Screen GammaTransparent Controls _ Eventlogs without the crap_GuiCtrlCreateFlash() _ Simple Interscript communication[u]Websites[/u]Curious Campers VW Hightops Lambert Plant Hire Link to comment Share on other sites More sharing options...
Daniel W. Posted May 20, 2006 Share Posted May 20, 2006 Maybe this works: Dim $check, $i = 0, $time = 60 $check = PixelChecksum( 0, 0, @DesktopWidth, @DesktopHeight) While $check Sleep(1000) $i = $i + 1 WEnd If $i > $time Then ;~ Your Code in here Exit Else Exit EndIf ;~ $time = Your time in minutes after standby You just have to run it before pcs goes to standby --------------------------------------------------------------------------------------------------------------------------------Scripts : _Encrypt UDF_UniquePCCode UDF MS like calculatorInstall programm *UPDATED* --------------------------------------------------------------------------------------------------------------------------------[quote name='Helge' post='213117' date='Jul 26 2006, 10:22 AM']Have you ever tried surfing the internet with a milk-carton ?This is similar to what you're trying to do.[/quote] Link to comment Share on other sites More sharing options...
Moderators SmOke_N Posted May 20, 2006 Moderators Share Posted May 20, 2006 Maybe this works: Dim $check, $i = 0, $time = 60 $check = PixelChecksum( 0, 0, @DesktopWidth, @DesktopHeight) While $check Sleep(1000) $i = $i + 1 WEnd If $i > $time Then ;~ Your Code in here Exit Else Exit EndIf ;~ $time = Your time in minutes after standby You just have to run it before pcs goes to standbyHave you tried that on anything? Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer. Link to comment Share on other sites More sharing options...
Daniel W. Posted May 20, 2006 Share Posted May 20, 2006 No i dont know how standby works and so ^^ try it out yourself --------------------------------------------------------------------------------------------------------------------------------Scripts : _Encrypt UDF_UniquePCCode UDF MS like calculatorInstall programm *UPDATED* --------------------------------------------------------------------------------------------------------------------------------[quote name='Helge' post='213117' date='Jul 26 2006, 10:22 AM']Have you ever tried surfing the internet with a milk-carton ?This is similar to what you're trying to do.[/quote] Link to comment Share on other sites More sharing options...
ChrisL Posted May 20, 2006 Share Posted May 20, 2006 Have you tried that on anything? [u]Scripts[/u]Minimize gui to systray _ Fail safe source recoveryMsgbox UDF _ _procwatch() Stop your app from being closedLicensed/Trial software system _ Buffering Hotkeys_SQL.au3 ADODB.Connection _ Search 2d Arrays_SplashTextWithGraphicOn() _ Adjust Screen GammaTransparent Controls _ Eventlogs without the crap_GuiCtrlCreateFlash() _ Simple Interscript communication[u]Websites[/u]Curious Campers VW Hightops Lambert Plant Hire Link to comment Share on other sites More sharing options...
Moderators SmOke_N Posted May 20, 2006 Moderators Share Posted May 20, 2006 (edited) No i dont know how standby works and so ^^try it out yourselfThat wasn't my point. You only check for a pixel before the While/WEnd loop, then never check it again, how is the While/WEnd supposed to know if $check is different? That's all I was saying, you have an infinite loop that will never exit. Edited May 20, 2006 by SmOke_N Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer. Link to comment Share on other sites More sharing options...
Developers Jos Posted May 20, 2006 Developers Share Posted May 20, 2006 (edited) Give this a try ... requires BETA: expandcollapse popup#include <GUIConstants.au3> ;~ #define PBT_APMQUERYSUSPEND 0x0000 ;~ #define PBT_APMQUERYSTANDBY 0x0001 ;~ #define PBT_APMQUERYSUSPENDFAILED 0x0002 ;~ #define PBT_APMQUERYSTANDBYFAILED 0x0003 ;~ #define PBT_APMSUSPEND 0x0004 ;~ #define PBT_APMSTANDBY 0x0005 ;~ #define PBT_APMRESUMECRITICAL 0x0006 ;~ #define PBT_APMRESUMESUSPEND 0x0007 ;~ #define PBT_APMRESUMESTANDBY 0x0008 ;~ #define PBTF_APMRESUMEFROMFAILURE 0x00000001 ;~ #define PBT_APMBATTERYLOW 0x0009 ;~ #define PBT_APMPOWERSTATUSCHANGE 0x000A ;~ #define PBT_APMOEMEVENT 0x000B ;~ #define PBT_APMRESUMEAUTOMATIC 0x0012 ; Global $WM_POWERBROADCAST = 536 Global $PBT_APMRESUMESUSPEND = 0x0007 $hGUI = GUICreate("Test", 100, 100,1,1) GUIRegisterMsg($WM_POWERBROADCAST, "Standby") GUISetState() While 1 $GUIMsg = GUIGetMsg() Switch $GUIMsg Case $GUI_EVENT_CLOSE ExitLoop EndSwitch WEnd ; Exit ; Func Standby($hWnd, $Msg, $wParam, $lParam) If $wParam = $PBT_APMRESUMESUSPEND Then MsgBox(0,"Hello Back", " You just woke up") EndIf EndFunc Edited May 20, 2006 by JdeB coffeeturtle 1 SciTE4AutoIt3 Full installer Download page - Beta files Read before posting How to post scriptsource Forum etiquette Forum Rules Live for the present, Dream of the future, Learn from the past. Link to comment Share on other sites More sharing options...
Micha1405 Posted May 21, 2006 Share Posted May 21, 2006 (edited) Edit 1: Height of combobox to 120 for W2kTested only Windows XP Sp2Hello all i've modified one of my first program called minialarmhttp://www.autoitscript.com/forum/index.ph...518entry74518Now it can wake up the pc and start a program at select time TIP: Set your Poweroption to no Password resume from standbycode not clean but it works expandcollapse popup; AutoIt Version: 3.1.1.103 Beta ; Author: Micha1405 ; Date: 14.03.2005 ; Script Function: Alarmtimer & sheduler start application or shutdown ; when the gui lost focus it minimize to tray ; 21.05.2006 add wake from standby and run application after standby ; ---------------------------------------------------------------------------- ; Set Variablen #include <GUIConstants.au3> #include <constants.au3> #include <date.au3> #include<Date.au3> Global $Sec, $Min, $Hour, $Time Opt ("TrayAutoPause", 0) Opt ("TrayMenuMode", 1) Opt("GUICloseOnESC", 0) opt("TrayAutoPause",0) $WinTitel="MiniAlarm" $aFlag=0;Alarm Timer Flag 0=not activ 1=play sound 2=start app 3=shutdown 4=wakeup @time 5=wakeup @time and start app $font="Comic Sans MS" ; ----------------------------------------------------------------------------- ; Build GUI $guiApp=GUICreate($winTitel, 200, 150) GUISetFont (14, 400, 0, $font) $currTime=GUICtrlCreateLabel(@Hour & ":" & @Min & ":" &@SEC , 25, 8) $font="Arial" GUISetFont (8, 400, 0, $font) $alarmbutton = GUICtrlCreateButton("Set Alarm Time", 10, 120, 110,20) $aCombo=GUICtrlCreateCombo ("Alarm", 10,60,150,120); create first item $alabel1=GUICtrlCreateLabel ("Choose Action", 10,35,120); GUICtrlSetData($aCombo,"Start App|Shutdown PC|Wake from Standby|Wake from Standby & run","Alarm"); add other item snd set a new default $Apps = GUICtrlCreateLabel ( "Start @", 10, 90, 145, 20) GUISetIcon ("shell32.dll",20) TraySetIcon("shell32.dll",20) TraySetToolTip("Click to restore") GUISetState() $appState = @SW_SHOW Do $msg = GUIGetMsg() $trayMsg = TrayGetMsg() if Not WinActive($winTitel) And $appState = @SW_SHOW Then;lost focus minimize window _ToggleAppState() EndIf Select case $trayMsg = $TRAY_EVENT_PRIMARYDOWN _ToggleAppState() Case $msg = $alarmbutton $varT=InputBox("Set Time", "Set Time 'hh:mm':","00:00") if @error then MsgBox(64,"Error","Input canceled") $aFlag=0 GUICtrlSetState($aCombo,$GUI_Enable) Else ;Check for valid input If StringLen($varT)<5 or StringMid($varT, 3, 1)<> ":"then MsgBox(64,"Miniarlam","Incorrect format : 01:05") $aFlag=0 Else $aFlag=1;set timer flag activ GUICtrlSetData($alarmbutton, "Alarm at " & $varT) GUICtrlSetState($alarmbutton,$GUI_DISABLE) GUICtrlSetState($aCombo,$GUI_DISABLE) ;if Standby is active then get time -1 min and set Standby time EndIf EndIf ;check action to do, read value of combobox $ComboValue=GUICtrlRead($aCombo,0) Select Case $ComboValue="Alarm" and $aFlag>0 ;do Nothing ;$aFlag=1 Case $ComboValue="Start App"and $aFlag>0 OR $ComboValue="Wake from Standby & run" and $aFlag>0 GUISetState($Apps,$GUI_enable) $a_apps=FileOpenDialog("Choose Applikation to start at alarmtime",@ProgramFilesDir, "Apps (*.exe;*.cmd)", 1 + 4) If @error Then MsgBox(4096,"","No App select") $aFlag=0 $fvar = EnableButtons() Else GUICtrlSetData($apps,$a_apps) GUICtrlSetData($alarmbutton,"Start @ " &$varT) EndIf if $ComboValue="Wake from Standby & run" Then $aflag=5 ;reduce time for 2 minutes for systemstartup $Sec="00" $Min=StringRight($varT,2) $Hour=StringLeft($varT,2) $var=_TimeToTicks($Hour,$Min,$Sec) $var1=$var -2 * 60 * 1000 _TicksToTime($var1,$Hour,$Min,$Sec) SetWakeUpTime($Hour,$Min); wakeup the system Sleep(1000) SetSuspend() Else $aFlag=2 EndIf case $ComboValue="Shutdown PC" and $aFlag>0 $aFlag=3 Case $ComboValue="Wake from Standby" and $aFlag>0 $aFlag=4 SetWakeUpTime(Stringleft($varT,2),StringRight($varT,2)); wakeup the system Sleep(1000) SetSuspend() EndSelect EndSelect SLEEP(60) GuiCtrlSetData($currTime, @Hour & ":" & @Min & ":" & @Sec) if $Aflag >=1 Then if @Hour & ":" & @Min = $varT then Select case $aflag=1 If FileExists(@ScriptDir & "\alarm.wav") Then SoundPlay(@ScriptDir & "\alarm.wav",0) Else MsgBox(64,$winTitel,"alarm.wav missing in programdir",3) EndIf $aFlag= 0; Set Timer Flag back to 0 $fvar = EnableButtons() Case $aflag=2 or $aflag=5 ;Start apps Run ( $a_apps ) $aflag=0 $fvar = EnableButtons() Case $aflag=3 $start=RunWait(@ComSpec & " /c " & 'shutdown -s -t 00', "", @SW_HIDE);shutdown $aflag=0 $fvar = EnableButtons() EndSelect EndIf EndIf until $msg = $GUI_EVENT_CLOSE ;--------------------------------------------------------------- ; Userdefined Functions Func EnableButtons() GUICtrlSetState($alarmbutton,$GUI_Enable) GUICtrlSetData($alarmbutton, "Set Alarm Time") GUICtrlSetState($aCombo,$GUI_Enable) GUICtrlSetData($apps,"Start @") EndFunc ; User defined function minimize and restore the gui Func _ToggleAppState() if $appState = @SW_HIDE then $appState = @SW_SHOW GUISetState(@SW_SHOW, $guiApp) Else $appState = @SW_HIDE GUISetState(@SW_HIDE, $guiApp) EndIf EndFunc ;=============================================================================== ; ; Description: Sets a wakeup time to wake it up if the system / computer is hibernating or standby ; Parameter(s): $Hour - Hour Values : 0-23 ; $Minute - Minutes Values: 0-59 ; $Day - Days Values : 1-31 (optional) ; $Month - Month Values : 1-12 (optional) ; $Year - Year Values : > 0 (optional) ; ; Requirement(s): DllCall ; Return Value(s): On Success - 1 ; On Failure - 0 sets @ERROR = 1 and @EXTENDED (Windows API error code) ; ; Error code(s): [url=http://msdn.microsoft.com/library/default.asp?url=/library/en-us/debug/base/system_error_codes.asp]http://msdn.microsoft.com/library/default....error_codes.asp[/url] ; ; Author(s): Bastel123 aka Sebastian ; Note(s): - ; ;=============================================================================== func SetWakeUpTime($Hour,$Minute,$Day=@mday,$Month=@mon,$Year=@YEAR) $SYSTEMTIME = DllStructCreate("ushort;ushort;ushort;ushort;ushort;ushort;ushort;ushort") $lpSYSTEMTIME = DllStructGetPtr($SYSTEMTIME) $LOCALFILETIME=DllStructCreate("dword;dword") $lpLOCALFILETIME = DllStructGetPtr($LOCALFILETIME) $DueTime=DllStructCreate("dword;dword") $lpDueTime=DllStructGetPtr($DueTime) DllStructSetData($SYSTEMTIME, 1, $Year) DllStructSetData($SYSTEMTIME, 2, $Month) DllStructSetData($SYSTEMTIME, 3, _DateToDayOfWeek($Year,$Month,$Day)-1) DllStructSetData($SYSTEMTIME, 4, $Day) DllStructSetData($SYSTEMTIME, 5, $Hour) DllStructSetData($SYSTEMTIME, 6, $Minute) DllStructSetData($SYSTEMTIME, 7, 0) DllStructSetData($SYSTEMTIME, 8, 0) $result = DllCall("kernel32.dll", "long", "SystemTimeToFileTime", "ptr", $lpSystemTime, "ptr", $lpLocalFileTime) If $result[0] = 0 Then Local $lastError = DllCall("kernel32.dll", "int", "GetLastError") SetExtended($lastError[0]) SetError(1) Return 0 EndIf $result = DllCall("kernel32.dll", "long", "LocalFileTimeToFileTime", "ptr", $lpLocalFileTime, "ptr", $lpLocalFileTime) If $result[0] = 0 Then Local $lastError = DllCall("kernel32.dll", "int", "GetLastError") SetExtended($lastError[0]) SetError(1) Return 0 EndIf $result = DllCall("kernel32.dll", "long", "CreateWaitableTimer", "long", 0, "long", True, "str", "") If $result[0] = 0 Then Local $lastError = DllCall("kernel32.dll", "int", "GetLastError") SetExtended($lastError[0]) SetError(1) Return 0 EndIf DllCall("kernel32.dll", "none", "CancelWaitableTimer", "long",$result[0]) DllStructSetData($DueTime, 1, DllStructGetData($LocalFILETIME, 1)) DllStructSetData($DueTime, 2, DllStructGetData($LocalFILETIME, 2)) $result = DllCall("kernel32.dll", "long", "SetWaitableTimer", "long",$result[0], "ptr", $lpDueTime, "long", 1000, "long", 0, "long", 0, "long", true) If $result[0] = 0 Then Local $lastError = DllCall("kernel32.dll", "int", "GetLastError") SetExtended($lastError[0]) SetError(1) Return 0 EndIf return 1 EndFunc ;=============================================================================== ; ; Description: Set the computer in Hibernate or Standby Status ; Parameter(s): $Mode - Suspend mode : True=Hibernate, False=Suspend ; $Force - Force-Mode : True=the system suspends operation immediately ; False=FALSE, the system broadcasts a PBT_APMQUERYSUSPEND event to each application to request permission to suspend operation ; ; Requirement(s): DllCall ; ; Author(s): Bastel123 aka Sebastian ; Note(s): If the system does not support hibernate use the standby mode - ; ;=============================================================================== Func SetSuspend($mode=False,$force=true) $result = DllCall("PowrProf.dll", "long", "SetSuspendState", "long",$mode, "long",$force, "long", false) EndFunc Edited May 21, 2006 by Micha1405 My TrayToolBar Link to comment Share on other sites More sharing options...
ZoScr Posted August 3, 2006 Share Posted August 3, 2006 Global $WM_POWERBROADCAST = 536 Global $PBT_APMRESUMESUSPEND = 0x0007 GUIRegisterMsg($WM_POWERBROADCAST, "Standby") Func Standby($hWnd, $Msg, $wParam, $lParam) If $wParam = $PBT_APMRESUMESUSPEND Then MsgBox(0,"Hello Back", " You just woke up") EndIf EndFuncJdeB, THANKS! I was just looking for this very thing (for a similar reason: want to do something with my router on resume). Link to comment Share on other sites More sharing options...
kuit Posted June 18, 2023 Share Posted June 18, 2023 Hi guys, I had this problem for the last several days. I have a script that executes some timers and if (timer > value) + (computer has been idle > value ) then it should execute something. What messes up everything is when windows goes to sleep/hibernate. Idle timers continue to run while the pc sleeps and on waking up windows the script triggers when it shouldn't. The solution in the post above didn't work for me, the powerbroadcast = 536 didn't work on Windows 10. I also read in another post that it's possible to fetch the windows even registry and find out the system resume time, but it was too complicated for my abilities and I didn't find any working example. So here is what I came up with, hoping that it will help anyone in my situation: First workaround that I found: Trigger only if idle time is between target time and target time + 1 second. Let's say after 2 hours that the computer is idle you want to trigger a script. 2 hours = 7200 seconds. If $mytimer > value and $idletime >7200 and $Idletime <7201 seconds Then Execute what you want sleep 3 seconds (to avoid repeating triggers if the script reloads in < 1 second) EndIf This means that if you hibernate windows and resume let's say after 3 hours, the 3rd condition won't be met and when you move the mouse the counter will resume from 0. But: this is not elegant 😛 FINAL SOLUTION that I found later: What I did: Created a new au3 script. Only 1 instruction: Sleep 120 seconds. Called it: system_just_resumed.exe This script is triggered by the windows task scheduler on system logon and on system resume after hybernation/sleep. What I did in my main script: If $mytimer > value and $idletime >7200 and Not ProcessExists("system_just_resumed.exe") Then Execute what you want EndIf Rationale: even if the pc has been idle while sleeping, the execution will be blocked by the system_just_resumed script for 2 minutes after resuming windows.. Which means: I have 2 minutes to move the mouse/keyboard after resuming the system to avoid a false trigger. Hope this helps someone with my same problem I had. Ps: in task scheduler, in order to trigger the exe file on system resume: Quote Open Task Scheduler and click on “Create a Task” to create a new task. In the new panel which opens, fill the “General” tab to suit your needs. Next, switch to the “Triggers” tab and choose “New”. Another Panel will open. At the top of this Panel, choose “On an event” from the drop-down menu. Then choose “Custom” under Settings, and hit “New Event Filter”. Create a “Custom Event Filter” with: Event Level: Information Tick the radio button: "by source" Source: Power-Troubleshooter Event ID: 1 Source: https://sumtips.com/how-to/run-program-windows-wakes-up-sleep-hibernate/ Link to comment Share on other sites More sharing options...
kuit Posted June 18, 2023 Share Posted June 18, 2023 Typo in the previous post and I can't edit it: it's possible to fetch the windows even registryit's possible to fetch the windows *event* registry Link to comment Share on other sites More sharing options...
20Ice18 Posted June 19, 2023 Share Posted June 19, 2023 (edited) I might be wrong but there is a .dll for it <AutoItX3.dll> example: #include <AutoItX3.dll> ; Initialize AutoIt _AutoItX_Startup() ; Create a scheduled task to run the program after wakeup $sTaskName = "RunAfterWake" $sProgramPath = "C:\Path\To\Your\Program.exe" ; Set the trigger for the task (on computer wake) $sTrigger = '<QueryList><Query Id="0" Path="System"><Select Path="System">*[System[(EventID=1)]]</Select></Query></QueryList>' ; Set the action to run the program $sAction = 'cmd /c "' & $sProgramPath & '"' ; Create the scheduled task $nTaskCreated = _AutoItX_ScheduledTaskCreate($sTaskName, $sTrigger, $sAction) ; Check if the task was created successfully If $nTaskCreated = 0 Then MsgBox(16, "Error", "Failed to create scheduled task.") ElseIf $nTaskCreated = 1 Then MsgBox(64, "Success", "Scheduled task created successfully.") EndIf ; Shutdown AutoIt _AutoItX_Shutdown() let me know if it worked Edited June 19, 2023 by 20Ice18 ❤️ Link to comment Share on other sites More sharing options...
water Posted June 19, 2023 Share Posted June 19, 2023 This thread is more than 16 years old. A lot has changed in AutoIt since. So I suggest to create a new thread. @20Ice18 "AutoItX is a DLL version of AutoIt v3 that provides a subset of the features of AutoIt via an ActiveX/COM and DLL interface. This means that you can add AutoIt-like features to your favourite scripting and programming languages, e.g. VB, VBScript, Delphi, C, C++, Kixtart, and most other languages that support the use of DLLs." I do not see the need to use AutoItX here. Did you try to run your example? It returns a lot of errors. Example scripts posted here should at least pass the syntax check! My UDFs and Tutorials: Spoiler UDFs: Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs: Excel - Example Scripts - Wiki Word - Wiki Tutorials: ADO - Wiki WebDriver - Wiki Link to comment Share on other sites More sharing options...
20Ice18 Posted June 19, 2023 Share Posted June 19, 2023 Apologies I didn't realize. Just thought I know the answer. ❤️ Link to comment Share on other sites More sharing options...
sylremo Posted June 19, 2023 Share Posted June 19, 2023 (edited) 1 hour ago, 20Ice18 said: I might be wrong but there is a .dll for it <AutoItX3.dll> example: #include <AutoItX3.dll> ; Initialize AutoIt _AutoItX_Startup() ; Create a scheduled task to run the program after wakeup $sTaskName = "RunAfterWake" $sProgramPath = "C:\Path\To\Your\Program.exe" ; Set the trigger for the task (on computer wake) $sTrigger = '<QueryList><Query Id="0" Path="System"><Select Path="System">*[System[(EventID=1)]]</Select></Query></QueryList>' ; Set the action to run the program $sAction = 'cmd /c "' & $sProgramPath & '"' ; Create the scheduled task $nTaskCreated = _AutoItX_ScheduledTaskCreate($sTaskName, $sTrigger, $sAction) ; Check if the task was created successfully If $nTaskCreated = 0 Then MsgBox(16, "Error", "Failed to create scheduled task.") ElseIf $nTaskCreated = 1 Then MsgBox(64, "Success", "Scheduled task created successfully.") EndIf ; Shutdown AutoIt _AutoItX_Shutdown() let me know if it worked My first time I'm seeing that it is possible to #include a DLL file directly in a script 👀. This code looks like it's generated by an AI with hallucinated context and you made it worse by just straight copy-paste it as a solution to others. Edited June 19, 2023 by sylremo 20Ice18 1 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