Leaderboard
Popular Content
Showing content with the highest reputation on 01/15/2015 in all areas
-
Global Pause, and general pause functions.
guestscripter reacted to JohnOne for a topic
I've made a makeshift universal pause function hack, which works by an external script controlling AutoIt's tray pause capability. Here's how it works,,, You Include the GlobalPause.au3 in your script, when you do that and run your script, it writes Pause.au3 to your script folder. Pause.au3 is the binary string which you see in GlobalPause.au3, it's just much neater to write it this way, The actual code of Pause.au3 is below. Your script (shown below as TestingPause.au3) needs everything you see in it except the Sleep and ConsoleWrite which is just there for demonstration purposes. It's pretty self explanatory really, you hit pause key and it should pause your script immediately, you press it again and it will resume it as though you hit the pause button in the system tray. That is all it is, automating that button and a bit of logic, the reason is just convenience and I've seen many people wanting a boil in the bag pause function. Most of the automation code comes from M32 / rover in >this post, or one similar to it (cannot quite remember, I found a few), with a few adjustments. Here is the setback, your script's system tray icon must be visible in the tray and not hidden, I simply cannot find a way to automate the hidden ones. You can make it stay there by using the customize icon link in the hidden tray. The Code The Include: GlobalPause.au3 The test script: TestingPause.au3 The code which the included binary resolves to: Pause.au3 It's trivial to get all this working with your compiled scripts, or have the Pause.au3 compiled, in fact that's how I started it, but then thought about non compiled scripts and changed it. Probably mostly just help noob botters, but I hope someone at least gets some use from it, basically just saves you writing your embedded pause function. And this probably won't even work on a machine other than my own. EDIT: This thread now includes other more general Pause implementations. >General pause function for hot key. >General pause function for gui button. >Classic MsgBox pause. >Pause via Tray Menu. Please feel free to add any other pause implementations. The Zip for global pause: GlobalPause.zip1 point -
I am trying to serialize all the autoit variable by >msgpack, so that I can used it in ZeroRPC (language-agnostic remote procedure call over internet). Int, string, binary are easy, but DllStruct is not. Before variable serialization become build-in function (I hope so), I have to find out my own way. Here is my attempt to guess the setup string. I am not sure did I deal with all the align and struct/endstruct correctly, please let me know if there is any bug. The output may not be the same with the original string, it is not bug. Test() Func Test() Local $Struct $Struct = DllStructCreate("align 2;byte;ptr[2]") ConsoleWrite(DLLStructAnalyze($Struct) & @LF) ; Output: byte;align 2;ptr[2] $Struct = DllStructCreate("int;struct;struct;uint64;uint;byte[5];endstruct;byte;endstruct;byte") ConsoleWrite(DLLStructAnalyze($Struct) & @LF) ; Output: int;struct;struct;uint64;uint;byte[5];endstruct;byte;endstruct;byte $Struct = DllStructCreate("int;uint64;struct;struct;uint;byte[5];endstruct;byte;endstruct;byte") ConsoleWrite(DLLStructAnalyze($Struct) & @LF) ; Output: int;uint64;struct;struct;uint;byte[5];endstruct;byte;endstruct;byte EndFunc1 point
-
Hi all. I have seen a number of requests for something like this in the Help and Support section so I thought I would post it. All the credit goes to SmOke_N - I just touched it up. This script was created when trying to get a ControlHandle that has next to no information displayed in the AutoIT Info Tool. ; =============================================================================== ;~ This script gets the control under the mouse pointer (active or inactive) ;~ The information then can be used with in conjunction with control functions. ;~ Requires AutoIt v3.3.6.0 or later to run and to view apps maximized. ;~ Big thanks to SmOke_N and Valik their help in creating it. ; =============================================================================== #include <WinAPI.au3> #include <Array.au3> #include <WindowsConstants.au3> AutoItSetOption("MustDeclareVars", 1) AutoItSetOption("MouseCoordMode", 1) AdlibRegister("_Mouse_Control_GetInfoAdlib", 10) HotKeySet("^!x", "MyExit") ; Press Ctrl+Alt+x to stop the script ;~ #AutoIt3Wrapper_run_debug_mode=Y Global $pos1 = MouseGetPos() Global $pos2 = MouseGetPos() ; must be initialized Global $appHandle = 0 While 1 Sleep(0xFFFFFFF) WEnd ; =============================================================================== ;~ Retrieves the information of a Control located under the mouse and displayes it in a tool tip next to the mouse. ;~ Function uesd ;~ _Mouse_Control_GetInfo() ;~ GetDlgCtrlID ; =============================================================================== Func _Mouse_Control_GetInfoAdlib() $pos1 = MouseGetPos() If $pos1[0] <> $pos2[0] Or $pos1[1] <> $pos2[1] Then ; has the mouse moved? Local $a_info = _Mouse_Control_GetInfo() Local $aDLL = DllCall('User32.dll', 'int', 'GetDlgCtrlID', 'hwnd', $a_info[0]) ; get the ID of the control If @error Then Return ToolTip("Handle = " & $a_info[0] & @CRLF & _ "Class = " & $a_info[1] & @CRLF & _ "ID = " & $aDLL[0] & @CRLF & _ "Mouse X Pos = " & $a_info[2] & @CRLF & _ "Mouse Y Pos = " & $a_info[3] & @CRLF & _ "ClassNN = " & $a_info[4] & @CRLF & _ ; optional "Parent Hwd = " & _WinAPI_GetAncestor($appHandle, $GA_ROOT)) $pos2 = MouseGetPos() EndIf EndFunc ;==>_Mouse_Control_GetInfoAdlib ; =============================================================================== ;~ Retrieves the information of a Control located under the mouse. ;~ Uses Windows functions WindowFromPoint and GetClassName to retrieve the information. ;~ Functions used ;~ _GetHoveredHwnd() ;~ _ControlGetClassnameNN() ;~ Returns ;~ [0] = Control Handle of the control ;~ [1] = The Class Name of the control ;~ [2] = Mouse X Pos (converted to Screen Coord) ;~ [3] = Mouse Y Pos (converted to Screen Coord) ;~ [4] = ClassNN ; =============================================================================== Func _Mouse_Control_GetInfo() Local $client_mpos = $pos1 ; gets client coords because of "MouseCoordMode" = 2 Local $a_mpos ;~ Call to removed due to offset issue $a_mpos = _ClientToScreen($appHandle, $client_mpos[0], $client_mpos[1]) ; $a_mpos now screen coords $a_mpos = $client_mpos $appHandle = GetHoveredHwnd($client_mpos[0], $client_mpos[1]) ; Uses the mouse to do the equivalent of WinGetHandle() If @error Then Return SetError(1, 0, 0) Local $a_wfp = DllCall("user32.dll", "hwnd", "WindowFromPoint", "long", $a_mpos[0], "long", $a_mpos[1]) ; gets the control handle If @error Then Return SetError(2, 0, 0) Local $t_class = DllStructCreate("char[260]") DllCall("User32.dll", "int", "GetClassName", "hwnd", $a_wfp[0], "ptr", DllStructGetPtr($t_class), "int", 260) Local $a_ret[5] = [$a_wfp[0], DllStructGetData($t_class, 1), $a_mpos[0], $a_mpos[1], "none"] Local $sClassNN = _ControlGetClassnameNN($a_ret[0]) ; optional, will run faster without it $a_ret[4] = $sClassNN Return $a_ret EndFunc ;==>_Mouse_Control_GetInfo ; =============================================================================== ; Retrieves the Handle of GUI/Application the mouse is over. ; Similar to WinGetHandle except it used the current mouse position ; Taken from http://www.autoitscript.com/forum/index.php?showtopic=444962 ; Changed to take params to allow only one set of coords to be used. ; Params ;~ $i_xpos - x position of the mouse - usually from MouseGetPos(0) ;~ $i_ypos - x position of the mouse - usually from MouseGetPos(1) ; =============================================================================== Func GetHoveredHwnd($i_xpos, $i_ypos) Local $iRet = DllCall("user32.dll", "int", "WindowFromPoint", "long", $i_xpos, "long", $i_ypos) If IsArray($iRet) Then $appHandle = $iRet[0] Return HWnd($iRet[0]) Else Return SetError(1, 0, 0) EndIf EndFunc ;==>GetHoveredHwnd ; =============================================================================== ;~ Gets the ClassNN of a control (Classname and Instance Count). This is checked with ControlGetHandle ;~ The instance is really a way to uniquely identify classes with the same name ;~ Big thanks to Valik for writing the function, taken from - http://www.autoitscript.com/forum/index.php?showtopic=97662 ;~ Param ;~ $hControl - the control handle from which you want the ClassNN ;~ Returns ;~ the ClassNN of the given control ; =============================================================================== Func _ControlGetClassnameNN($hControl) If Not IsHWnd($hControl) Then Return SetError(1, 0, "") Local Const $hParent = _WinAPI_GetAncestor($appHandle, $GA_ROOT) ; get the Window handle, this is set in GetHoveredHwnd() If Not $hParent Then Return SetError(2, 0, "") Local Const $sList = WinGetClassList($hParent) ; list of every class in the Window Local $aList = StringSplit(StringTrimRight($sList, 1), @LF, 2) _ArraySort($aList) ; improves speed Local $nInstance, $sLastClass, $sComposite For $i = 0 To UBound($aList) - 1 If $sLastClass <> $aList[$i] Then ; set up the first occurrence of a unique classname $sLastClass = $aList[$i] $nInstance = 1 EndIf $sComposite = $sLastClass & $nInstance ;build the ClassNN for testing with ControlGetHandle. ClassNN = Class & ClassCount ;if ControlGetHandle(ClassNN) matches the given control return else look at the next instance of the classname If ControlGetHandle($hParent, "", $sComposite) = $hControl Then Return $sComposite EndIf $nInstance += 1 ; count the number of times the class name appears in the list Next Return SetError(3, 0, "") EndFunc ;==>_ControlGetClassnameNN Func MyExit() ; stops the script ConsoleWrite("Script Stoppted By User" & @CR) Exit EndFunc ;==>MyExit Edit: Sept 09 Enhancement by corgano Added ControlID Added ClassNN and now requires AutoIt v3.3.0.0 or later to run Removed _WinAPI_GetParent and added global $appHandle 06 Apr 10 Removed ClientToScreenCall Made _ControlGetClassnameNN apart of the script General Updates1 point
-
Never say I don't give this community some little gems once in a while. I came up with the concept of creating a directory structure using nothing but valid HTML5 and CSS3. It uses an unknown "checkbox hack" concept which some HTML5/CSS3 purists consider to be beyond the semantics of the language. But I say if it's supported by all major browsers and it works, then why not! Note: I used >KaFu's idea for the current level and next level, but the rest I came up with myself, albeit I have used this "checkbox hack" before in other projects I have created. #include <File.au3> #include <MsgBoxConstants.au3> #include <WinAPIFiles.au3> MsgBox($MB_SYSTEMMODAL, '', 'This example only uses HTML5 and CSS3, I know, no JavaScript!') ; Thanks to KaFu for the idea: http://www.autoitscript.com/forum/topic/156913-dir2html-create-html-site-with-links-from-a-dir-structure/?p=1136522 Example() Func Example() Local Const $sSaveFilePath = @ScriptDir Local $sHTML = '', $sTab = @TAB _HTML_Add($sHTML, '<!DOCTYPE html>') _HTML_Add($sHTML, '<html lang="en">') _HTML_Add($sHTML, '<head>') _HTML_Add($sHTML, '<meta charset="utf-8">', $sTab) _HTML_Add($sHTML, '<title>Directory To HTML5 Concept</title>', $sTab) _HTML_Add($sHTML, '<style type="text/css">', $sTab) _Tab_Add($sTab) _HTML_Add($sHTML, '@import url(http://weloveiconfonts.com/api/?family=fontawesome);.dirtohtml a{background:transparent;color:#08c;position:relative;text-decoration:none;-webkit-transition:all .3s ease-out;transition:all .3s ease-out}.dirtohtml a:hover{color:#0af}.dirtohtml input[type=checkbox],.dirtohtml input[type=checkbox]+ul{display:none}.dirtohtml input[type=checkbox]:checked+ul{display:block}.dirtohtml label{cursor:pointer}.dirtohtml ul li{list-style:none}[class*="fontawesome-"]:before{font-family:"FontAwesome",sans-serif;margin-right:5px}', $sTab) _Tab_Remove($sTab) _HTML_Add($sHTML, '</style>', $sTab) _Tab_Remove($sTab) _HTML_Add($sHTML, '</head>') _HTML_Add($sHTML, '<body>') _Tab_Add($sTab) Local Const $sDirectorySelection = FileSelectFolder('Select a folder to map to HTML', '') Local $aFileList = _FileListToArrayRec($sDirectorySelection, '*', 0, 1, 2, 2) If @error Then _HTML_Add($sHTML, '<p>No files were present in the selected directory.</p>', $sTab) Else _HTML_Add($sHTML, '<div class="dirtohtml">', $sTab) _Tab_Add($sTab) _HTML_Add($sHTML, '<ul>', $sTab) _Tab_Add($sTab) Local $bIsRelative = False, _ $iCheckboxCount = 1, $iCurrentLevel = 0, $iNestedDepth = 0, $iNextIndex = 0, $iNextLevel = 0, _ $sFileName = '', $sRelativeFilePath = '' For $i = 1 To $aFileList[0] $aFileList[$i] = StringRegExpReplace($aFileList[$i], '(?:\\|/)', '\\') $iCurrentLevel = @extended If $i < $aFileList[0] Then $iNextIndex = $i + 1 $aFileList[$iNextIndex] = StringRegExpReplace($aFileList[$iNextIndex], '(?:\\|/)', '\\') $iNextLevel = @extended EndIf $sFileName = StringRegExpReplace($aFileList[$i], '^.+\\', '') If _WinAPI_PathIsDirectory($aFileList[$i]) = $FILE_ATTRIBUTE_DIRECTORY Then If $iNextLevel > $iCurrentLevel Or $iNextLevel = $iCurrentLevel Then _HTML_Add($sHTML, '<li>', $sTab) _Tab_Add($sTab) _HTML_Add($sHTML, '<label for="dirtohtml_' & $iCheckboxCount & '"><i class="fontawesome-folder-close-alt"></i>' & $sFileName & '</label>', $sTab) _HTML_Add($sHTML, '<input id="dirtohtml_' & $iCheckboxCount & '" type="checkbox">', $sTab) _HTML_Add($sHTML, '<ul>', $sTab) $iCheckboxCount += 1 $iNestedDepth += 1 ElseIf $iNextLevel < $iCurrentLevel Then _HTML_Add($sHTML, '<li>' & $sFileName, $sTab) EndIf _Tab_Add($sTab) Else $sRelativeFilePath = _PathGetRelative($sSaveFilePath, $aFileList[$i]) $bIsRelative = Not @error _HTML_Add($sHTML, '<li><i class="fontawesome-file"></i><a href="' & ($bIsRelative ? '' : 'file://') & StringReplace($sRelativeFilePath, '\', '/') & '">' & $sFileName & '</a></li>', $sTab) If $iNextLevel < $iCurrentLevel Then For $j = 1 To ($iCurrentLevel - $iNextLevel) _Tab_Remove($sTab) _HTML_Add($sHTML, '</ul>', $sTab) _Tab_Remove($sTab) _HTML_Add($sHTML, '</li>', $sTab) $iNestedDepth -= 1 Next EndIf EndIf Next If $iNestedDepth Then For $j = 1 To $iNestedDepth _Tab_Remove($sTab) _HTML_Add($sHTML, '</ul>', $sTab) _Tab_Remove($sTab) _HTML_Add($sHTML, '</li>', $sTab) Next EndIf _Tab_Remove($sTab) _HTML_Add($sHTML, '</ul>', $sTab) _Tab_Remove($sTab) _HTML_Add($sHTML, '</div>', $sTab) EndIf _HTML_Add($sHTML, '</body>') _HTML_Add($sHTML, '</html>') Local Const $sHTMLFilePath = _WinAPI_PathRemoveBackslash($sSaveFilePath) & '\index.html' Local Const $hFileOpen = FileOpen($sHTMLFilePath, BitOR($FO_OVERWRITE, $FO_UTF8)) If $hFileOpen > -1 Then FileWrite($hFileOpen, $sHTML) FileClose($hFileOpen) MsgBox($MB_SYSTEMMODAL, '', 'HTML file created successfully.' & @CRLF & $sHTMLFilePath) Else MsgBox($MB_SYSTEMMODAL, '', 'An error occurred writing to the HTML file.') EndIf ConsoleWrite($sHTML & @CRLF) ; ShellExecute($sHTMLFilePath) Return True EndFunc ;==>Example Func _HTML_Add(ByRef $sHTML, $sData, $sTab = Default) $sHTML &= (($sTab = Default) ? '' : $sTab) & $sData & @CRLF EndFunc ;==>_HTML_Add Func _Tab_Add(ByRef $sTab) $sTab &= @TAB EndFunc ;==>_Tab_Add Func _Tab_Remove(ByRef $sTab) Local Static $TAB_LENGTH = StringLen(@TAB) $sTab = StringTrimRight($sTab, $TAB_LENGTH) EndFunc ;==>_Tab_Remove1 point
-
Simple Valuater... 8) FileRead() Stringreplace( $String, @CRLF, "+") Number($String) Tada!!! 8)1 point
-
AutoIt Sysinternal Tools Synchronizer v0.99.6 build 2020-09-23 beta
mesale0077 reacted to UEZ for a topic
Update to v0.98 build 2015-01-15 beta: some bug fixes added some more small features Br, UEZ1 point -
using sleep between functions
CemalSenturk reacted to jdelaney for a topic
Run this, and provide the output...also, do you know about runwait()? That waits for your script to complete. ConsoleWrite(@ScriptDir & @CRLF) _RunAU3("skalistir.au3") _RunAU3("spastrakuc.au3") _RunAU3("spastrabuy.au3") _RunAU3("spastraele.au3") Func _RunAU3($sFilePath, $sWorkingDir = "", $iShowFlag = @SW_SHOW, $iOptFlag = 0) ConsoleWrite(FileExists($sFilePath) & @TAB & '"' & @AutoItExe & '" /AutoIt3ExecuteScript "' & $sFilePath & '"' & @CRLF) $iReturn = Run('"' & @AutoItExe & '" /AutoIt3ExecuteScript "' & $sFilePath & '"', $sWorkingDir, $iShowFlag, $iOptFlag) Sleep(10000) Return $iReturn EndFunc1 point -
Thank you for doing so for me, as I will be using this quite a bit. I was keeping an excel spreadsheet, and was excited about the chat topic that you started. I got excited when I saw "When I get some time, I'll do it all properly and build a database as well." As I was about to start making one. Lo and behold you made one, thank you & my kindle thanks you as well!1 point
-
you have (at least) 2 ways to solve this issue: 1) modify all the occurences of the _iif function in the original udf by using the new ternary syntax or 2) just add a copy of the _iif function within your script (no need to modify the original udf in this way). have a look to >this link for this second option.1 point
-
faustf, Try replacing the _Iif line with this one: $k += ( ( ($C >= $FirstChar) And ($C <= $LastChar) ) ? ( $Widths[$C] ) : ( $MissingWidth) ) M231 point
-
Doesn't need updating (more or less I could find nothing that needed updating). Ran it through the Au3Stripper as well, no errors. Au3 Version: 3.3.12.0 Very nice, already added a couple into my list.1 point
-
TraySetToolTip override default
KaFu reacted to johnmcloud for a topic
I have found my answer. After hour of search for the solution, found on the russian autoit forum ( of 2012 thread ) but the same answer was on THIS forum from a thread of 2008 by Jos, is soo damn easy: _TraySetNoToolTip() While 1 Sleep(100) WEnd Func _TraySetNoToolTip() Return TraySetToolTip(Chr(0)) EndFunc Is not the case to add it in the Help? https://www.autoitscript.com/autoit3/docs/functions/TraySetToolTip.htm Thanks to all1 point -
; Maybe ; (?i)Utilizzo: ([^\r\n]*)1 point
-
1 point
-
switch to native autoit scripts and drop selenium use ie.au3 and iuiautomation (and chrome.udf and ff.au3 and Java Accessibility) In the end you can do more with AutoIT and its udf's1 point
-
A few simple BitBlt effects (melt your screen etc.)
argumentum reacted to minxomat for a topic
As it says on the box (in the title). Choose the effect by changing the effect number. Disable Blt acceleration if needed. 3d.au31 point -
A few simple BitBlt effects (melt your screen etc.)
mesale0077 reacted to UEZ for a topic
I modified the code a little bit to get a triggering on 11 - Crazy SmOke_N effect: #include <ScreenCapture.au3> _GDIPlus_Startup() ; Animation from 0 to 21 Local $iAnimation = 11 ; ATTENTION! ; This enables GDI acceleration. Disable this if the script does Not ; run as expected (i.e. too slow) Local $bAndyMode = True ; m1, m2, k1, k2, z1, z2 Local $aAnimations[23][6] = [ _ [2, 2, 128, 128, 1, 1], _ ; 0 - Melt (Good) [20, 20, 128, 128, 1, 1], _ ; 1 - Powder Blow [9, 9, 128, 128, 1, 1], _ ; 2 - Powder [0, 0, 128, 128, 1, 1], _ ; 3 - Evaporate [3, 3, 128, 128, 1, 1], _ ; 4 - Water Color [5, 5, 128, 128, 1, 1], _ ; 5 - Accumulate [10000, 10000, 128, 128, 1, 1], _ ; 6 - Checks [1000, 1000, 128, 128, 1, 1], _ ; 7 - Extreme Checks (Fast) [10, 2, 128, 128, 1, 1], _ ; 8 - Wind Blow (Good) [2, 10, 128, 128, 1, 1], _ ; 9 - Pour Down (Quite) [10, 10, 128, 128, 1, 1], _ ; 10 - Running [20, 10, 128, 128, 10, 10], _ ; 11 - Crazy Smoke (Good) [2, 2, 128, 128, -100, 2], _ ; 12 - Super Fast Stream (Good) [2, 2, 100, 10, 1, 1], _ ; 13 - Moving Water (Good) [10, 8, 100, 10, 1, 1], _ ; 14 - Sort of Powder & Water [50, 10, 1, 25, 80, 10], _ ; 15 - Dissolve [2, 10, 12, 1, 5, 10], _ ; 16 - Blinds [1, 1, 1, 1, -2, 10], _ ; 17 - Stars [5, 5, 8, 4, -2, 10], _ ; 18 - Arrows (sort of.) [2, 10, 200, 4, -2, 10], _ ; 19 - Fire [30, 30, 10, 10, 10, 10], _ ; 20 - Grained [25, 25, 25, 255, 250, 25], _ ; 21 - Shake [Random(1, 2^8, 1), Random(1, 2^8, 1), Random(1, 2^8, 1), Random(1, 2^8, 1), Random(1, 2^8, 1), Random(1, 2^8, 1)]] If $iAnimation = 22 Then ConsoleWrite($aAnimations[$iAnimation][0] & "," & $aAnimations[$iAnimation][1] & "," & $aAnimations[$iAnimation][2] & "," & $aAnimations[$iAnimation][3] & "," & $aAnimations[$iAnimation][4] & "," & $aAnimations[$iAnimation][5] & @CRLF) Global Const $hDwmApiDll = DllOpen("dwmapi.dll") Global $sChkAero = DllStructCreate("int;") DllCall($hDwmApiDll, "int", "DwmIsCompositionEnabled", "ptr", DllStructGetPtr($sChkAero)) Global $aero = DllStructGetData($sChkAero, 1) If $aero Then DllCall($hDwmApiDll, "int", "DwmEnableComposition", "uint", False) ;Sleep(500) Opt("GUIOnEventMode", 1) Local $c = b(0), $a = @DesktopWidth, $b = @DesktopHeight _ScreenCapture_Capture("m.bmp", 0, 0, -1, -1, False) $d = GUICreate(0, $a, $b, 0, 0, 0x80000000) GUISetOnEvent(-3, "a") GUICtrlCreatePic("m.bmp", 0, 0, $a, $b) $e = b($d) $g_hDC = _WinAPI_GetDC($d) $g_hDC_Backbuffer = _WinAPI_CreateCompatibleDC($g_hDC) $g_hBITMAP = _GDIPlus_ImageLoadFromFile("m.bmp") $g_hHBITMAP = _GDIPlus_BitmapCreateHBITMAPFromBitmap($g_hBITMAP) $g_oDC_Obj = _WinAPI_SelectObject($g_hDC_Backbuffer, $g_hHBITMAP) $g_hGfxCtxt = _GDIPlus_GraphicsCreateFromHDC($g_hDC_Backbuffer) GUISetState() $t = TimerInit() $r = Random(0.5, 1.5) While 1;. $f = ($a - $aAnimations[$iAnimation][2]) * Random(0, 1) $g = ($b - $aAnimations[$iAnimation][3]) * Random(0, 1) $h = $aAnimations[$iAnimation][0] * Random(0, 1) - $aAnimations[$iAnimation][4] $i = $aAnimations[$iAnimation][1] * Random(0, 1) - $aAnimations[$iAnimation][5] If Not $bAndyMode Then DllCall("gdi32.dll", "bool", "BitBlt", "handle", $e, "int", $f + $h, "int", $g + $i, "int", $aAnimations[$iAnimation][2], "int", $aAnimations[$iAnimation][3], "handle", $c, "int", $f, "int", $g, "dword", 0x00CC0020); Else DllCall("gdi32.dll", "bool", "BitBlt", "handle", $e, "int", Int($f + $h), "int", Int($g + $i), "int", 128, "int", 128, "handle", $e, "int", Int($f), "int", Int($g), "dword", 0x00CC0020) ;Andy's Variante EndIf If TimerDiff($t) > 1500 * $r Then DllCall("gdi32.dll", "bool", "BitBlt", "handle", $g_hDC, "int", 0, "int", @DesktopHeight - 50, "int", @DesktopWidth, "int", 50, "handle", $g_hDC_Backbuffer, "int", 0, "int", @DesktopHeight - 50, "dword", 0x00CC0020) $r = Random(0.5, 1.5) $t = TimerInit() EndIf WEnd; Func a(); If $aero Then DllCall($hDwmApiDll, "int", "DwmEnableComposition", "uint", True) DllCall("user32.dll", "int", "ReleaseDC", "hwnd", $d, "handle", $e) DllCall("user32.dll", "int", "ReleaseDC", "hwnd", 0, "handle", $c) _WinAPI_SelectObject($g_hDC_Backbuffer, $g_oDC_Obj) _GDIPlus_GraphicsDispose($g_hGfxCtxt) _WinAPI_DeleteObject($g_hHBITMAP) _WinAPI_ReleaseDC($d, $g_hDC) _GDIPlus_ImageDispose($g_hBITMAP) _GDIPlus_Shutdown() Exit; EndFunc ;==>a Func b($j); Return DllCall("user32.dll", "handle", "GetDC", "hwnd", $j)[0]; EndFunc ;==>b This effect probably makes sense only for this effect! For the other effect it has to be disabled or modified appropriately. Br, UEZ1 point -
Please understand, not being able to access that page, I won't help to debug. The _IEJS_GetObjByClassArray is going to return an array, it will also be included in my internet explorer extension to IE.au3 ... >IEJS.au3 ... seriously thinking I'm going to change that to just IEEx.au3 because there are as many reg funcs now as there are javascript ones. #include <IE.au3> Global $goIE = 0 Global $gsURL = "http://www.car.gr/classifieds/tractors/edit/5934835/#details" Global $gsPassword = "MyPasswordHere" _Login($goIE, $gsPassword, $gsURL) If @error Then Exit @error + _IEQuit($goIE) - 1 EndIf ; do the stuff on the edit page you're going to do ; stuff ; stuff ; etc ; submit the form _mySubmitSavePage($goIE) Func _mySubmitSavePage(ByRef $oObj) If Not IsObj($oObj) Then Return SetError(1, 0, 0) EndIf Local $aoForm = _IEJS_GetObjByClassArray($oObj, "form-horizontal", "form") If Not IsArray($aoForm) Then Return SetError(2, 0, 0) EndIf Local $oForm = $aoForm[0] ; get the form from the array _IEFormSubmit($oForm) If @error Then Return SetError(3, 0, 0) EndIf ; wait for rendering to start Sleep(2000) ; wait for page to load _IELoadWait($oObj) If @error Then Return SetError(4, 0, 0) EndIf Return 1 EndFunc Func _Login(ByRef $oObj, $sPassword, $sURL) If Not IsObj($oObj) Then $oObj = _IECreate($sURL) If Not IsObj($oObj) Then Return SetError(1, 0, 0) EndIf _IELoadWait($oObj) EndIf Local $aoForm = _IEJS_GetObjByClassArray($oObj, "form-horizontal", "form") If Not IsArray($aoForm) Then Return SetError(2, 0, 0) EndIf Local $oForm = $aoForm[0] ; get the form from the array Local $oPass = _IEGetObjByName($oForm, "password", 0); first instance only If Not IsObj($oPass) Then Return SetError(3, 0, 0) EndIf _IEFormElementSetValue($oPass, $gsPassword) ; login _IEFormSubmit($oForm) If @error Then Return SetError(4, 0, 0) EndIf ; wait for rendering to start Sleep(2000) ; wait for page to load _IELoadWait($oObj) If @error Then Return SetError(5, 0, 0) EndIf Return 1 EndFunc Func _IEJS_GetObjByClassArray(ByRef $oObj, $sClass, $sTag = Default, $iIndex = -1) ; returns an array of objects If Not IsObj($oObj) Then Return SetError($_IESTATUS_InvalidDataType, 1, 0) EndIf $iIndex = (IsKeyword($iIndex) Or $iIndex < 0) ? -1 : $iIndex $sTag = (IsKeyword($sTag) Or Not StringLen($sTag)) ? "" : $sTag Local $oTags = (StringLen($sTag)) ? _IETagNameGetCollection($oObj, $sTag, $iIndex) : _ _IETagNameAllGetCollection($oObj, $iIndex) Local $iExtended = @extended If Not IsObj($oTags) Then Return SetError($_IESTATUS_NoMatch, 2, 0) EndIf Local $aRet[$iExtended], $iCount If $iIndex = -1 Then For $oTag In $oTags If String($oTag.classname) = $sClass Then $aRet[$iCount] = $oTag $iCount += 1 EndIf Next Else $aRet[$iCount] = $oTags.index($iIndex) If Not IsObj($aRet[$iCount]) Then Return SetError($_IESTATUS_InvalidValue, 3, 0) EndIf $iCount += 1 EndIf If Not $iCount Then Return SetError($_IESTATUS_NoMatch, 4, 0) EndIf ReDim $aRet[$iCount] Return SetError($_IESTATUS_Success, 1, $aRet) EndFunc Good luck.1 point
-
If the hotkey is created using AutoIt, clearly the script has to be running for it to work. Here's an example program which waits until the hotkey F2 is pressed. ; #include <MsgBoxConstants.au3> Global $g_Flag = False HotKeySet("{F1}", "Quit") HotKeySet("{F2}", "Resume") While 1 ; Infinite loop Sleep(20) ; Prevents the CPU from overheating If $g_Flag Then ExitLoop WEnd Func Resume() $g_Flag = True EndFunc Func Quit() Exit EndFunc ; The program starts here MsgBox($MB_OK, "Test Script", "Hello World") ; You could create a similar script to activate other programs. Look at ShellExecute() in the help file.1 point
-
Personally, I've had less than satisfactory experience with Hotkeys, so I'd do neither, and would just use a Quick Launch facility or first section of the start menu ... or a floating toolbar ... perhaps accessed through the Tray. In the end, it may be down to your version of Windows. So there you have it, three recommendations ..... now which one will you choose?1 point
-
How to start my script with a hotkey
kcvinu reacted to jvanegmond for a topic
I would do the first, because I have found that if I do the latter, I usually delete the shortcut along with all the other junk on my desktop.1 point -
To start the Exe I would do the latter.1 point
-
It's the problem with AutoIt, yes. Some time ago I added volatile keyword function modifier that you can use when defining functions that do this to AutoIt. So with newer versions of AutoIt it would be, for example: volatile Func _FNWRITE($hf, $pv, $cb) ;... EndFunc But I'm not developer any more so don't take my word for it.1 point
-
DotNET Compiler Wrapper If you want to run DotNet code as a script, and don't want to install full stack Visual Studio. You can find the DotNet wrapper for VB.NET. But easily can be modified to run C# etc. #include <GUIConstantsEx.au3> #include <StaticConstants.au3> #include <WindowsConstants.au3> #include "BinaryImage.au3" #include <Constants.au3> Global Const $Width = 600 Global Const $Height = 400 Global $sPath, $sCheck Global $color1 = 0x0000000 Global $color2 = 0x0005FFF Global $graphics, $backbuffer, $bitmap, $pen, $i Global $hLabel1, $hLabel2, $hLabel3, $hPic1, $hPic2, $hPic3 Global $LOGO1 = _LOGOBin1() Global $LOGO2 = _LOGOBin2() Global $LOGO3 = _LOGOBin3() Dim $hFile Dim $Font = "Arial" ;GUIRegisterMsg(0xF, "MY_PAINT"); Register PAINT-Event GUIRegisterMsg($WM_ERASEBKGND, "WM_ERASEBKGND"); Register PAINT-Event _GDIPlus_Startup() $hGui = GUICreate("DotNET Scripting", $Width, $Height, -1,-1) ;GUISetState(@SW_LOCK,$hGui) $hLabel1 = GUICtrlCreateLabel("Visual Studio - Light", 10, 20, 450, 20, $SS_NOTIFY) GUICtrlSetFont(-1, 8.5, 650, "", $font) GUICtrlSetBkColor(-1, 0xFFFFFF) $hPic1 = GUICtrlCreatePic("", 30,60,32,32) _SetImageBinaryToCtrl($hPic1,$LOGO1) $hLabel1 = GUICtrlCreateLabel(" Windows Application", 20, 100, 70, 40, $SS_NOTIFY) GUICtrlSetBkColor(-1, 0xFFFFFF) GUICtrlSetState(-1, $GUI_FOCUS) $hPic2 = GUICtrlCreatePic("", 130,60,32,32) _SetImageBinaryToCtrl($hPic2,$LOGO2) $hLabel2 = GUICtrlCreateLabel("Class Library", 120, 100, 70, 40, $SS_NOTIFY) GUICtrlSetBkColor(-1, 0xFFFFFF) $hPic3 = GUICtrlCreatePic("", 230,60,32,32) _SetImageBinaryToCtrl($hPic3,$LOGO3) $hLabel3 = GUICtrlCreateLabel(" Console Application", 220, 100, 70, 40, $SS_NOTIFY) GUICtrlSetBkColor(-1, 0xFFFFFF) _CreateGradient($hGui) GUISetState(@SW_SHOW) ; Check availability If $sCheck = "" Then $sCheck = CheckDotNetVersion() ConsoleWrite($sCheck & @CRLF) EndIf While 1 Switch GUIGetMsg() Case $hPic1, $hLabel1 $sScript = FileOpenDialog("Open DotNET Script", @ScriptDir & "", "PS Scripts (*.vb)") If @error Then MsgBox(4096,"","No File(s) chosen") Else Read_DotNET_Script($sScript) Execute_Script("Win", $sPath, $sScript) EndIf Case $hPic2, $hLabel2 $sScript = FileOpenDialog("Open DotNET Script", @ScriptDir & "", "PS Scripts (*.vb)") If @error Then MsgBox(4096,"","No File(s) chosen") Else Read_DotNET_Script($sScript) Execute_Script("Lib", $sPath, $sScript) EndIf Case $hPic3, $hLabel3 $sScript = FileOpenDialog("Open DotNET Script", @ScriptDir & "", "PS Scripts (*.vb)") If @error Then MsgBox(4096,"","No File(s) chosen") Else Read_DotNET_Script($sScript) Execute_Script("Cnsl", $sPath, $sScript) EndIf Case $GUI_EVENT_CLOSE Close() Exit EndSwitch WEnd ; Read the Code Script to be executed Func Read_DotNET_Script($hPSFile) $file = FileOpen($hPSFile, 0) ; Open read only If $file = -1 Then MsgBox(0, "Error", "Unable to open file.") Return EndIf Local $sCmd While 1 $line = FileReadLine($file) If @error = -1 Then ExitLoop $sCmd &= $line & @CRLF Wend ConsoleWrite("Line read: " & @CRLF & $sCmd & @CRLF) FileClose($file) EndFunc ;=> Read_DotNET_Script ; Run the Script Func Execute_Script($sType, $sDotNETCmd, $svbScript) Switch $sType #Region Windows Application Case "Win" $hFile = StringMid($svbScript,1, StringLen($svbScript)-2) & "exe" MsgBox(0,"",$hFile) If FileExists($hFile) Then FileDelete($hFile) EndIf $hOut = Run($sDotNETCmd & " /nowarn /nologo /quiet /debug- /t:winexe " & FileGetShortName($svbScript), "", @SW_HIDE, $STDOUT_CHILD) ;#cs While 1 $line = StdoutRead($hOut) If @error = 2 Then ExitLoop If $line <> "" Then MsgBox(16, "Error", $line) EndIf Wend ;#ce Sleep(500) RunWait($hFile, "" , @SW_SHOW) #Region Class Library Case "Lib" $hFile = StringMid($svbScript,1, StringLen($svbScript)-2) & "dll" If FileExists($hFile) Then FileDelete($hFile) EndIf $hOut = Run($sDotNETCmd & " /nowarn /nologo /quiet /debug- /t:library " & FileGetShortName($svbScript), "", @SW_HIDE) Sleep(500) MsgBox(0,"Library .dll Created successfully ! ",$hFile) #Region Console Application Case "Cnsl" $hFile = StringMid($svbScript,1, StringLen($svbScript)-2) & "exe" If FileExists($hFile) Then FileDelete($hFile) EndIf $hOut = Run($sDotNETCmd & " /nowarn /nologo /quiet /debug- /t:exe " & FileGetShortName($svbScript), "", @SW_HIDE, $STDOUT_CHILD) ;#cs While 1 $line = StdoutRead($hOut) If @error = 2 Then ExitLoop If $line <> "" Then MsgBox(16, "Error", $line) EndIf Wend ;#ce Sleep(500) RunWait(@ComSpec & " /K cd " & @ScriptDir & " & " & FileGetShortName($hFile), "", @SW_SHOW) EndSwitch Return $hFile EndFunc ;=> Execute_Script ; Check the DotNET version available Func CheckDotNetVersion() Local $sFramework If @OSArch = "X64" Then $sFramework = "Framework64" Else $sFramework = "Framework" EndIf If FileExists(@WindowsDir & "Microsoft.NET"& $sFramework &"v3.5vbc.exe") Then $sPath = @WindowsDir & "Microsoft.NET"& $sFramework &"v3.5vbc.exe" ElseIf FileExists(@WindowsDir & "Microsoft.NET"& $sFramework &"v3.0vbc.exe") Then $sPath = @WindowsDir & "Microsoft.NET"& $sFramework &"v3.0vbc.exe" Elseif FileExists(@WindowsDir & "Microsoft.NET"& $sFramework &"v2.0.50727vbc.exe") Then $sPath = @WindowsDir & "Microsoft.NET"& $sFramework &"v2.0.50727vbc.exe" Elseif FileExists(@WindowsDir & "Microsoft.NET"& $sFramework &"v2.0.50727vbc.exe") Then $sPath = @WindowsDir & "Microsoft.NET"& $sFramework &"v2.0.50727vbc.exe" Elseif FileExists(@WindowsDir & "Microsoft.NET"& $sFramework &"v1.1.4322vbc.exe") Then $sPath = @WindowsDir & "Microsoft.NET"& $sFramework &"v1.1.4322vbc.exe" ElseIf FileExists(@WindowsDir & "Microsoft.NET"& $sFramework &"v1.0.3705vbc.exe") Then $sPath = @WindowsDir & "Microsoft.NET"& $sFramework &"v1.0.3705vbc.exe" Else MsgBox(0,"Error", "The DotNet version needed, is not available") Exit EndIf Return $sPath EndFunc ;=> CheckDotNetVersion Func _CreateGradient($hwnd) $graphics = _GDIPlus_GraphicsCreateFromHWND($hwnd) $bitmap = _GDIPlus_BitmapCreateFromGraphics($width, $height, $graphics) $backbuffer = _GDIPlus_ImageGetGraphicsContext($bitmap) $pen = _GDIPlus_PenCreate(0xFF000000, 1) ;you can move this lines below until Do...Until loop to Do...Until loop and make some realtime effects $r = 0x00 $g = 0x00 $b = 0xFF $c = "0xFF" & Hex($r, 2) & Hex($g, 2) & Hex($b, 2) $i = 255 / $width _GDIPlus_GraphicsClear($backbuffer) For $x = 0 To $width ;_GDIPlus_GraphicsDrawLine($backbuffer, $x, 0, $x, $width, $pen) ; Full Screen _GDIPlus_GraphicsDrawLine($backbuffer, $x, 0, $x, 40, $pen) _GDIPlus_PenSetColor($pen, 0xFFFFFFFF) ; White Next For $x = 0 To $width ;_GDIPlus_GraphicsDrawLine($backbuffer, $x, 0, $x, $width, $pen) ; Full Screen _GDIPlus_GraphicsDrawLine($backbuffer, $x, 40, $x, 42, $pen) ; Start at 30 ends at 40 _GDIPlus_PenSetColor($pen, $c) ; Gradient Line $r += $i $g += $i $c = "0xEF" & Hex($r, 2) & Hex($g, 2) & Hex($b, 2) Next For $x = 0 To $width ;_GDIPlus_GraphicsDrawLine($backbuffer, $x, 0, $x, $width, $pen) ; Full Screen _GDIPlus_GraphicsDrawLine($backbuffer, $x, 42, $x, $height, $pen) _GDIPlus_PenSetColor($pen, 0xFFFFFFFF) ; White Next _GDIPlus_GraphicsDrawImageRect($graphics, $bitmap, 0, 0, $width, $height) ; Full Screen EndFunc ;=> _CreateGradient Func Close() _GDIPlus_PenDispose($pen) _GDIPlus_GraphicsDispose($backbuffer) _GDIPlus_BitmapDispose($bitmap) _GDIPlus_GraphicsDispose($graphics) _GDIPlus_Shutdown() EndFunc ;Func to redraw on PAINT MSG - Thanks to UEZ Func MY_PAINT($hWnd, $msg, $wParam, $lParam) ; The sequencial order of these two commands is important. _GDIPlus_GraphicsDrawImage($graphics, $bitmap, 0, 0) _WinAPI_RedrawWindow($hwnd, "", "", BitOR($RDW_INVALIDATE, $RDW_UPDATENOW, $RDW_FRAME, $RDW_ALLCHILDREN)) Return $GUI_RUNDEFMSG EndFunc ;==>MY_PAINT ;Func to redraw on PAINT MSG - Thanks to UEZ Func WM_ERASEBKGND($hWnd, $msg, $wParam, $lParam) _GDIPlus_GraphicsDrawImage($graphics, $bitmap, 0, 0) Return 1 EndFunc ;==>MY_PAINT Func _LOGOBin1() Local $FileName = "0x0000010001002040000001000400E8020000160000002800000020000000400000000100040000000000000000000000000000000000000000000000" $FileName &= "00000000000000000000008000000080800080000000800080008080000080808000C0C0C0000000FF0000FF000000FFFF00FF000000FF00FF00FFFF" $FileName &= "0000FFFFFF0011111111111111111111111111111111111100000000000001111111111111111111788888888888011111111111111111117FFFFFFF" $FileName &= "FFF8011111111111111110007FFFFFFFFFF8011111111111111117FB7FFFFFFFFFF8011111111111111117BF7F44444444F8000000000000001117FB" $FileName &= "7FFFFFFFFFF8088888888888801117BF7F44444444F808F8F8F8F8F8801117FB7FFFFFFFFFF80F8F8F8F8F8F801117BF7F44444444F808F8F8F8F8F8" $FileName &= "801117FB7FFFFFFFFFF80F8F8F8F8F8F801117BF7F44444444F808F8FFFFFFF8801117FB7FFFFFFFFFF80F8FFCCCC8FF801117BF7FFFFFFFFFF808F8" $FileName &= "FCFFFCF8801117FB7777777777770FFFFCFFFCFF801117BFBFBFBFBF78F8FFCFFCCCCFF8801117FBFBFBFBFB7F8FFFCFFCFFFCFF8011177777777777" $FileName &= "78F8FCFCFCFFFCF880111117FFFFFFFFFFFFFCFCFCCCC8FF80111117FFFFFFFFFFFFFCFCFFFFFFF880111117FFFFFFFFFFFFCFFFCF8F8F8F80111117" $FileName &= "FFFFFFFFFFFFCFFFCFF8F8F880111117FFFFFFFFFFFFFFFFFFFF8F8F80111117FFFFFFFFFFFFFFFFF8F8F8F880111117FFFFFFFFFFFFFFFFFFFF8F8F" $FileName &= "80111114444444C4C44C44C4CCC4CCCCC011111444444C444C44C4CCC4CCCCCCC01111144444444C444C4C4CCCCCCCCCC0111114444444C44C44C4C4" $FileName &= "C4C4CCCCC0111111111111111111111111111111111111111111111111111111111111111111FFFFFFFFF0007FFFF0007FFFF0007FFF80007FFF8000" $FileName &= "7FFF80000003800000038000000380000003800000038000000380000003800000038000000380000003800000038000000380000003E0000003E000" $FileName &= "0003E0000003E0000003E0000003E0000003E0000003E0000003E0000003E0000003E0000003FFFFFFFFFFFFFFFF" Return $FileName EndFunc Func _LOGOBin2() Local $FileName = "0x0000010001002040000001002000A8100000160000002800000020000000400000000100200000000000000000000000000000000000000000000000" $FileName &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" $FileName &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" $FileName &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" $FileName &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" $FileName &= "00000000000000000000000000000000000000000000CF6B6CFFC96869FFB25B5CFF7F3F3FFF6E92A2FF6A8B9CFF597687FF435869FF283543FF749C" $FileName &= "8AFF709686FF5E8174FF47645BFF2B403BFF000000000000000000000000000000000000000000000000000000000000000000000000000000000000" $FileName &= "000000000000000000000000000000000000000000000000000000000000CF6B6CFCE88E8FFFE6898AFFB65B5BFF7196A6FF58C5E1FF4DBEDDFF4DBE" $FileName &= "DDFF5BBADBFF779F8DFF68D097FF5ECC91FF5ECC91FF6ACB9BFF3E6C5FFF000000000000000000000000000000000000000000000000000000000000" $FileName &= "0000000000000000000000000000000000000000000000000000000000000000000000000000D27172FFA66C6CFFA06364FF8C4B4BFF749BACFF62A3" $FileName &= "BDFF5798B4FF4D8DABFF4B809CFF7AA592FF6DB292FF62A989FF58A081FF549279FF3BBC7DFF3E6C5FFF000000000000000000000000000000000000" $FileName &= "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000D67879FFF6AAABFFF09D9EFFCB68" $FileName &= "68FF77A1B1FF63D3F3FF5CD0F3FF55CDF2FF5BBADBFF7EAA95FF74E2A8FF6EE1A5FF67DFA1FF6ACB9BFF3BBC7DFF3E6C5FFF705642FF6F5440FF6E53" $FileName &= "3FFF6D523DFF6B513DFF6A4F3BFF694E39FF684D38FF674C38FF664B36FF654A35FF644934FF634933FF634833FF0000000000000000DA8283FFC37F" $FileName &= "7FFFBC7475FFA45959FF7CA6B7FF69A6BDFF5F9CB4FF5590ACFF4B809CFF83B09BFF73B394FF69AA8CFF5FA185FF549279FF3BBC7DFF406E61FFC4AD" $FileName &= "A2FFC3ACA0FFC1AA9DFFC0A89CFFBFA699FFBDA497FFBBA295FFB9A193FFB89E90FFB69C8EFFB49B8CFFB2998AFFB19787FF634834FF000000000000" $FileName &= "0000DF8A8BFFFDB9BBFFF9B0B1FFCE6E6DFF7FACBDFF7EDEF5FF78DCF4FF71D9F4FF5BBADBFF86B59FFF8CE7B4FF87E5B0FF80E4AEFF6ACB9BFF3BBC" $FileName &= "7DFF437265FFF6DFD4FFF5DED2FFF5DCD0FFF4DACEFFF4D9CCFFF3D7CAFFF3D5C8FFF2D4C6FFF1D3C4FFF2D1C2FFF1D0C0FFF0CEBEFFB3998BFF6549" $FileName &= "35FF0000000000000000E39394FFFFBDBEFFFDB7B9FFCF7170FF83B2C3FF8BE3F5FF85E1F4FF7EDEF4FF5BBADBFF8ABBA3FF97E8B9FF92E7B6FF8CE6" $FileName &= "B3FF6ACB9BFF3BBC7DFF477668FFF5E0D7FFF6DFD5FFF5DED2FFF4DCD0FFF4DACEFFF3D9CCFFF3D7C9FFF2D5C7FFF2D4C5FFF2D3C3FFF2D1C2FFF1D0" $FileName &= "C0FFB59C8DFF664B36FF0000000000000000E79B9CFFFFBDBEFFFFBDBEFFD17473FF88B7C9FF96E7F6FF91E6F6FF8AE3F5FF5BBADBFF8FC1A9FFA1EA" $FileName &= "BFFF9DEABCFF96E8B8FF6ACB9BFF3BBC7DFF4B7B6BFFF7E2D8FFF6E1D6FFF6DFD4FFF5DED2FFF5DCD0FFF4DACEFFF3D9CBFFF3D6CAFFF2D5C8FFF2D3" $FileName &= "C5FFF2D3C4FFF1D1C2FFB89E90FF674D38FF0000000000000000ECA4A5FFFFBDBEFFFFBDBEFFD27676FF8BBCCEFF9FEBF6FF9BEAF6FF96E7F6FF5BBA" $FileName &= "DBFF93C6ADFFA9EBC2FFA6EBC0FFA1EABFFF6ACB9BFF3BBC7DFF4F8070FFF7E3DAFFF6E2D8FFF6E0D6FFF9E8E1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" $FileName &= "FFFFFFFFFFFFFFFFFFFFF7E3DBFFF2D3C4FFBAA193FF684E3AFF0000000000000000F0ACADFFCD8585FFC57A7BFFAC5D5DFF8DC0D2FF78ADBEFF6FA2" $FileName &= "B5FF6697ACFF4B809CFF95CAB0FF80B59AFF77AC93FF6EA38BFF549279FF3BBC7DFF548473FFF7E5DCFFF6E3DAFFF6E2D7FFFFFDFDFFDA925CFFCB66" $FileName &= "00FFCB6600FFCB6600FFCB6600FFDA925CFFFCF6F1FFF5DED3FFBCA497FF6A4F3BFF0000000000000000F4B3B4FFFFBDBEFFFFBDBEFFD37979FF8FC3" $FileName &= "D5FFABF0F7FFABF0F7FFA8EFF7FF5BBADBFF97CCB2FFB4EEC8FFB4EEC8FFB1EDC6FF6ACB9BFF3BBC7DFF598A78FFF8E7DEFFF7E5DCFFF7E3DAFFFFFF" $FileName &= "FFFFDA925CFFCB6600FFE6B692FFE6B692FFD17733FFCB6600FFE9BFA0FFFAEDE7FFBEA79AFF6B523DFF0000000000000000F5B6B7FFF5B6B7FFEDA7" $FileName &= "A9FFCF7171FF8FC3D5FF85B4C7FF7AA4B4FF7095A6FF6A8B9CFF97CCB2FF8DBFA8FF81AD98FF769F8DFF709686FF3BBC7DFF5E907DFFF8E7E0FFF7E6" $FileName &= "DDFFF7E4DBFFFFFFFFFFDA925CFFCB6600FFFFFFFFFFFFFFFFFFE9BFA0FFCB6600FFE9BFA0FFF9EEE8FFC0A99DFF6D543FFF00000000000000000000" $FileName &= "0000D6A29DFF927C6CFFE5E0DCFFCD999EFF91B2B9FF907B6DFFE5E0DCFFFFFFFFFF6A8B9CFF96B4A3FF8B7179FFE4DDDFFFFFFFFFFF709686FF80A8" $FileName &= "98FFFEFAF9FFFFFFFFFFFDFAF8FFFFFFFFFFDA925CFFCB6600FFCB6600FFCB6600FFCB6600FFD7894EFFFCF6F1FFF6E1D7FFC3AB9FFF6F5541FF0000" $FileName &= "0000000000000000000000000000C69992FF957D6EFFF4ECE8FFCB9196FF8CABB3FF86837DFFF4ECE8FFE2F3F5FF6A8B9CFFFBF2EEFF857E7FFFF2E9" $FileName &= "EDFFE5F3EAFFE5ECE9FFE9BFA0FFCB6600FFE9BFA0FFFFFFFFFFDA925CFFCB6600FFE6B692FFE6B692FFD17733FFCB6600FFFFFFFFFFF5DDD2FFC4AE" $FileName &= "A2FF715743FF00000000000000000000000000000000B7A293FFFEFBFAFFFEFBFBFFFDFAF9FFFDF9F7FFFDF9F6FFFCF7F5FFFDF5F3FFFCF5F1FFFBF3" $FileName &= "EFFFFBF2EDFFFBF0EBFFFCF4F1FFF9EDE4FFD7894EFFCB6600FFD7894EFFFFFFFFFFDA925CFFCB6600FFFFFFFFFFFFFFFFFFDD9B69FFCB6600FFF6E4" $FileName &= "D6FFF6E0D6FFC7B1A5FF735945FF00000000000000000000000000000000B7A293FFFEFDFCFFFEFCFBFFFDFCFAFFFDFBF9FFFDF9F8FFFDF9F6FFFDF7" $FileName &= "F4FFFCF6F3FFFCF5F1FFFBF3EFFFFBF2EEFFFEFDFCFFE6B692FFCB6600FFD7894EFFCB6600FFF6E4D6FFDA925CFFCB6600FFCB6600FFCB6600FFCB66" $FileName &= "00FFD7894EFFFFFFFFFFF5DFD4FFC9B3A8FF755B48FF00000000000000000000000000000000B7A293FFFEFEFEFFFEFDFCFFFEFCFBFFFEFBFAFFFEFA" $FileName &= "F9FFFDF9F7FFFDF8F5FFFDF7F4FFFDF5F2FFFBF4F1FFFBF3F0FFFFFFFFFFD48040FFCB6600FFF6E4D6FFCB6600FFD48040FFF6E4D6FFF3DBC9FFF3DB" $FileName &= "C9FFF3DBC9FFF3DBC9FFFFFFFFFFF8EAE3FFF5DED2FFCBB6ACFF775E4AFF00000000000000000000000000000000B7A293FFFFFFFEFFFFFEFDFFFEFD" $FileName &= "FCFFFEFCFCFFFEFBFAFFFDFAF9FFFDF9F7FFFDF8F6FFFDF6F4FFFCF5F2FFFDF8F6FFF6E4D6FFCB6600FFE0A477FFFFFFFFFFE0A477FFCB6600FFF6E4" $FileName &= "D6FFFEFAF9FFFAF1ECFFFAF0EBFFF9ECE6FFF7E5DDFFF6E1D6FFF5DED4FFCDBAAFFF79604DFF00000000000000000000000000000000B7A293FFFFFF" $FileName &= "FFFFFFFFFEFFFEFEFDFFFEFCFCFFFEFCFBFFFEFBF9FFFDFAF8FFFDF9F7FFFDF8F5FFFCF6F4FFFFFFFFFFE3AD84FFCB6600FFF0D2BBFFFFFFFFFFF0D2" $FileName &= "BBFFCB6600FFE3AD84FFFFFEFEFFF8E8E1FFF7E6DEFFF7E5DCFFF7E3DAFFF7E2D8FFF5E0D5FFCFBCB3FF7B624FFF0000000000000000000000000000" $FileName &= "0000B7A293FFFFFFFFFFFFFFFFFFFFFEFEFFFEFDFDFFFEFDFCFFFEFCFBFFFEFAF9FFFDFAF8FFFDF9F7FFFDF7F5FFFFFFFFFFCB6600FFD17733FFFFFF" $FileName &= "FFFFFCF5F1FFFFFFFFFFD17733FFCB6600FFFFFFFFFFF9E9E2FFF8E8E1FFF8E6DEFFF7E5DCFFF6E3D9FFF6E2D8FFD1C0B7FF7E6452FF000000000000" $FileName &= "00000000000000000000B7A293FFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFFFFFDFDFFFEFCFCFFFEFCFAFFFDFBFAFFFDF9F8FFFDF9F6FFFEFCFBFFF3DB" $FileName &= "C9FFF6E4D6FFFDFAF8FFFBF3EEFFFEFAF8FFF3DBC9FFF6E4D6FFFDF7F4FFF9EBE4FFF9E9E2FFF8E8E0FFF7E6DEFFF7E5DBFFF6E2DAFFD4C3BAFF8067" $FileName &= "54FF00000000000000000000000000000000B7A293FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFEFDFDFFFEFCFCFFFEFBFBFFFDFBFAFFFEFA" $FileName &= "F8FFFDF9F7FFFEF9F8FFFDF9F6FFFCF6F2FFFCF3EFFFFBF3F0FFFCF4F1FFFBF3F0FFFAEFEAFFF9ECE6FFF9EBE4FFF9E9E2FFF8E7E0FFF8E6DEFFF7E4" $FileName &= "DCFFD7C7BEFF826957FF00000000000000000000000000000000B7A293FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFFFEFDFDFFFEFD" $FileName &= "FCFFFEFBFBFFFEFAF9FFFDF9F8FFFDF9F6FFFDF8F4FFFCF6F3FFFCF5F1FFFCF3EFFFFBF2EDFFFAF0ECFFFAEFEAFFF9EEE8FFF9ECE6FFF9EBE4FFF9E9" $FileName &= "E1FFF8E7DFFFF7E6DDFFF7E4DBFF846C5AFF00000000000000000000000000000000D19172FFD19172FFD19172FFD08C6BFFD08661FFCE7E55FFCD75" $FileName &= "49FFCC6D3DFFCA6431FFCA5D27FFC95920FFC95920FFC95920FFC95920FFC95920FFC95920FFC95920FFC95920FFC95920FFC95920FFC95920FFC959" $FileName &= "20FFC95920FFC95920FFC95920FFC95920FFC95920FFC95920FF00000000000000000000000000000000D19172FFFEC09FFFFEBE9DFFFDBC9BFFFDBA" $FileName &= "98FFFDB996FFFCB793FFFBB590FFFBB38DFFFBB08AFFFAAE86FFF9AB83FFF8A980FFF8A77DFFF7A47AFFF7A377FFF5A074FFF59E71FFF59C6FFFF49A" $FileName &= "6DFFF4996AFFF49768FFF39666FFF39565FFF39565FFF39565FFF39565FFC95920FF00000000000000000000000000000000D19172FFFEC09FFFFEBE" $FileName &= "9DFFFDBD9BFFFDBB98FFFDB995FFFCB693FFFBB590FFFBB28DFFFBB08AFFF9AE86FFF9AB84FFF8A980FFF8A77EFFF7A57AFFF7A377FFF6A074FFF59E" $FileName &= "71FFF59C6EFFF49A6DFFF4986AFFF49768FFF49666FFF39565FFF39565FFF39565FFF39565FFC95920FF00000000000000000000000000000000D191" $FileName &= "72FFFEC09EFFFEBF9DFFFEBC9AFFFDBB98FFFDB995FFFCB693FFFCB590FFFBB38DFFFAB18AFFF9AE87FFF9AB83FFF9AA81FFF7A77DFFF7A57AFFF6A3" $FileName &= "77FFF6A075FFF69E71FFF59D6FFFF49A6CFFF4986AFFF49768FFF49667FFF39565FFF39565FFF39565FFF39565FFC95920FF00000000000000000000" $FileName &= "000000000000D19172FFD19172FFD19172FFD08C6BFFD08661FFCE7E55FFCD7549FFCC6D3DFFCA6431FFCA5D27FFC95920FFC95920FFC95920FFC959" $FileName &= "20FFC95920FFC95920FFC95920FFC95920FFC95920FFC95920FFC95920FFC95920FFC95920FFC95920FFC95920FFC95920FFC95920FFC95920FF0000" $FileName &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" $FileName &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" $FileName &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" $FileName &= "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" $FileName &= "000000000000000000000000000000000000FFFFFFFFFFFFFFFF8001FFFF8000FFFF80007FFF80000001800000018000000180000001800000018000" $FileName &= "0001800000018000000180000001C0000001E0000001E0000001E0000001E0000001E0000001E0000001E0000001E0000001E0000001E0000001E000" $FileName &= "0001E0000001E0000001E0000001E0000001FFFFFFFFFFFFFFFF" Return $FileName EndFunc Func _LOGOBin3() Local $FileName = "0x0000010001002040000001000800A8080000160000002800000020000000400000000100080000000000000000000000000000000000000000000000" $FileName &= "00000000000000008000008000000080800080000000800080008080000080808000C0DCC000F0CAA600AA3F2A00FF3F2A00005F2A00555F2A00AA5F" $FileName &= "2A00FF5F2A00007F2A00557F2A00AA7F2A00FF7F2A00009F2A00559F2A00AA9F2A00FF9F2A0000BF2A0055BF2A00AABF2A00FFBF2A0000DF2A0055DF" $FileName &= "2A00AADF2A00FFDF2A0000FF2A0055FF2A00AAFF2A00FFFF2A000000550055005500AA005500FF005500001F5500551F5500AA1F5500FF1F5500003F" $FileName &= "5500553F5500AA3F5500FF3F5500005F5500555F5500AA5F5500FF5F5500007F5500557F5500AA7F5500FF7F5500009F5500559F5500AA9F5500FF9F" $FileName &= "550000BF550055BF5500AABF5500FFBF550000DF550055DF5500AADF5500FFDF550000FF550055FF5500AAFF5500FFFF550000007F0055007F00AA00" $FileName &= "7F00FF007F00001F7F00551F7F00AA1F7F00FF1F7F00003F7F00553F7F00AA3F7F00FF3F7F00005F7F00555F7F00AA5F7F00FF5F7F00007F7F00557F" $FileName &= "7F00AA7F7F00FF7F7F00009F7F00559F7F00AA9F7F00FF9F7F0000BF7F0055BF7F00AABF7F00FFBF7F0000DF7F0055DF7F00AADF7F00FFDF7F0000FF" $FileName &= "7F0055FF7F00AAFF7F00FFFF7F000000AA005500AA00AA00AA00FF00AA00001FAA00551FAA00AA1FAA00FF1FAA00003FAA00553FAA00AA3FAA00FF3F" $FileName &= "AA00005FAA00555FAA00AA5FAA00FF5FAA00007FAA00557FAA00AA7FAA00FF7FAA00009FAA00559FAA00AA9FAA00FF9FAA0000BFAA0055BFAA00AABF" $FileName &= "AA00FFBFAA0000DFAA0055DFAA00AADFAA00FFDFAA0000FFAA0055FFAA00AAFFAA00FFFFAA000000D4005500D400AA00D400FF00D400001FD400551F" $FileName &= "D400AA1FD400FF1FD400003FD400553FD400AA3FD400FF3FD400005FD400555FD400AA5FD400FF5FD400007FD400557FD400AA7FD400FF7FD400009F" $FileName &= "D400559FD400AA9FD400FF9FD40000BFD40055BFD400AABFD400FFBFD40000DFD40055DFD400AADFD400FFDFD40000FFD40055FFD400AAFFD400FFFF" $FileName &= "D4005500FF00AA00FF00001FFF00551FFF00AA1FFF00FF1FFF00003FFF00553FFF00AA3FFF00FF3FFF00005FFF00555FFF00AA5FFF00FF5FFF00007F" $FileName &= "FF00557FFF00AA7FFF00FF7FFF00009FFF00559FFF00AA9FFF00FF9FFF0000BFFF0055BFFF00AABFFF00FFBFFF0000DFFF0055DFFF00AADFFF00FFDF" $FileName &= "FF0055FFFF00AAFFFF00FFCCCC00FFCCFF00FFFF3300FFFF6600FFFF9900FFFFCC00007F0000557F0000AA7F0000FF7F0000009F0000559F0000AA9F" $FileName &= "0000FF9F000000BF000055BF0000AABF0000FFBF000000DF000055DF0000AADF0000FFDF000055FF0000AAFF000000002A0055002A00AA002A00FF00" $FileName &= "2A00001F2A00551F2A00AA1F2A00FF1F2A00003F2A00553F2A00F0FBFF00A4A0A000808080000000FF0000FF000000FFFF00FF00000000000000FFFF" $FileName &= "0000FFFFFF00FDFDFD5E5A5E075A0707073207313231FDFDFDF6AFAFAFD4AFAFFDFDFDFDFDFDFDFDFD82F6D4D4D409D4080909090931FDFDFDAF37DC" $FileName &= "0EDCDD36F6FDFDFDFDFDFDFDFD82B3AFF6AFAFAFAFAFAFAF0932FDFDFDAF37DC63090EDDAFFDFDFDFDFD5E5E5A09AFF6AFAFAFAFAFAFAFAF0931FDFD" $FileName &= "FDAF3ADDD1D187DCAFFDFDFDFDFD82D0A986D1AF0F0E0E0E0A0AF5AF0907AFAFAFAF37DCDCDCDC37FFFDFDFDFDFD5ECFD086F6F6F6AFF6AFB3AFAFAF" $FileName &= "D4AF83DC09AF370E63090EDCAFFDFDFDFDFD82D0CF09D1B30F0E0E0A0AF50AAFAFAF36DC37AF3ADDD1FF3BDCAF320DF5FDFD86D0AD09F6FFF6B3D1B3" $FileName &= "F6AFAFF6FF63DC37DCAF37DCDCDCDC37FFF000F5FDFD86D0D008FFF60F0E0E0A0AF50AAFFF33DCAFDC12AFD4D409D4FF3100000DFDFD09CFD009FFF6" $FileName &= "F6FFFFB3FFB3AFF6AFDC5FF65FDCAF08070731F100F000F5FDFD08D0D008FFFF0F0E0E0A0AF50AFF5FDCD4FFD4DD5FF600F00000000000F5FDFD09D0" $FileName &= "D3AFFFFFFFFFFFFFF6B3D1FFDC12FF31FF12DCFFF00000F000000031FDFD08D0D008F6FFFFFFFFFFFFFFFFFFAFAFF7F082AFAFF700F100000000000D" $FileName &= "FDFDD4D3D0AFFFFFFFF6FFFFFFF6D1FFF6F72DF02D3131F5F000F0F100F0002DFDFD08D0D3AFAF0808AFAF08D4D40808095EF1F5F0F5F0F0F1F00000" $FileName &= "F000000EFDFDAFD3D0D3D0D0D3D0ADD0CFAD5AF52C2DF5F4F1F0F0F1F0F0F1F0F000F031FDFDAFD0D3D0D3D0D0D3D0D0D0D05A2DF5F52CF52CF5F5F0" $FileName &= "F1F0F0F100F0000EFDFDAFAFAFAFAFAFD4D4D408AB085E2D2D2DF52DF5F429F5F0F5F0F0F1F0F031FDFDFDFD5E3131313155313131312D31312D31F5" $FileName &= "2CF5F5F4F1F0F1F1F0F0F10DFDFDFDFD8231553131313131313131312D2D2D2DF52DF42DF5F4F5F0F0F1F031FDFDFDFD5E313107FFFF31FF3131FF31" $FileName &= "3131312D31F52DF52CF5F0F5F1F0F032FDFDFDFD823131FF075531553131FF31312D31312D2D31F52DF52DF4F5F5F031FDFDFDFD823131FF31313131" $FileName &= "318282313131312D31312D2D0D2DF42DF5F0F532FDFDFDFD5E3155FF073131FF31FF313131313131312D2D312DF52DF52CF5F431FDFDFDFD82313107" $FileName &= "FFFF313131FF3107313131313131312D2D312DF52D2DF532FDFDFDFD5E31313131310731073131313131313131313131312D312DF52DF531FDFDFDFD" $FileName &= "5B5E5B363636320E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0A0E0E0E0E0FFDFDFDFD5E8763878787636387635F5F5F5F5F5F3B5F5F3B5B3B5F3B3B375F0E" $FileName &= "FDFDFDFD37878787636383635F5F635F635F5F5F5F5F3B5F3B5F3B5B3B5F3B0EFDFDFDFD5E6387098787638763635F5F5F5F5F5F3B5F3B5F3B373B3B" $FileName &= "373B370FFDFDFDFD5E5B5E373637360E0F0E0E0E0E0F0E0E0E0E0F0E0E0E0E0F0E0E0E0EFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD" $FileName &= "FDFDFDFDFDFDFDFDFDFDE000E03FE000E01FE000E01F0000E01F0000001F0000001F0000000300000003000000030000000300000003000000030000" $FileName &= "00030000000300000003000000030000000300000003C0000003C0000003C0000003C0000003C0000003C0000003C0000003C0000003C0000003C000" $FileName &= "0003C0000003C0000003C0000003FFFFFFFF" Return $FileName EndFunc 1.To create a Windows Application, you can use the fist icon. See the "Hello World.vb" example script. 2.To create a Class Library(dll file), you can use the second icon. Open the "Hello World.vb" Script and it will produce a DotNet.dll. Wich you can reuse in other scripts. 3.To create a console application, you can use the third icon. See the "GetTickCount.vb" example script. _DOTnet Scripting.zip Edit : Changed the script not to delete the compiled exe files. Enjoy ! Rgds ptrex1 point