All Activity
- Today
-
I managed to reproduce the problem, everything is clear from the code. There are no problems with reading/restoring text. Maybe someone can tell me how to solve this - I will be very grateful. #include <WindowsConstants.au3> #include <WinApi.au3> #include <GDIPlus.au3> #include <ColorConstants.au3> #include <GUIConstantsEx.au3> #include <Misc.au3> #include <Array.au3> #include <WinAPISysWin.au3> #include <ColorConstants.au3> #include <GUIConstantsEx.au3> #include <Color.au3> #include <SCreencapture.au3> #include <GUIConstants.au3> #include <ScreenCapture.au3> #include <WindowsConstants.au3> #include <SendMessage.au3> #include <Clipboard.au3> OnAutoItExitRegister("__AutoItExit_ClipAll") Global $__bMemFree = False Global $avClip Global $aClip MsgBox(64, '', 'copy something') ;==== Its works only if the script is compiled!! ==== _ScreenshotSendToClipBoard() Sleep(500) ;================================================ _ClipBoard_Open(0) $iFormat = 0 $iCount = 0 $iIsBitmapData=0 Do $iFormat = _ClipBoard_EnumFormats($iFormat) If $iFormat <> 0 Then $iCount += 1 if _ClipBoard_FormatStr($iFormat) = 'Bitmap' Then _ $iIsBitmapData=1 EndIf Until $iFormat = 0 _ClipBoard_Close() if $iIsBitmapData Then _Clipboard_GetAll_byNine($aClip) ClipPut('Test string for testing') MsgBox(64,'','New value clipboard: ' & ClipGet()) _ClipBoard_PutAll_byNine($aClip) MsgBox(64, '_ClipBoard_PutAll_byNine', 'check that the buffer has been restored') Exit EndIf _Clipboard_GetAll($avClip) ClipPut('Test string for testing') MsgBox(64,'','New value clipboard: ' & ClipGet()) _ClipBoard_PutAll($avClip) MsgBox(64, '_ClipBoard_PutAll', 'check that the buffer has been restored') ;by wraithdu ;https://www.autoitscript.com/forum/topic/81267-_clipboard_getall-_clipboard_putall-_clipboard_wait/ Func _ClipBoard_GetAll(ByRef $avClip) Local $i = 0, $iFormat = 0, $hMem, $hMemNew, $pSource, $pDest, $iSize, $iErr = 0, $iErrEx = 0 If $__bMemFree = True Then __MemFree($avClip) Else Dim $avClip[1][2] EndIf If Not _ClipBoard_Open(0) Then Return SetError(1, 1, 0) Do $iFormat = _ClipBoard_EnumFormats($iFormat) If $iFormat = 0 Then ExitLoop $hMem = _ClipBoard_GetDataEx($iFormat) ; this can/will fail for some formats - don't know why yet, so let's continue without retutning an error If $hMem = 0 Then ContinueLoop ; copy the memory $pSource = _MemGlobalLock($hMem) If $pSource = 0 Then $iErr = 3 $iErrEx += 1 ExitLoop EndIf $iSize = _MemGlobalSize($hMem) $hMemNew = _MemGlobalAlloc($iSize, $GHND) If $hMemNew = 0 Then _MemGlobalUnlock($hMemNew) $iErr = 4 $iErrEx += 1 ExitLoop EndIf $pDest = _MemGlobalLock($hMemNew) If $pDest = 0 Then _MemGlobalFree($hMemNew) $iErr = 5 $iErrEx += 1 ExitLoop EndIf DllCall("msvcrt.dll", "int:cdecl", "memcpy_s", "ptr", $pDest, "ulong_ptr", $iSize, "ptr", $pSource, "ulong_ptr", $iSize) If @error Then $iErr = 6 $iErrEx += 1 EndIf _MemGlobalUnlock($hMem) _MemGlobalUnlock($hMemNew) $__bMemFree = True If $iErr = 6 Then __MemFree($avClip) ExitLoop EndIf ; add handle and format to array $i += 1 ReDim $avClip[$i + 1][2] $avClip[0][0] = $i $avClip[$i][0] = $hMemNew $avClip[$i][1] = $iFormat Until $iFormat = 0 If Not _ClipBoard_Close() Then $iErr = 5 If $iErr Then Return SetError($iErr, $iErrEx, 0) Return 1 EndFunc ;==>_ClipBoard_GetAll Func _ClipBoard_PutAll(ByRef $avClip) ; DO NOT free the memory handles after a call to this function - the system now owns the memory Local $iErr = 0, $iErrEx = 0 ; , $bOpen, $iTime $__bMemFree = False If Not IsArray($avClip) Or UBound($avClip, 0) <> 2 Or $avClip[0][0] < 1 Then Dim $avClip[1][2] Return SetError(1, 1, 0) EndIf ; test if clipboard can be opened ; if _ClipBoard_Open failes, the clipboard is likely still being updated, so we keep trying until it succeeds ;Local $hTimer = TimerInit() ;Do ; $bOpen = _ClipBoard_Open(0) ; Sleep(50) ; $iTime = TimerDiff($hTimer) ;Until $bOpen = 1 Or $iTime >= 2000 ;If $bOpen = 0 Then ; Return SetError(2, 1, 0) ;EndIf ; empty clipboard If Not _ClipBoard_Open(0) Then Return SetError(2, 1, 0) ; comment out if using the code above If Not _ClipBoard_Empty() Then _ClipBoard_Close() Return SetError(3, 1, 0) EndIf If Not _ClipBoard_Close() Then Return SetError(4, 1, 0) ; re-open clipboard and put data If Not _ClipBoard_Open(0) Then Return SetError(5, 1, 0) For $i = 1 To $avClip[0][0] If Not _ClipBoard_SetDataEx($avClip[$i][0], $avClip[$i][1]) Then $iErr = 6 $iErrEx += 1 EndIf Next If Not _ClipBoard_Close() Then $iErr = 7 $iErrEx += 1 EndIf If $iErr Then Return SetError($iErr, $iErrEx, 0) Return 1 EndFunc ;==>_ClipBoard_PutAll Func __MemFree(ByRef $avClip) Local $iErr = 0, $iErrEx = 0 If $__bMemFree = False Then Return ElseIf Not IsArray($avClip) Or UBound($avClip, 0) <> 2 Or $avClip[0][0] < 1 Then Dim $avClip[1][2] $__bMemFree = False Return SetError(1, 1, 0) EndIf For $i = 1 To $avClip[0][0] If Not _MemGlobalFree($avClip[$i][1]) Then $iErr = 2 $iErrEx += 1 EndIf Next $__bMemFree = False Dim $avClip[1][2] If $iErr Then Return SetError($iErr, $iErrEx, 0) Return 1 EndFunc ;==>__MemFree Func __AutoItExit_ClipAll() #forcedef $avClip __MemFree($avClip) EndFunc ;==>__AutoItExit_ClipAll ;func by Nine Func _Clipboard_GetAll_byNine(ByRef $aClip) Local $iFormat = 0, $iNum If Not _ClipBoard_Open(0) Then Return SetError(-1, 0, 0) $iNum = _ClipBoard_CountFormats() Dim $avClip[$iNum + 1][2] $avClip[0][0] = $iNum For $i = 1 To $iNum $iFormat = _ClipBoard_EnumFormats($iFormat) $avClip[$i][0] = $iFormat Next _ClipBoard_Close() For $i = 1 To $iNum $avClip[$i][1] = _ClipBoard_GetData($avClip[$i][0]) Next EndFunc ;==>_Clipboard_GetAll_byNine Func _ClipBoard_PutAll_byNine(ByRef $aClip) Local $bEmpty, $iErr = 0 If Not _ClipBoard_Open(0) Then Return SetError(-2, 0, 0) $bEmpty = _ClipBoard_Empty() _ClipBoard_Close() If Not $bEmpty Then Return SetError(-3, 0, 0) For $i = 1 To $avClip[0][0] If _ClipBoard_SetData($avClip[$i][1], $avClip[$i][0]) = 0 Then $iErr += 1 Next If $iErr Then Return SetError(-4, $iErr, 0) Else Return 1 EndIf EndFunc ;==>_ClipBoard_PutAll_byNine Func _ScreenshotSendToClipBoard() _GDIPlus_Startup() Local $hBMP = _ScreenCapture_Capture() _ClipBoard_Open(0) Local $hBitmap = _WinAPI_CopyImage($hBMP, 0, 0, 0, BitOR($LR_COPYDELETEORG, $LR_COPYRETURNORG)) _ClipBoard_Empty() _ClipBoard_SetDataEx($hBitmap, $CF_BITMAP) _ClipBoard_Close() EndFunc ;==>_ScreenshotSendToClipBoard ;========================================================
-
_ClipBoard_PutAll_byNine - supports restoring a screenshot in the clipboard (which was before), but does not support restoring the "file to insert" that was before in the clipboard _ClipBoard_PutAll - supports restoring the "file to insert" that was before in the clipboard, but does not support restoring a screenshot in the clipboard Please tell me, if it's not difficult, is it possible to somehow solve this? so that all the features work..
- Yesterday
-
I discovered a bug and have fixed and re-upped. This would have been present in the first version as well, and somehow I overlooked.
-
chatgptjapan joined the community
-
Updated to MD5Compare v1.2 I decided to add a couple more basic features to make it more complete ... even though I do use other software for those.
-
argumentum reacted to a post in a topic: DwmColorBlurMica
-
argumentum reacted to a post in a topic: DwmColorBlurMica
-
Thank you for sharing this. I will go over this later tonight and figure out the config, arrays, etc. But for now, I am worn out after smoothing out the File Explorer stuff (version 0.0.2). It's all good now but I need a break for a few hours.
-
WildByDesign reacted to a post in a topic: DwmColorBlurMica
-
-
argumentum reacted to a post in a topic: LibreOffice UDF Help and Support
-
argumentum reacted to a post in a topic: LibreOffice UDF Help and Support
-
Just for the heck of it, this would be "a" config file This is a configuration file, because that's the way I thought of it =D The only the lines that start with ">" are the field and the value/data of the field is after the first "=" from the left Therefore >MyNameIs=argumentum is a declaration, anything else in this file is just a comment. The more the comments, the better =) and the reader func #include <Debug.au3> _DebugArrayDisplay(ConfigReadingCRLF("MyFile.config.txt"), "Entry count: " & @extended) ; or watever extension we invent Func ConfigReadingCRLF($sFile) Local $aArray = FileReadToArray($sFile) Local $iIndex = 0, $aReturn[UBound($aArray) + 1][2] For $n = 0 To UBound($aArray) - 1 If StringLeft($aArray[$n], 1) <> ">" Then ContinueLoop If Not StringInStr($aArray[$n], "=") Then ContinueLoop $iIndex += 1 $aReturn[$iIndex][0] = StringStripWS(StringTrimLeft(StringLeft($aArray[$n], StringInStr($aArray[$n], "=", 0, 1) - 1), 1), 3) $aReturn[$iIndex][1] = StringStripWS(StringTrimLeft($aArray[$n], StringInStr($aArray[$n], "=", 0, 1)), 3) Next ReDim $aReturn[$iIndex + 1][2] $aReturn[0][0] = $iIndex $aReturn[0][1] = "ConfigFile" Return SetError(0, $iIndex, $aReturn) EndFunc that may look strange but who cares !, is functional. Go figure, in the future coders will use this most awesome brainstorming in their code and it'll become a standard 🤪 Joke aside, use a standard or another. But know that you are not limited by standards. Admittedly, a standard is better because is known. But that is all**. **There is this thing called computer "science" and those in it explore efficiencies and inefficiencies but I never cared much for that, unless I had to.
-
Thank you for the report, and for tracking down the bug @JALucena, it's greatly appreciated. I'll change that right away. I must have messed it up in modifying the order of the parameters previously. Glad to hear you like the UDF, and that it is working well for you. It's nice to know it is a help to somebody, plus we appreciate the bug testing. Best regards, Donny
-
donnyh13 reacted to a post in a topic: LibreOffice UDF Help and Support
-
..that, ...that will take some exploring. Maybe you could exclude a class naming convention given that a programing platform is the one that will not work well with M$ definitions or those are newer or something. In regards to users editing a file..., yes and no. The user should have a GUI that handles that. We are coders ( this is Sparta kind of thing ) and "users" are not coders so the likelihood of a regular user editing a file is remote, other than power users and even then, a GUI is a better place. Because lazy coders ( me most of the time ) say "set this in the ini file", does not mean that that, is how users should use software
-
argumentum reacted to a post in a topic: DwmColorBlurMica
-
WildByDesign reacted to a post in a topic: DwmColorBlurMica
-
I think that INI would be easier for user to modify. I just didn’t know if there were limitations to Value size. For example, I imagine there could be something like 10-30 process names in exclusion list or inclusion list. Nothing significant. I’m not sure yet if INI can hold that in one value or not. But I will test and find out. I was thinking of using iniread func to pull in as a string and use StringSplit func to create the array.
-
..also, @AppDataDir Path to current user's Roaming Application Data @LocalAppDataDir Path to current user's Local Application Data So I personally use those to keep stuff at in the format of @LocalAppDataDir & "\MyInitials(argg)\Project(awesomeness)\FilesThatAreNotExecutablesAreHere" And I call that portable too, just because I don't use the registry. My code knows where information is centralized at.
-
WildByDesign reacted to a post in a topic: DwmColorBlurMica
-
Use whatever you feel comfortable with. INI, XML, JSON, ...SQLite, ...anything that you can write to and read from is good. As far as portability, carrying 2 files or 20, is portable if it does not need a declaration. Say you keep a folder structure like, .\settings\thisfile and .\settings\thatFile, is all "portable" by definition. IniRead(), IniWrite(), Ini* whatever is internal to AutoIt3. SQLite would require an external file ( the DLL ) but is all portable, as far as portability goes. And you are not switching to XML given that there is no prior release version while you explore what is best for your project so, use XML if you feel comfortable with it. That's my view.
-
Question for anybody: If I am adding a process exclusion list and a process inclusion list to a configuration file, should I continue using the INI file or would it be better to switch to XML entirely? I am hoping to have only one single configuration file to keep things portable. I will likely bring the process exclusion/inclusion lists into two separate arrays. But what I don’t know is whether I should stick with the INI file or switch to XML. Any suggestions would be appreciated.
-
This script is evolving quite rapidly, therefore changes will be ongoing. This is inspired by the Great @argumentum and Win11myOwnBorderColor as much of the framework comes from that script. Note: This is for Windows 11 build 22621+ Using that script as a basis, I have since: Added separate variable for title bar color Added the ability to change window corner preference (eg. rounded corners, square corners, etc.) Added the ability to extend the frame into the client area Added ability to apply backdrop material (eg. Mica, Acrylic, Mica Alt (Tabbed), etc.) Fixed child windows not having colors applied (changed to SetWinEventHook) TO DO list at top of script of stuff that I still need to add At the moment, the script is running without Admin, therefore will only apply to user-mode apps. If you want to apply to all apps, remove the comment before #RequireAdmin. Eventually, I am going to add the ability to create a scheduled task (like Win11myOwnBorderColor already does). I already have an AutoIt tray tool, so I will probably integrate this into my other tray tool. I may keep it as a separate executable which would then be run as a scheduled task. Problems: If you run into any problems with any apps, you can press Esc key to close DwmColorBlurMica and any apps that were not happy with it, simply restart them. I have excluded some apps in the script, such as Explorer and Start menu. But I still need to work on an exclusion list (and maybe inclusion list) that is either in the INI file or other file. I would like to be able to eventually load those into an array at some point. Features: Change border color to any color Change title bar color to any color Enable dark mode app settings (particularly dark mode title bar) Apply backdrop material (eg. Mica, Acrylic, Mica Alt (Tabbed), etc.) to the title bar Applies settings to all currently running windows and new windows Extend title bar color and materials to client area * * Please note that the extending of color and materials to client area (DwmExtendFrameIntoClientArea) works best with pure dark themes. For example, Rectify11's Black (Mica) theme. Also, some apps simply don't work well with it. It is a feature that really should be Opt-in per process which is something that I still need to implement. The possibilities (especially when mixing some of these options) are almost endless. The screenshots below only show a small amount of what is possible. Screenshots: Changelog: Current script version: 0.0.2 DwmColorBlurMica.ini DwmColorBlurMica.au3
-
Hi everybody since two weeks ago i have been working with this UDF in several proyects and I think its great! In the past i worked with this UDF: https://www.autoitscript.com/forum/topic/151530-ooolibo-calc-udf/ which is fantastic too. I think i have found a bug in the function _LOCalc_DocViewWindowSettings from the library LibreOfficeCalc_Doc.au3. In the line 2161 there is a call to the function __LOCalc_ArrayFill and the fourth and fifth parameters are switched. where it says __LOCalc_ArrayFill($abView, $oCurCont.HasColumnRowHeaders(), $oCurCont.HasVerticalScrollBar(), $oCurCont.HasSheetTabs(), $oCurCont.HasHorizontalScrollBar(), _ it must be __LOCalc_ArrayFill($abView, $oCurCont.HasColumnRowHeaders(), $oCurCont.HasVerticalScrollBar(), $oCurCont.HasHorizontalScrollBar(), $oCurCont.HasSheetTabs(), _ After modified it works fine. Thank you for your job.
-
If we use a known CLSID, such as {00024500-0000-0000-C000-000000000046} (Excel.Application), it works correctly. However, to test something I like to use custom clsid with ObjGet, I encounter the error 0x80040154: Class not registered. Local $oClsid = custom clsid Local $oTest = ObjGet("", $oClsid) or Local $oTest = ObjGet('clsid:' & $oClsid) I attempted to resolve this using CoCreateInstance($oClsid, 0, 0x1, IDispatch, 0), but CoCreateInstance also failed. I know I can make it work using GetActiveObject. However, my question is: Is there a way to make a custom CLSID work with ObjGet using a WinAPI call?
-
Hi everyone! Please tell me why the functions for getting/restoring the clipboard are unstable? Over time the error appears: !>12:03:17 AutoIt3.exe ended.rc:-1073740940 The error also appears when using functions from Nine. sorry for my english.. #include <WindowsConstants.au3> #include <WinApi.au3> #include <GDIPlus.au3> #include <ColorConstants.au3> #include <GUIConstantsEx.au3> #include <Misc.au3> #include <Array.au3> #include <WinAPISysWin.au3> #include <ColorConstants.au3> #include <GUIConstantsEx.au3> #include <Color.au3> #include <SCreencapture.au3> #include <GUIConstants.au3> #include <ScreenCapture.au3> #include <WindowsConstants.au3> #include <SendMessage.au3> #include <Clipboard.au3> OnAutoItExitRegister("__AutoItExit_ClipAll") Global $__bMemFree = False Global $avClip Global $aClip ;result - error For $x=1 to 1000 ConsoleWrite('Attemp ' & $x & @CRLF) ;_ScreenshotSendToClipBoard() Send('{PRINTSCREEN}') ;!important _ClipBoard_GetAll($avClip) ClipPut('test string..') _ClipBoard_PutAll($avClip) Next ;by wraithdu ;https://www.autoitscript.com/forum/topic/81267-_clipboard_getall-_clipboard_putall-_clipboard_wait/ Func _ClipBoard_GetAll(ByRef $avClip) Local $i = 0, $iFormat = 0, $hMem, $hMemNew, $pSource, $pDest, $iSize, $iErr = 0, $iErrEx = 0 If $__bMemFree = True Then __MemFree($avClip) Else Dim $avClip[1][2] EndIf If Not _ClipBoard_Open(0) Then Return SetError(1, 1, 0) Do $iFormat = _ClipBoard_EnumFormats($iFormat) If $iFormat = 0 Then ExitLoop $hMem = _ClipBoard_GetDataEx($iFormat) ; this can/will fail for some formats - don't know why yet, so let's continue without retutning an error If $hMem = 0 Then ContinueLoop ; copy the memory $pSource = _MemGlobalLock($hMem) If $pSource = 0 Then $iErr = 3 $iErrEx += 1 ExitLoop EndIf $iSize = _MemGlobalSize($hMem) $hMemNew = _MemGlobalAlloc($iSize, $GHND) If $hMemNew = 0 Then _MemGlobalUnlock($hMemNew) $iErr = 4 $iErrEx += 1 ExitLoop EndIf $pDest = _MemGlobalLock($hMemNew) If $pDest = 0 Then _MemGlobalFree($hMemNew) $iErr = 5 $iErrEx += 1 ExitLoop EndIf DllCall("msvcrt.dll", "int:cdecl", "memcpy_s", "ptr", $pDest, "ulong_ptr", $iSize, "ptr", $pSource, "ulong_ptr", $iSize) If @error Then $iErr = 6 $iErrEx += 1 EndIf _MemGlobalUnlock($hMem) _MemGlobalUnlock($hMemNew) $__bMemFree = True If $iErr = 6 Then __MemFree($avClip) ExitLoop EndIf ; add handle and format to array $i += 1 ReDim $avClip[$i + 1][2] $avClip[0][0] = $i $avClip[$i][0] = $hMemNew $avClip[$i][1] = $iFormat Until $iFormat = 0 If Not _ClipBoard_Close() Then $iErr = 5 If $iErr Then Return SetError($iErr, $iErrEx, 0) Return 1 EndFunc ;==>_ClipBoard_GetAll Func _ClipBoard_PutAll(ByRef $avClip) ; DO NOT free the memory handles after a call to this function - the system now owns the memory Local $iErr = 0, $iErrEx = 0 ; , $bOpen, $iTime $__bMemFree = False If Not IsArray($avClip) Or UBound($avClip, 0) <> 2 Or $avClip[0][0] < 1 Then Dim $avClip[1][2] Return SetError(1, 1, 0) EndIf ; test if clipboard can be opened ; if _ClipBoard_Open failes, the clipboard is likely still being updated, so we keep trying until it succeeds ;Local $hTimer = TimerInit() ;Do ; $bOpen = _ClipBoard_Open(0) ; Sleep(50) ; $iTime = TimerDiff($hTimer) ;Until $bOpen = 1 Or $iTime >= 2000 ;If $bOpen = 0 Then ; Return SetError(2, 1, 0) ;EndIf ; empty clipboard If Not _ClipBoard_Open(0) Then Return SetError(2, 1, 0) ; comment out if using the code above If Not _ClipBoard_Empty() Then _ClipBoard_Close() Return SetError(3, 1, 0) EndIf If Not _ClipBoard_Close() Then Return SetError(4, 1, 0) ; re-open clipboard and put data If Not _ClipBoard_Open(0) Then Return SetError(5, 1, 0) For $i = 1 To $avClip[0][0] If Not _ClipBoard_SetDataEx($avClip[$i][0], $avClip[$i][1]) Then $iErr = 6 $iErrEx += 1 EndIf Next If Not _ClipBoard_Close() Then $iErr = 7 $iErrEx += 1 EndIf If $iErr Then Return SetError($iErr, $iErrEx, 0) Return 1 EndFunc ;==>_ClipBoard_PutAll Func __MemFree(ByRef $avClip) Local $iErr = 0, $iErrEx = 0 If $__bMemFree = False Then Return ElseIf Not IsArray($avClip) Or UBound($avClip, 0) <> 2 Or $avClip[0][0] < 1 Then Dim $avClip[1][2] $__bMemFree = False Return SetError(1, 1, 0) EndIf For $i = 1 To $avClip[0][0] If Not _MemGlobalFree($avClip[$i][1]) Then $iErr = 2 $iErrEx += 1 EndIf Next $__bMemFree = False Dim $avClip[1][2] If $iErr Then Return SetError($iErr, $iErrEx, 0) Return 1 EndFunc ;==>__MemFree Func __AutoItExit_ClipAll() #forcedef $avClip __MemFree($avClip) EndFunc ;==>__AutoItExit_ClipAll ;func by Nine Func _Clipboard_GetAll_byNine(ByRef $avClip) Local $iFormat = 0, $iNum If Not _ClipBoard_Open(0) Then Return SetError(-1, 0, 0) $iNum = _ClipBoard_CountFormats() Dim $avClip[$iNum + 1][2] $avClip[0][0] = $iNum For $i = 1 To $iNum $iFormat = _ClipBoard_EnumFormats($iFormat) $avClip[$i][0] = $iFormat Next _ClipBoard_Close() For $i = 1 To $iNum $avClip[$i][1] = _ClipBoard_GetData($avClip[$i][0]) Next EndFunc ;==>_Clipboard_GetAll_byNine Func _ClipBoard_PutAll_byNine(ByRef $avClip) Local $bEmpty, $iErr = 0 If Not _ClipBoard_Open(0) Then Return SetError(-2, 0, 0) $bEmpty = _ClipBoard_Empty() _ClipBoard_Close() If Not $bEmpty Then Return SetError(-3, 0, 0) For $i = 1 To $avClip[0][0] If _ClipBoard_SetData($avClip[$i][1], $avClip[$i][0]) = 0 Then $iErr += 1 Next If $iErr Then Return SetError(-4, $iErr, 0) Else Return 1 EndIf EndFunc ;==>_ClipBoard_PutAll_byNine Func _ScreenshotSendToClipBoard() _GDIPlus_Startup() Local $hBMP = _ScreenCapture_Capture() _ClipBoard_Open(0) Local $hBitmap = _WinAPI_CopyImage($hBMP, 0, 0, 0, BitOR($LR_COPYDELETEORG, $LR_COPYRETURNORG)) _ClipBoard_Empty() _ClipBoard_SetDataEx($hBitmap, $CF_BITMAP) _ClipBoard_Close() EndFunc ;==>_ScreenshotSendToClipBoard ;========================================================
-
Find Proxmox web interface ( or any local site really )
argumentum replied to argumentum's topic in AutoIt Example Scripts
What's New in Version 0.2505.0.30 The script assumed that only port 80 was HTTP so I fixed that. Also added nicer save to file report. Basically the same with some internal fixes. - Last week
-
QR Code Creator ( based on script by rossati )
dbs179 replied to BugFix's topic in AutoIt Example Scripts
Thank you, I did a search, but didn't search hard enough obviously. That got me sorted out again! -
QR Code Creator ( based on script by rossati )
TheXman replied to BugFix's topic in AutoIt Example Scripts
Have you tried the version in the Wiki? It was last edited by @BugFix in July 2024.