-
Posts
26 -
Joined
-
Last visited
Everything posted by hunte922
-
Edit: The solution! Maybe? I need to download an image from a website using AutoIt but the download, when viewed in a text editor, does not appear to be the same as if I had downloaded it from a web browser. Could anyone help me figure out why this is happening? I've already tried _INetGetSource, InetGet, _IENavigate, wget, this, and a few .bat and .vbs scripts. Example Code: #include <Inet.au3> Local $source = _INetGetSource("http://c0.rbxcdn.com/0db36a45eae4838667ae9a46ba0c082a") Local $newfile = FileOpen(@ScriptDir & "\test.txt", 2) FileWrite($newfile, $source) FileClose($newfile) Image URL: http://c0.rbxcdn.com/0db36a45eae4838667ae9a46ba0c082a Screenshot attached.
-
I got it to work. Finally. It's 3 AM. I made the change from XLS to XLSX which brought some extra, frustrating problems related to cell writing. I also had to install the 32-bit version of Microsoft Access Database Engine 2010 (I originally had the 64-bit version). Here's what I've done: #include <ADO_CONSTANTS.au3> $oMyError = ObjEvent("AutoIt.Error","MyErrFunc") Func MyErrFunc() Msgbox(0,"AutoItCOM Test","We intercepted a COM Error !" & @CRLF & @CRLF & _ "err.description is: " & @TAB & $oMyError.description & @CRLF & _ "err.windescription:" & @TAB & $oMyError.windescription & @CRLF & _ "err.number is: " & @TAB & hex($oMyError.number,8) & @CRLF & _ "err.lastdllerror is: " & @TAB & $oMyError.lastdllerror & @CRLF & _ "err.scriptline is: " & @TAB & $oMyError.scriptline & @CRLF & _ "err.source is: " & @TAB & $oMyError.source & @CRLF & _ "err.helpfile is: " & @TAB & $oMyError.helpfile & @CRLF & _ "err.helpcontext is: " & @TAB & $oMyError.helpcontext _ ) Endfunc Func _ADOExcel_Open($sFileName, $readonly = "True") Global $ADO_Connection = ObjCreate("ADODB.Connection") Local $ADO_ConnectionString = 'Provider=Microsoft.ACE.OLEDB.12.0;Data Source=' & $sFilename & ';Extended Properties="Excel 12.0;HDR=NO;IMEX=0;ReadOnly=' & $readonly & '"' $ADO_Connection.Open($ADO_ConnectionString) EndFunc Func _ADOExcel_SheetRead() Local $ADO_Recordset = ObjCreate("ADODB.Recordset") Local $ADO_SQL_Query = "Select * FROM [Sheet1$]" $ADO_Recordset.Open($ADO_SQL_Query, $ADO_Connection, $ADO_adOpenForwardOnly, $ADO_adLockReadOnly, $ADO_adCmdTableDirect) Local $aArray = $ADO_Recordset.GetRows $ADO_Recordset.Close Return $aArray EndFunc Func _ADOExcel_CellRead($col, $row) Local $ADO_Recordset = ObjCreate("ADODB.Recordset") Local $ADO_SQL_Query = "Select * FROM [Sheet1$]" $ADO_Recordset.Open($ADO_SQL_Query, $ADO_Connection, $ADO_adOpenForwardOnly, $ADO_adLockReadOnly, $ADO_adCmdTableDirect) Local $aArray = $ADO_Recordset.GetRows $ADO_Recordset.Close Return $aArray[$row - 1][$col] EndFunc Func _ADOExcel_CellWrite($col, $row, $value = "") Local $ADO_Recordset = ObjCreate("ADODB.Recordset") Local $ADO_SQL_Query = "Select * FROM [Sheet1$]" $ADO_Recordset.Open($ADO_SQL_Query, $ADO_Connection, $ADO_adOpenKeyset, $ADO_adLockOptimistic, $ADO_adCmdText) $ADO_Recordset.Move($row - 1) $ADO_Recordset.Update($col, $value) $ADO_Recordset.Close EndFunc Func _ADOExcel_Close() $ADO_Connection.Close $ADO_Connection = Null EndFunc
-
No need - I've already figured out how to get it to work. The only problem now is getting Microsoft Access Database Engine 2010 to process Excel files without having it installed. Do you think you know a quick fix? Func _ADOExcel_Open($sFileName, $readonly = "True") Global $ADO_Connection = ObjCreate("ADODB.Connection") Local $ADO_ConnectionString = 'Provider=Microsoft.ACE.OLEDB.12.0;Data Source=' & $sFilename & ';Extended Properties="Excel 8.0;HDR=No;ReadOnly=' & $readonly & '"' $ADO_Connection.Open($ADO_ConnectionString) EndFunc
-
I'm getting this error when I run the example, with or without $sFileFullPath defined: ############################### ADO.au3 v.2.1.13 BETA (1155) : ==> COM Error intercepted ! $oADO_Error.description is: The Microsoft Jet database engine could not find the object 'Sheet1$'. Make sure the object exists and that you spell its name and the path name correctly. $oADO_Error.windescription: Exception occurred. $oADO_Error.number is: 80020009 $oADO_Error.lastdllerror is: 0 $oADO_Error.scriptline is: 1155 $oADO_Error.source is: Microsoft JET Database Engine $oADO_Error.helpfile is: $oADO_Error.helpcontext is: 5003011 ###############################
-
I am using an Excel file as a database for a point of sales system. I only need to view the database using Office on one computer. All others only need to read/write to the file. Is there a way to read and write to XLS or XLSM files without installing Office? Changing the file type is okay as long as it can be opened in Excel and has all the same features as an XLS or XLSM file. Thanks in advance. Hunter Edit: Solution found
-
Simulating Mouse Events for On-Screen Keyboard?
hunte922 replied to hunte922's topic in AutoIt General Help and Support
Since Windows 10 removes the keypad in MuffinMan's solution, it looks like I'll have to make a keypad that is integrated into my entire script (if I still won't be able to simulate mouse events on the OSK correctly.) The script you posted won't work due to how it's constructed and can't easily be incorporated into my own. -
Ejecting USB Device used by AutoIT app
hunte922 replied to OhBobSaget's topic in AutoIt General Help and Support
Close any files opened by your script with FileClose. -
Simulating Mouse Events for On-Screen Keyboard?
hunte922 replied to hunte922's topic in AutoIt General Help and Support
Unfortunately, that's not the view I was hoping for. That changes the entire layout of the keyboard instead of switching to the numberpad. My preferred effect happens when pressing the bottom-left button entitled "&123". Edit: I tried changing it anyway during script use, and none of these combinations actually work (#RequireAdmin is enabled:) Func KB($offon, $numberpad) Sleep(1) Local $kbf = _WinAPI_FindWindow("IPTip_Main_Window", "") Local $state = False If $kbf <> 0 And (WinGetState($kbf) = 7 Or WinGetState($kbf) = 15) Then $state = True EndIf If $state <> $offon Then If $offon Then Local $dw = 0x00000000 If $numberpad Then $dw = 0x00000001 EndIf RegWrite("HKEY_CURRENT_USER\Software\Microsoft\TabletTip\1.7", "KeyboardLayoutPreference", "REG_DWORD", $dw) RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\TouchKeyboard\Users\" & _GetSID(), "KeyboardLayoutPreference", "REG_DWORD", $dw) RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\TouchKeyboard\Users\" & _GetSID(), "KeyboardLayoutPreference", "REG_DWORD", $dw) RegWrite("HKEY_USERS\" & _GetSID() & "\Software\Microsoft\TabletTip\1.7", "KeyboardLayoutPreference", "REG_DWORD", $dw) ;MsgBox(0,"",RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\TouchKeyboard\Users\" & _GetSID(), "KeyboardLayoutPreference")) EndIf ControlClick("[CLASS:Shell_TrayWnd]", "", "TIPBand") EndIf EndFunc Func _GetSID($sComputerName = @ComputerName, $sUsername = @UserName) Local $oWMIService = ObjGet("winmgmts:{impersonationLevel=impersonate}!//" & $sComputerName & "/root/cimv2") Local $oColItems = $oWMIService.ExecQuery("Select * From Win32_UserAccount") If IsObj($oColItems) Then For $oObjectItem In $oColItems If $sUsername = $oObjectItem.Name Then Return $oObjectItem.SID EndIf Next EndIf Return SetError(1, 0, 0) EndFunc Edit 2: The below script works. Although it's not what I originally wanted, it will suffice (albeit with a longer delay than the last script.) Func KB($offon, $numberpad) Sleep(1) Local $kbf = _WinAPI_FindWindow("IPTip_Main_Window", "") Local $state = False If $kbf <> 0 And (WinGetState($kbf) = 7 Or WinGetState($kbf) = 15) Then $state = True EndIf If $state <> $offon Then If $offon Then Local $dw = 0x00000000 If $numberpad Then $dw = 0x00000001 EndIf RegWrite("HKEY_CURRENT_USER\Software\Microsoft\TabletTip\1.7", "KeyboardLayoutPreference", "REG_DWORD", $dw) ShellExecute("C:\Program Files\Common Files\microsoft shared\ink\TabTip.exe", "", "C:\Program Files\Common Files\microsoft shared\ink") ProcessWait("TabTip.exe") Else ProcessClose("TabTip.exe") ProcessWaitClose("TabTip.exe") EndIf EndIf EndFuncBut my question still stands, and I still heavily prefer to switch to the other numberpad due to the clear, large buttons. -
Simulating Mouse Events for On-Screen Keyboard?
hunte922 replied to hunte922's topic in AutoIt General Help and Support
I'm only trying to open it and then switch it to the numberpad; nothing else automated. From thereon is user input. -
Simulating Mouse Events for On-Screen Keyboard?
hunte922 replied to hunte922's topic in AutoIt General Help and Support
I'm using a touch device with no keyboard. I might be able to download/create a third-party OSK, but the risk (reliability) vs reward (auto switch to numberpad) isn't that great. -
Simulating Mouse Events for On-Screen Keyboard?
hunte922 replied to hunte922's topic in AutoIt General Help and Support
I am trying to switch to the numberpad whenever the OSK is opened: Func KB($offon, $numberpad) Sleep(1) Local $kbf = _WinAPI_FindWindow("IPTip_Main_Window", "") Local $state = False If $kbf <> 0 And (WinGetState($kbf) = 7 Or WinGetState($kbf) = 15) Then $state = True EndIf If $state <> $offon Then ControlClick("[CLASS:Shell_TrayWnd]", "", "TIPBand") If $offon And $numberpad And $kbf <> 0 Then Local $wPos = WinGetPos($kbf, "") Local $ps = PixelSearch(0, Abs($wPos[3]), Abs($wPos[0]/2), Abs($wPos[3]/2), 0x1D1C21, 0, 5, $kbf);Searches for the bottom-left button, I couldn't get its position directly If @error = 0 Then ;??? EndIf EndIf EndIf EndFunc -
Hi all, How can I simulate mouse events such as clicking in the OSK in Windows 8.1? I've tried ControlClick, SendInput, and other DLLCalls regarding mouse_event. None of them work. >>>> Window <<<< Title: Class: IPTip_Main_Window Position: 489, 809 Size: 941, 271 Style: 0x94000000 ExStyle: 0x08000088 Handle: 0x0000000000570C26 >>>> Control <<<< Class: DirectUIHWND Instance: 0 ClassnameNN: DirectUIHWND0 Name: Advanced (Class): [CLASS:DirectUIHWND; INSTANCE:0] ID: Text: Position: 0, 0 Size: 941, 271 ControlClick Coords: 45, 235 Style: 0x56000000 ExStyle: 0x00000020 Handle: 0x00000000002608EC(Attached is an image of the On-Screen Keyboard in question.) onscreen-keyboard.bmp
-
I need to find out what computers are connected to my HomeGroup using a script. I've already tried using FileExists("\\COMPUTER\Users")but it appears that it still returns true if COMPUTER becomes disconnected from the HomeGroup. Additionally, FileExists("HomeGroup\Server\SERVER\Documents")and FileExists("::{########-####-####-####-############}\Server\SERVER\Documents.library-ms")do not return at all. Can someone help?
-
I'm using this for a receipt printer, and it cuts off prints exceeding ~2000 pixels in height. Is there any way I can remove this restriction?
-
This might not be possible, and I can understand if it isn't possible, but if it is, could someone tell me how to find 2 (or more) query strings for this url that are unknown? Example: &type=string&key=ThisIsMyString (these are guesses that did not work) If this ends up being possible using something other than brute force guessing, I'd be a really happy camper. If this ends up not being possible without brute force guessing, I can handle the scripting. Thanks. Note: if the url returns a blank page with some added query strings, that's good. "Bad Request" is not, and it means one of the added query strings (except for the first two) are incorrect. This thread is no longer needing to be solved.
-
Having an issue with variables in a script.
hunte922 replied to teksupsm's topic in AutoIt General Help and Support
By the looks of it, you're missing a quotation at the end of Global $dns1 = "dnsserver1.local -
I'm using some code that adds string to the end of a larger string $text, and repeats doing so until a file has been completely scanned. My dillema is that after the string $text reaches 200,000, the script becomes extremely slow. What is the best way to go about speeding up this script? (This file needs to be in the script directory, and SCP-173.txt can go anywhere.) (Click on Mesh Convert, select the file you've downloaded called "SCP-173.txt", and go with the default options in the next 4 prompts) #include <ButtonConstants.au3> #include <File.au3> #include <FileConstants.au3> #include <GUIConstantsEx.au3> #include <InetConstants.au3> #include <StaticConstants.au3> #include <WindowsConstants.au3> #include <WinHttp.au3> #include <WinHttpConstants.au3> AutoItSetOption("GUICloseOnESC", 0) AutoItSetOption("GUIOnEventMode", 1) AutoItSetOption("TrayAutoPause", 0) AutoItSetOption("TrayIconHide", 1) Global $title = "RBXMC" $Form1 = GUICreate($title, 380, 50) GUISetBkColor(0xFFFFFF, $Form1) $DownloadAsset = GUICtrlCreateButton("Download Asset", 0, 0, 95, 25) GUICtrlSetOnEvent($DownloadAsset, "DownloadAsset") $B64D = GUICtrlCreateButton("B64D", 95, 0, 47, 25) GUICtrlSetOnEvent($B64D, "B64D") $B64E = GUICtrlCreateButton("B64E", 142, 0, 47, 25) GUICtrlSetOnEvent($B64E, "B64E") $MC = GUICtrlCreateButton("Mesh Convert", 0, 25, 190, 25) GUICtrlSetOnEvent($MC, "MC") $progress = GUICtrlCreateProgress(191, 26, 188, 23) $plabel = GUICtrlCreateLabel("0/0", 190, 0, 190, 25) GUICtrlSetFont($plabel, 18) GUICtrlSetStyle($plabel, $SS_RIGHT) GUISetOnEvent($GUI_EVENT_CLOSE, "_exit") GuiSetState() Func DownloadAsset() Local $inpt = InputBox($title, "Please enter in the asset ID you wish to download.", "0", " M", -1 , -1, Default, Default, 0, $Form1) If Not @error Then Local $sFilePath = FileSaveDialog($title, @UserProfileDir, "All (*.*)", 3, $title & " Downloaded Asset.txt", $Form1) If Not @error Then HttpSetUserAgent("Roblox/WinInet") Local $hDownload = InetGet("http://www.roblox.com/asset/?id=" & $inpt, $sFilePath, $INET_FORCERELOAD, $INET_DOWNLOADBACKGROUND) Do Sleep(250) Until InetGetInfo($hDownload, $INET_DOWNLOADCOMPLETE) Local $iBytesSize = InetGetInfo($hDownload, $INET_DOWNLOADREAD) Local $iFileSize = FileGetSize($sFilePath) If $iBytesSize <= 0 Then MsgBox(262144+0, $title, "Failed to download asset.", 0, $Form1) Else ShellExecute($sFilePath) EndIf HttpSetUserAgent("") EndIf EndIf EndFunc Func B64D() Local $inpt = FileOpenDialog($title, @UserProfileDir, "Base64 encoded files (*.txt)|All (*.*)", 3, "", $Form1) If Not @error Then Local $sFilePath = FileSaveDialog($title, @UserProfileDir, "Base64 decoded files (*.txt)|All (*.*)", 3, $title & " Base64 Decoded File.txt", $Form1) If Not @error Then Local $sFileRead = FileRead($inpt) Local $text = _Base64Decode($sFileRead) Local $file = _FileCreate($sFilePath) Local $fileo = FileOpen($sFilePath, $FO_OVERWRITE) FileWrite($fileo, $text) FileClose($fileo) If Not @error Then MsgBox(262144+0, $title, "Successfully decoded file.", 0, $Form1) ShellExecute($sFilePath) Else MsgBox(262144+0, $title, "Failed to decode file.", 0, $Form1) EndIf EndIf EndIf EndFunc Func B64E() Local $inpt = FileOpenDialog($title, @UserProfileDir, "Base64 decoded files (*.txt)|All (*.*)", 3, "", $Form1) If Not @error Then Local $sFilePath = FileSaveDialog($title, @UserProfileDir, "Base64 encoded files (*.txt)|All (*.*)", 3, $title & " Base64 Encoded File.txt", $Form1) If Not @error Then Local $sFileRead = FileRead($inpt) Local $text = _Base64Encode($sFileRead) Local $file = _FileCreate($sFilePath) Local $fileo = FileOpen($sFilePath, $FO_OVERWRITE) FileWrite($fileo, $text) FileClose($fileo) If Not @error Then MsgBox(262144+0, $title, "Successfully encoded file.", 0, $Form1) ShellExecute($sFilePath) Else MsgBox(262144+0, $title, "Failed to encode file.", 0, $Form1) EndIf EndIf EndIf EndFunc Func MC() Local $inpt = FileOpenDialog($title, @UserProfileDir, "Roblox Mesh (*.txt;*.mesh)|All (*.*)", 3, "", $Form1) If Not @error Then Local $sFilePath = FileSaveDialog($title, @UserProfileDir, "Roblox Model Files (*.rbxm)|All (*.*)", 3, $title & " Converted Mesh.rbxm", $Form1) If Not @error Then Local $decalstipend = "0" Local $scale[4] $scale[1] = 1 $scale[2] = 1 $scale[3] = 1 Local $offset[4] $offset[1] = 0 $offset[2] = 0 $offset[3] = 0 Local $v0 = InputBox($title, "Please enter in the asset ID you wish texture your mesh.", "0", " M", -1 , -1, Default, Default, 0, $Form1) Local $v1 = InputBox($title, "Please enter in the Vector3 you wish to scale your mesh. (X,Y,Z)", "1,1,1", " M", -1 , -1, Default, Default, 0, $Form1) Local $v2 = InputBox($title, "Please enter in the Vector3 you wish to offset your mesh. (X,Y,Z)", "0,0,0", " M", -1 , -1, Default, Default, 0, $Form1) If $v0 And $v0 <> "0" Then $decalstipend = "http://www.roblox.com/asset/?id=" & $v0 EndIf If $v1 And $v1 <> "1,1,1" Then Local $na = StringSplit(StringReplace($v1, " ", ""), ",") $scale[1] = $na[1] $scale[2] = $na[2] $scale[3] = $na[3] EndIf If $v2 And $v2 <> "0,0,0" Then Local $na = StringSplit(StringReplace($v2, " ", ""), ",") $offset[1] = $na[1] $offset[2] = $na[2] $offset[3] = $na[3] EndIf GUICtrlSetState($DownloadAsset, $GUI_DISABLE) GUICtrlSetState($B64D, $GUI_DISABLE) GUICtrlSetState($B64E, $GUI_DISABLE) GUICtrlSetState($MC, $GUI_DISABLE) Local $sFileRead = FileRead($inpt) Local $temp = StringSplit(FileRead(@ScriptDir & "\MeshTemplate.rbxm"), "#") Local $flen = StringLen($sFileRead) Local $limiter = 1 Local $text = "1:" Local $order = ":" Local $verticy = 0 Local $connector = 0 Local $vproperty = 0 While 1 Local $lbfind = StringInStr($sFileRead, "[", 0, $limiter) Local $rbfind = StringInStr($sFileRead, "]", 0, $limiter) GUICtrlSetData($progress, ($rbfind/$flen)*100) GUICtrlSetData($plabel, String($flen-$rbfind) & "/" & String($flen)) $limiter = $limiter + 1 If $lbfind Then $vproperty = $vproperty + 1 If $vproperty > 3 Then $vproperty = 1 $verticy = $verticy + 1 $connector = $connector + 1 If $verticy > 3 Then $verticy = 1 EndIf EndIf If $vproperty = 1 Then Local $nums = StringSplit(StringReplace(StringTrimLeft(StringLeft($sFileRead, $rbfind - 1), $lbfind), " ", ""), ",") $text = $text & String((Number($nums[1])*$scale[1])+$offset[1]) & "," & String((Number($nums[2])*$scale[2])+$offset[2]) & "," & String((Number($nums[3])*$scale[3])+$offset[3]) & "|#1|255,255,255,255|0,0,0,0|#2|0,0|0,0|" ;$text = $text & StringReplace(StringTrimLeft(StringLeft($sFileRead, $rbfind - 1), $lbfind), " ", "") & "|#1|255,255,255,255|0,0,0,0|#2|0,0|0,0|" ElseIf $vproperty = 2 Then $text = $text & StringReplace(StringTrimLeft(StringLeft($sFileRead, $rbfind - 1), $lbfind), " ", "") & "|0,0,0,0|" $text = StringReplace($text, "#1", StringReplace(StringTrimLeft(StringLeft($sFileRead, $rbfind - 1), $lbfind), " ", "")) ElseIf $vproperty = 3 Then Local $nums = StringSplit(StringReplace(StringTrimRight(StringTrimLeft(StringLeft($sFileRead, $rbfind - 1), $lbfind), 3), " ", ""), ",") $text = StringReplace($text, "#2", String(Number($nums[1])) & "," & String(1-Number($nums[2]))) & ";" $order = $order & String($connector) & ";" EndIf ;MsgBox(0, "", $text & $order) Else ExitLoop EndIf _ReduceMemory() WEnd GUICtrlSetData($progress, 100) $text = $temp[1] & _Base64Encode($text & $order) & $temp[2] & $decalstipend & $temp[3] Local $file = _FileCreate($sFilePath) Local $fileo = FileOpen($sFilePath, $FO_OVERWRITE) FileWrite($fileo, $text) FileClose($fileo) If Not @error Then MsgBox(262144+0, $title, "Successfully converted file.", 0, $Form1) Else MsgBox(262144+0, $title, "Failed to convert file.", 0, $Form1) EndIf GUICtrlSetData($progress, 0) GUICtrlSetData($plabel, "0/0") GUICtrlSetState($DownloadAsset, $GUI_ENABLE) GUICtrlSetState($B64D, $GUI_ENABLE) GUICtrlSetState($B64E, $GUI_ENABLE) GUICtrlSetState($MC, $GUI_ENABLE) EndIf EndIf EndFunc Func _Base64Decode($sData) Local $oXml = ObjCreate("Msxml2.DOMDocument") If Not IsObj($oXml) Then SetError(1, 1, 0) EndIf Local $oElement = $oXml.createElement("b64") If Not IsObj($oElement) Then SetError(2, 2, 0) EndIf $oElement.dataType = "bin.base64" $oElement.Text = $sData Local $sReturn = BinaryToString($oElement.nodeTypedValue, 4) If StringLen($sReturn) = 0 Then SetError(3, 3, 0) EndIf Return $sReturn EndFunc Func _Base64Encode($sData) Local $oXml = ObjCreate("Msxml2.DOMDocument") If Not IsObj($oXml) Then SetError(1, 1, 0) EndIf Local $oElement = $oXml.createElement("b64") If Not IsObj($oElement) Then SetError(2, 2, 0) EndIf $oElement.dataType = "bin.base64" $oElement.nodeTypedValue = Binary($sData) Local $sReturn = $oElement.Text If StringLen($sReturn) = 0 Then SetError(3, 3, 0) EndIf Return $sReturn EndFunc Func _ReduceMemory($i_PID = -1) If $i_PID <> -1 Then Local $ai_Handle = DllCall("kernel32.dll", 'int', 'OpenProcess', 'int', 0x1f0fff, 'int', False, 'int', $i_PID) $ai_Return = DllCall("psapi.dll", 'int', 'EmptyWorkingSet', 'long', $ai_Handle[0]) DllCall('kernel32.dll', 'int', 'CloseHandle', 'int', $ai_Handle[0]) Else $ai_Return = DllCall("psapi.dll", 'int', 'EmptyWorkingSet', 'long', -1) EndIf Return $ai_Return[0] EndFunc ;==>_ReduceMemory Func _exit() Exit EndFunc While 1 WEnd
-
The key I've entered is the one I got. I can't figure out why it's invalid.