Leaderboard
Popular Content
Showing content with the highest reputation on 04/11/2022 in all areas
-
Version 1.6.3.0
17,282 downloads
Extensive library to control and manipulate Microsoft Active Directory. Threads: Development - General Help & Support - Example Scripts - Wiki Previous downloads: 30467 Known Bugs: (last changed: 2020-10-05) None Things to come: (last changed: 2020-07-21) None BTW: If you like this UDF please click the "I like this" button. This tells me where to next put my development effort1 point -
Version 1.7.0.1
10,047 downloads
Extensive library to control and manipulate Microsoft Outlook. This UDF holds the functions to automate items (folders, mails, contacts ...) in the background. Can be seen like an API. There are other UDFs available to automate Outlook: OutlookEX_GUI: This UDF holds the functions to automate the Outlook GUI. OutlookTools: Allows to import/export contacts and events to VCF/ICS files and much more. Threads: Development - General Help & Support - Example Scripts - Wiki BTW: If you like this UDF please click the "I like this" button. This tells me where to next put my development effort KNOWN BUGS (last changed: 2020-02-09) None1 point -
DBeaver with AutoIT - (Moved)
Earthshine reacted to mLipok for a topic
Still do not understand why to use AutoIt with tools like DBeaver , which can be compared to Microsoft SQL Management Studio. Such tools should be used manually with huge attention.1 point -
A Non-Strict JSON UDF (JSMN)
argumentum reacted to mLipok for a topic
I've always had the feeling that I don't have an advanced example here that clearly shows how to formulate KEYS to achieve the desired JSON structure. Hopefully this example below will make things clearer for other users of this UDF, I mean those who haven't fully understood it yet. #include "Json.au3" test7() Func test7() Local $Obj Json_Put($Obj, ".Primitive_1", "Test") ; JSON_PRIMITE "Primitive_1" Json_Put($Obj, ".Primitive_2", True) ; JSON_PRIMITE "Primitive_2" Json_Put($Obj, ".Primitive_3", False) ; JSON_PRIMITE "Primitive_3" Json_Put($Obj, ".Primitive_4", Null) ; JSON_PRIMITE "Primitive_4" Json_Put($Obj, ".List_A[0]", "Test") ; JSON_ARRAY "List_A" Json_Put($Obj, ".List_A[1]", True) ; JSON_ARRAY "List_A" Json_Put($Obj, ".List_A[2]", False) ; JSON_ARRAY "List_A" Json_Put($Obj, ".List_A[3]", Null) ; JSON_ARRAY "List_A" Json_Put($Obj, ".List_A[4]", "value_A=100") ; JSON_ARRAY "List_A" Json_Put($Obj, ".List_A[4].Object_1", "{}") ; JSON_OBJECT "Object_1" as subelement of JSON_ARRAY "List_A" Json_Put($Obj, ".List_A[4].Object_1.List_A_B[0]", "Test") ; JSON_ARRAY "List_A_B" as subelement of JSON_OBJECT "Object_1" which is subelement of JSON_ARRAY "List_A" Json_Put($Obj, ".List_A[4].Object_1.List_A_B[1]", True) ; JSON_ARRAY "List_A_B" as subelement of JSON_OBJECT "Object_1" which is subelement of JSON_ARRAY "List_A" Json_Put($Obj, ".List_A[4].Object_1.List_A_B[2]", False) ; JSON_ARRAY "List_A_B" as subelement of JSON_OBJECT "Object_1" which is subelement of JSON_ARRAY "List_A" Json_Put($Obj, ".List_A[4].Object_1.List_A_B[3]", Null) ; JSON_ARRAY "List_A_B" as subelement of JSON_OBJECT "Object_1" which is subelement of JSON_ARRAY "List_A" Json_Put($Obj, ".List_A[4].Object_1.List_A_B[4]", "value_A_B=100") ; JSON_OBJECT Json_Put($Obj, ".List_C[0]", "Test") ; JSON_CRRAY "List_C" Json_Put($Obj, ".List_C[1]", True) ; JSON_CRRAY "List_C" Json_Put($Obj, ".List_C[2]", False) ; JSON_CRRAY "List_C" Json_Put($Obj, ".List_C[3]", Null) ; JSON_CRRAY "List_C" Json_Put($Obj, ".List_C[4]", "value_C=100") ; JSON_CRRAY "List_C" Json_Put($Obj, ".List_D[0].Object_2.List_D_E[0]", "Test") ; JSON_DRRAY "List_D_E" as subelement of JSON_OBJECT "Object_2" which is subelement of JSON_DRRAY "List_D" Json_Put($Obj, ".List_D[0].Object_2.List_D_E[1]", True) ; JSON_DRRAY "List_D_E" as subelement of JSON_OBJECT "Object_2" which is subelement of JSON_DRRAY "List_D" Json_Put($Obj, ".List_D[0].Object_2.List_D_E[2]", False) ; JSON_DRRAY "List_D_E" as subelement of JSON_OBJECT "Object_2" which is subelement of JSON_DRRAY "List_D" Json_Put($Obj, ".List_D[0].Object_2.List_D_E[3]", Null) ; JSON_DRRAY "List_D_E" as subelement of JSON_OBJECT "Object_2" which is subelement of JSON_DRRAY "List_D" Json_Put($Obj, ".List_D[0].Object_2.List_D_E[4]", "value_D_E=100") ; JSON_OBJECT Json_Put($Obj, ".List_D[0].Object_3.List_D_F[0]", "Test") ; JSON_DRRAY "List_D_F" as subelement of JSON_OBJECT "Object_3" which is subelement of JSON_DRRAY "List_D" Json_Put($Obj, ".List_D[0].Object_3.List_D_F[1]", True) ; JSON_DRRAY "List_D_F" as subelement of JSON_OBJECT "Object_3" which is subelement of JSON_DRRAY "List_D" Json_Put($Obj, ".List_D[0].Object_3.List_D_F[2]", False) ; JSON_DRRAY "List_D_F" as subelement of JSON_OBJECT "Object_3" which is subelement of JSON_DRRAY "List_D" Json_Put($Obj, ".List_D[0].Object_3.List_D_F[3]", Null) ; JSON_DRRAY "List_D_F" as subelement of JSON_OBJECT "Object_3" which is subelement of JSON_DRRAY "List_D" Json_Put($Obj, ".List_D[0].Object_3.List_D_F[4]", "value_D_F=100") ; JSON_OBJECT Json_Put($Obj, ".Empty_object", "{}") ; JSON_OBJECT "Empty_object" with out any elements ConsoleWrite("JSON structure: " & Json_Encode($Obj) & @LF) ConsoleWrite("JSON structure PRETTY PRINT: " & @LF & Json_Encode($Obj, $JSON_PRETTY_PRINT) & @LF) EndFunc ;==>test7 it produce: { "Primitive_1": "Test", "Primitive_2": true, "Primitive_3": false, "Primitive_4": null, "List_A": [ "Test", true, false, null, { "Object_1": { "List_A_B": [ "Test", true, false, null, "value_A_B=100" ] } } ], "List_C": [ "Test", true, false, null, "value_C=100" ], "List_D": [ { "Object_2": { "List_D_E": [ "Test", true, false, null, "value_D_E=100" ] }, "Object_3": { "List_D_F": [ "Test", true, false, null, "value_D_F=100" ] } } ], "Empty_object": "{}" }1 point -
Date Range Picker
SkysLastChance reacted to Nine for a topic
@SkysLastChance I figured something I am pleased with. Clicking the month label, selects it. You can now drag the window using any place in the GUI background. Thanks for the suggestion. New version available1 point -
Hi @kurtykurtyboy. You're welcome! I'm always happy to know people enjoy my projects You don't need to call the __destructor method manually, it is all handled by AutoIt with the exception on script exit. The object destructor function and object memory cleanup is invoked when no more references to the object exists. So for example if you overwrite your $oColors variable after your ConsoleWrite with something else, the object cleanup will run. I see no issues with creating and assigning the objects within the loop, except you could end up allocating a lot of memory, if your ini file gets a lot bigger.1 point
-
I'm looking for an opinion on a specific scenario. (easy)
Xandy reacted to markyrocks for a topic
When you got skillz you don't need luck son.1 point -
Inconstancy of Upper and Lower case Letters with ControlSend
SkysLastChance reacted to Jos for a topic
Maybe: https://www.autoitscript.com/wiki/FAQ#Why_does_the_Ctrl_key_get_stuck_down_after_I_run_my_script.3F Jos1 point -
Middle Mouse Button Hotkey Toggle
BogdanNicolescu reacted to orly2173 for a topic
First of all thank you for your answer. I tried it and it works great! If I want the script to Press Enter, then sleep for 500ms and then Press the "A"-Key - where am I supposed to place the Sleep then? Thank you1 point -
Here a script which displays the difference between 2 images: #include <GDIPlus.au3> #include <WindowsConstants.au3> _GDIPlus_Startup() _WinAPI_BitmapsGetDiff(@ScriptDir & "\Filled.bmp", @ScriptDir & "\Logo4.bmp", @ScriptDir & "\Diff.png") ;change the file names here! ShellExecute(@ScriptDir & "\Diff.png") _GDIPlus_Shutdown() Func _WinAPI_BitmapsGetDiff($sFile1, $sFile2, $sSave, $iROP = $MERGEPAINT) ;coded by UEZ 2014-02-10 Local Const $hBitmap1 = _GDIPlus_BitmapCreateFromFile($sFile1) If @error Then Return SetError(1, 0, 0) Local Const $hBitmap2 = _GDIPlus_BitmapCreateFromFile($sFile2) If @error Then _GDIPlus_BitmapDispose($hBitmap1) Return SetError(2, 0, 0) EndIf Local Const $iW = _GDIPlus_ImageGetWidth($hBitmap1), $iH = _GDIPlus_ImageGetHeight($hBitmap1) If _GDIPlus_ImageGetWidth($hBitmap2) <> $iW Or _GDIPlus_ImageGetHeight($hBitmap2) <> $iH Then _GDIPlus_BitmapDispose($hBitmap1) _GDIPlus_BitmapDispose($hBitmap2) Return SetError(3, 0, 0) EndIf Local Const $hHBitmap1 = _WinAPI_CreateDIB($iW, $iH) Local Const $hD1 = _WinAPI_GetWindowDC(0) Local Const $hDC_backbuffer1 = _WinAPI_CreateCompatibleDC($hD1) Local Const $DC_obj1 = _WinAPI_SelectObject($hDC_backbuffer1, $hHBitmap1) Local Const $hGraphic1 = _GDIPlus_GraphicsCreateFromHDC($hDC_backbuffer1) _GDIPlus_GraphicsSetInterpolationMode($hGraphic1, 5) _GDIPlus_GraphicsDrawImageRect($hGraphic1, $hBitmap1, 0, 0, $iW, $iH) Local Const $hHBitmap2 = _WinAPI_CreateDIB($iW, $iH) Local Const $hD2 = _WinAPI_GetWindowDC(0) Local Const $hDC_backbuffer2 = _WinAPI_CreateCompatibleDC($hD2) Local Const $DC_obj2 = _WinAPI_SelectObject($hDC_backbuffer2, $hHBitmap2) Local Const $hGraphic2 = _GDIPlus_GraphicsCreateFromHDC($hDC_backbuffer2) _GDIPlus_GraphicsSetInterpolationMode($hGraphic2, 5) _GDIPlus_GraphicsDrawImageRect($hGraphic2, $hBitmap2, 0, 0, $iW, $iH) Local Const $hHBitmap3 = _WinAPI_CreateDIB($iW, $iH) Local Const $hD3 = _WinAPI_GetWindowDC(0) Local Const $hDC_backbuffer3 = _WinAPI_CreateCompatibleDC($hD3) Local Const $DC_obj3 = _WinAPI_SelectObject($hDC_backbuffer3, $hHBitmap3) _WinAPI_BitBlt($hDC_backbuffer3, 0, 0, $iW, $iH, $hDC_backbuffer1, 0, 0, $SRCCOPY) _WinAPI_BitBlt($hDC_backbuffer3, 0, 0, $iW, $iH, $hDC_backbuffer2, 0, 0, $iROP) _GDIPlus_BitmapDispose($hBitmap1) _GDIPlus_BitmapDispose($hBitmap2) $hBitmap3 = _GDIPlus_BitmapCreateFromHBITMAP($hHBitmap3) _GDIPlus_ImageSaveToFile($hBitmap3, $sSave) _GDIPlus_BitmapDispose($hBitmap3) _GDIPlus_GraphicsDispose($hGraphic1) _WinAPI_SelectObject($hD1, $DC_obj1) _WinAPI_DeleteDC($hDC_backbuffer1) _WinAPI_DeleteObject($hHBitmap1) _WinAPI_ReleaseDC(0, $hD1) _GDIPlus_GraphicsDispose($hGraphic2) _WinAPI_SelectObject($hD2, $DC_obj2) _WinAPI_DeleteDC($hDC_backbuffer2) _WinAPI_DeleteObject($hHBitmap2) _WinAPI_ReleaseDC(0, $hD2) _WinAPI_SelectObject($hD3, $DC_obj3) _WinAPI_DeleteDC($hDC_backbuffer3) _WinAPI_DeleteObject($hHBitmap3) _WinAPI_ReleaseDC(0, $hD3) Return 1 EndFunc Result: Edit: visually the images are the same and the question is how to recognize this.... Br, UEZ1 point