Leaderboard
Popular Content
Showing content with the highest reputation on 02/17/2021 in all areas
-
GUICtrlCreatePic in WMPlayer.ocx
Emanoel and one other reacted to pixelsearch for a topic
@CYCho : yeah it's nice like that, centered, as in the usual players. By the way, the line Local $iPos = 0 isn't needed anymore (I think Nine deleted it in his last edited script) @Nine : more important, I found something that needs a fix. 1) Let's say the music plays and you press the Pause Button => music stops and shuttle doesn't move anymore, Button caption changes to "Resume", all this is normal. 2) Then you left click anywhere inside the $idSongName control area (not on the shuttle) => Case $GUI_EVENT_PRIMARYDOWN is triggered, the shuttle new position is correctly calculated (GUICtrlSetPos), the media currentPosition property too ($oPlayer.Controls.currentPosition) and the music is heard again ($oPlayer.Controls.Play) Issue : the shuttle doesn't move anymore while the music is playing again and the Button still indicates "Resume" (it should indicate "Pause" because the music is now playing) Adding 2 lines could fix this : Case $GUI_EVENT_PRIMARYDOWN If GUIGetCursorInfo()[4] = $idSongName Then GUICtrlSetPos($idShuttle, MouseGetPos(0)) $x = MouseGetPos(0) / $iSliderLength * $iMediaLength $oPlayer.Controls.currentPosition = $x > $iMediaLength ? $iMediaLength : $x $oPlayer.Controls.Play AdlibRegister(Slider, $adlibInterval) ; <============ added GUICtrlSetData($idPause, "Pause") ; <============ added EndIf But... there's a 2nd case that should be considered : imagine the music is playing and we left click anywhere inside the $idSongName control area (not on the shuttle) => Case $GUI_EVENT_PRIMARYDOWN is triggered. In this 2nd case, the last 3 lines in Case $GUI_EVENT_PRIMARYDOWN aren't needed anymore and everything will work fine when they're commented : Case $GUI_EVENT_PRIMARYDOWN If GUIGetCursorInfo()[4] = $idSongName Then GUICtrlSetPos($idShuttle, MouseGetPos(0)) $x = MouseGetPos(0) / $iSliderLength * $iMediaLength $oPlayer.Controls.currentPosition = $x > $iMediaLength ? $iMediaLength : $x ;~ $oPlayer.Controls.Play ;~ AdlibRegister(Slider, $adlibInterval) ;~ GUICtrlSetData($idPause, "Pause") EndIf To solve both cases, maybe a test could be done (based on the Button caption "Resume" or "Pause") to know when the 3 lines just above are required (when the caption is "Resume") or superfluous (when the caption is "Pause") The easy way could be to use the 3 lines in both cases, but isn't it a bit dangerous to AdlibRegister() over and over without AdlibUnRegister() ? Good luck2 points -
GUICtrlCreatePic in WMPlayer.ocx
pixelsearch and one other reacted to Nine for a topic
Ok now : #include <GUIConstantsEx.au3> #include <StaticConstants.au3> #include <Constants.au3> #include <Misc.au3> #include <GDIPlus.au3> #include <Array.au3> Opt("MustDeclareVars", 1) Opt("MouseCoordMode", 2) Local $tImage _GDIPlus_Startup() Local $hImage = _ConvertStringToImage($tImage, 18, 18) Local $hBitmap = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hImage) _GDIPlus_ImageDispose($hImage) _GDIPlus_Shutdown() Local $hGui = GUICreate("WMPlayer.OCX", 400, 75, -1, -1) Local $idSongName = GUICtrlCreateButton("", 0, 0, 400, 20) GUICtrlSetState(-1, $GUI_DISABLE) Local $idShuttle = GUICtrlCreatePic("", 0, 0, 18, 18) GUICtrlSendMsg(-1, $STM_SETIMAGE, $IMAGE_BITMAP, $hBitmap) _WinAPI_DeleteObject($hBitmap) Local $idPause = GUICtrlCreateButton("Pause", 160, 40, 80, 20) Local $idProgress = GUICtrlCreateLabel("0:00", 4, 25, 45, 20, $SS_LEFT) ; current media position Local $idLength = GUICtrlCreateLabel("0:00", 350, 25, 45, 20, $SS_RIGHT) ; media length GUISetState(@SW_SHOW) Local $aPlayList[2] ; Put your own mp3 file paths in this playlist $aPlayList[0] = 1 ; number of files in the playlist $aPlayList[1] = "ZZTop - La Grange.wav" For $i = $aPlayList[0] To 1 Step -1 If Not FileExists($aPlayList[$i]) Then _ArrayDelete($aPlayList, $i) $aPlayList[0] -= 1 EndIf Next If Not $aPlayList[0] Then Exit MsgBox(0, "WMPlayer.ocx", "None of the files listed in $aPlayList array exists.", 5) Local $oPlayer = ObjCreate("WMPlayer.OCX") If Not IsObj($oPlayer) Then Exit MsgBox(0, "WMPlayer.OCX", "Cannot create a WMP object.", 5) Local $iSliderLength = 380 ; in pixels Local $adlibInterval = 250 ; in milliseconds $oPlayer.Settings.Volume = 100 Local $nFile = 0, $sFullPath, $hTimer, $sFile, $iMediaLength, $x While 1 $nFile += 1 If $nFile > $aPlayList[0] Then $nFile = 1 $sFullPath = $aPlayList[$nFile] $oPlayer.URL = $sFullPath $hTimer = TimerInit() While $oPlayer.playState <> 3 ; 1 - stopped, 2 - paused, 3 - playing If TimerDiff($hTimer) > 3000 Then MsgBox(0, "WMPlayer.OCX", $sFullPath & @CRLF & @CRLF & "Cannot play this file.", 5) ExitLoop EndIf Sleep(10) WEnd If $oPlayer.playState <> 3 Then ContinueLoop $sFile = StringMid($sFullPath, StringInStr($sFullPath, "\", 0, -1) + 1) GUICtrlSetData($idSongName, $sFile) $iMediaLength = Int($oPlayer.currentMedia.Duration) ; in seconds GUICtrlSetData($idLength, Int($iMediaLength / 60) & ":" & StringFormat("%02i", Mod($iMediaLength, 60))) AdlibRegister(Slider, $adlibInterval) While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE $oPlayer.Close() Exit Case $idPause If GUICtrlRead($idPause) = "Pause" Then $oPlayer.Controls.Pause AdlibUnRegister() GUICtrlSetData($idPause, "Resume") Else $oPlayer.Controls.Play AdlibRegister(Slider) GUICtrlSetData($idPause, "Pause") EndIf Case $idShuttle AdlibUnRegister() While _IsPressed("01") $x = MouseGetPos(0) GUICtrlSetPos($idShuttle, $x) Sleep(10) WEnd $oPlayer.Controls.currentPosition = $x / $iSliderLength * $iMediaLength $oPlayer.Controls.Play AdlibRegister(Slider, $adlibInterval) GUICtrlSetData($idPause, "Pause") Case $GUI_EVENT_PRIMARYDOWN If GUIGetCursorInfo()[4] = $idSongName Then GUICtrlSetPos($idShuttle, MouseGetPos(0)) $x = MouseGetPos(0) / $iSliderLength * $iMediaLength $oPlayer.Controls.currentPosition = $x > $iMediaLength ? $iMediaLength : $x $oPlayer.Controls.Play EndIf EndSwitch If $oPlayer.playState = 1 Then ExitLoop WEnd WEnd Func Slider() Local $iMP = $oPlayer.Controls.currentPosition Local $iPos = $iMP * $iSliderLength / $iMediaLength GUICtrlSetPos($idShuttle, $iPos) GUICtrlSetData($idProgress, Int($iMP / 60) & ":" & StringFormat("%02i", Mod($iMP, 60))) EndFunc ;==>Slider ; based on https://www.autoitscript.com/forum/topic/204254-saveretrieve-images-tofrom-text-string/ Func _ConvertStringToImage(ByRef $tBuffer, $iWidth, $iHeight) Local Const $IMAGE = "FFF6DAFFFFF1D7FF4E341CFF44311CFF40311EFF493726FF4A3020FF563525FF533121FF52331EFF4E331EFF4B351CFF49351CFF4B351CFF52321FFF473125FFF6F5F7FFE2EDF5FFFFF6DCFF54361DFF78634DFF716350FF7D7361FF746757FF745F50FF7F6557FF836657FF816756FF7C6954FF786A53FF786A54FF7A6954FF806856FF7C6758FF2E271EFFF6F7EEFF4E341CFF826D57FF736A56FF6B6957FF616153FF636156FF756C62FF77695DFF746457FF726555FF6E6655FF6B6754FF6B6755FF6D6655FF726557FF776653FF897455FF4D3610FF4E3B26FF6F614EFF6B6957FF707566FF5C6459FF6E736AFF67655DFF666059FF6F685FFF6D695EFF686A5EFF666A5EFF646B5EFF686A5EFF6D685FFF786A58FF876A43FF5E3B09FF3C2D1AFF786E5CFF656557FF5A6257FF5F6963FF545D5AFF5F6260FF696766FF676362FF656460FF5F6560FF5C675FFF5C6660FF5E6560FF636462FF6F6659FF836A48FF5F3E11FF4B3928FF766959FF615F54FF6A6F66FF5B6461FF666E6EFF5D5F60FF6D6A6CFF696466FF656565FF606665FF5C6765FF5C6666FF5E6666FF636468FF70675EFF826A4CFF573910FF472D1DFF7C6758FF797066FF605E56FF5C5F5DFF636566FF696269FF615960FF6A5F67FF676166FF616266FF5F6364FF5E6366FF5F6266FF656167FF6F635FFF82694FFF53360FFF563526FF785E50FF76685CFF6B655EFF676564FF6B686AFF665E65FF70656FFF6D6068FF6B6068FF666267FF626367FF606368FF646268FF69606AFF746360FF836A50FF563912FF543222FF826556FF756558FF6F685FFF686463FF686365FF6C6169FF6D6068FF6F6068FF6B6068FF666267FF626465FF626367FF646367FF696168FF746360FF846A4CFF583A11FF543320FF7F6554FF736656FF6D695EFF666561FF646464FF696267FF6B6068FF6B6068FF696267FF626465FF606465FF606465FF626465FF686267FF72645EFF826A4EFF563912FF4F341FFF7A6752FF6F6756FF6A6A5EFF606661FF5F6564FF646367FF666267FF666267FF626465FF5F6564FF5B6664FF5B6664FF5F6564FF646365FF6F655EFF7D6852FF513818FF4C361DFF766851FF6C6856FF666A5EFF5F6760FF5D6564FF606367FF626367FF626367FF606465FF5B6664FF596763FF596763FF5D6663FF646563FF6D665DFF7D6852FF513818FF4A361DFF766851FF6C6856FF646B5EFF5D6761FF5B6664FF5F6467FF606367FF626367FF606465FF5B6664FF596763FF5B6761FF5D6761FF646561FF70665CFF806A4EFF563914FF4D351FFF786752FF6E6756FF686A5EFF5F6661FF5D6565FF606368FF646268FF646268FF626465FF5F6564FF5D6663FF5F6661FF626661FF686561FF74665AFF846B4BFF5A3A11FF533320FF7E6654FF736658FF6D685FFF646563FF626465FF666268FF696168FF696168FF686267FF646365FF626563FF646561FF686561FF6F6361FF79655AFF866A4CFF583912FF513322FF7F6554FF766656FF74685CFF6D665DFF6D655EFF706361FF726361FF726361FF726360FF6F6460FF6D655EFF6F665DFF72665CFF77645CFF7D6657FF82694FFF513816FFFFF8E7FF463220FF83705BFF7B6952FF7B6650FF7F6950FF7F674FFF7E664EFF816854FF806854FF7E6954FF7E6954FF7E6954FF806953FF836951FF816953FF483520FFFFF4DEFFFFEFDEFFFFF1DEFF442F19FF483117FF5A4121FF4F3412FF563815FF583C1AFF533617FF523618FF50351AFF50351AFF50351AFF503618FF533518FF4E361AFFF9E9D8FFFFFFF4FF" Return _ReadImageFromText($tBuffer, $IMAGE, $iWidth, $iHeight) EndFunc ;==>_ConvertStringToImage Func _ReadImageFromText(ByRef $tByte, $sString, $iWidth, $iHeight, $bFileName = False) ; Recreate image from text file If $bFileName Then $sString = FileRead($sString) Local $dData = Binary("0x" & $sString) $tByte = DllStructCreate("byte string[" & $iWidth * $iHeight * 4 & "]") DllStructSetData($tByte, 1, $dData) Return _GDIPlus_BitmapCreateFromScan0($iWidth, $iHeight, $GDIP_PXF32ARGB, $iWidth * 4, DllStructGetPtr($tByte, "string")) EndFunc ;==>_ReadImageFromText2 points -
Version 6.1.3.2
3,505 downloads
This file is the source code for zPlayer, which is a stand-alone, simple, intuitive and easy-to-use, yet fully functional media player. I made this to suit my purpose and you can tweak it to your taste. zPlayer is powered by winmm.dll which is an integral part of Windows. This player has the following features: - No 3rd party dependencies. This player is made with Windows components and standard AutoIt UDFs only - Play back all formats of digital media files as far as proper codecs are installed in the computer - Video window is independent of other windows. Minimal GUI for music - Can load files, folders or an audio CD for playback - Playlists are automatically generated in sorted and shuffled orders and saved in the folder - Playlist is hidden by default, availbable when desired - Context menus available: Play this file, File properties, Search internet, Go to this folder, Remove from playlist - A double-click on any item plays that item - Search strings in the playlist - Forward, backward, pause, change folder - A-B repeat, current file repeat and multiple-file repeat functions - Increase/decrease/mute program sound volume. Synchronized with Windows Volume Mixer - Save play-back environment when terminating a session and resume that environment in the next session - 'Resume playback' option for a file left off in the middle of playback. Audio fade-in when playback is resumed - Hotkeys available for most of the functions - Very small footprint: very low CPU and memory usage The script is set to run or compile in x64 mode. You can change this setting by commenting out #AutoIt3Wrapper_UseX64=Y. zPlayer.exe, attached hereto, was compiled in x64 mode and is not flagged by Windows Defender as malicious. If you compile the script to an x86 file, the resulting zPlayer.exe will most probably be falsely flagged by Windows Defender as malicious. If you find an error, please download the latest version as most probably the error may have been corrected already. Otherwise I would appreciate it very much if you could kindly let me know. The download section includes zPlayer-NoUI.au3. This is an abbreviated version of zPlayer, which is a music player controlled by hotkeys only, without a GUI. Note: zPlayer is the name I used when I introduced the early version of this player in my blog in 2009 and has nothing to do with the mobile media player of the same name which started marketing in 2015.1 point -
OOo/LibO Calc UDF
rohmanabdur reacted to GMK for a topic
I decided to enhance the functionality of the OOo COM UDF found >here and >here. Thanks to Leagnus and Andy G for providing the initial functions and framework. This UDF includes the following working functions: _OOoCalc_BookNew _OOoCalc_BookOpen _OOoCalc_BookAttach _OOoCalc_BookSave _OOoCalc_BookSaveAs _OOoCalc_BookClose _OOoCalc_WriteCell _OOoCalc_WriteFormula _OOoCalc_WriteFromArray _OOoCalc_HyperlinkInsert _OOoCalc_RangeMoveOrCopy _OOoCalc_RangeSort _OOoCalc_RangeClearContents _OOoCalc_CreateBorders _OOoCalc_NumberFormat _OOoCalc_ReadCell _OOoCalc_ReadSheetToArray _OOoCalc_RowDelete _OOoCalc_ColumnDelete _OOoCalc_RowInsert _OOoCalc_ColumnInsert _OOoCalc_SheetAddNew _OOoCalc_SheetDelete _OOoCalc_SheetNameGet _OOoCalc_SheetNameSet _OOoCalc_SheetList _OOoCalc_SheetActivate _OOoCalc_SheetSetVisibility _OOoCalc_SheetMove _OOoCalc_SheetPrint _OOoCalc_HorizontalAlignSet _OOoCalc_FontSetProperties _OOoCalc_CellSetColors _OOoCalc_RowSetColors _OOoCalc_ColumnSetColors _OOoCalc_RowSetProperties _OOoCalc_ColumnSetProperties _OOoCalc_FindInRange _OOoCalc_ReplaceInRange Please help me test this and let me know of any problems, questions, suggestions or comments you may have. Edit (August 5, 2016): Latest files have been uploaded. Script-breaking changes include renaming the functions to start with _OOoCalc_. Edit (November 14, 2016): New version, including fixed sort function! Edit (November 15, 2016): Lots of minor changes including tightening up the error checking. Edit (November 16, 2016): Added ByRef to object parameters. Edited demo. OOoCalcConstants.au3 OOoCalc.au3 OOoCalc_Demo.au31 point -
This is based on this topic. With this UDF, you can define all the HotKeySet you want on any of the keyboards. The keys registered as HotKeySet are not sent to the active window. I also created a "Event-driven" mode for lengthy procedure. There is still the immediate action mode for short procedure. Note that in Event-driven mode, you will need to create an close loop to intercept the HotKey events. Events are asynchronous. In Event-driven mode only one procedure can be running at a given time. But immediate action procedure can interrupt a Event-driven procedure. All procedures are declared as actual function (without quotes). It is important that lengthy procedure should be declared as Event-driven, otherwise the system may become unstable. Version 2024-01-04 * Added support to {LEFT} and {RIGHT} keys * Added more information about keyboards in list * Added new parameter to _MKHKS_Initialize to exclude a specific keyboard from the list. To do so, you simply provide partial part (as a string) of the device name. Version 2024-01-03 * Added support to Send command, Hotkey must be set for the first keyboard. Version 2022-12-22 * Added support to register the same Hotkey on multiple keyboards (same or different functions) * Added possibility to unregister a Hotkey for a particular keyboard * Added validation on registering the same Hotkey twice It may happen that the list would provide more keyboards than they are actually connected. To exclude one particular keyboard, you could run the following example and test the hotkeys (0, 1, 2, ...) on each keyboard to see which ones are responding. Then you can provide partial string of the device to be excluded with the _MKHKS_Initialize function. #include "MKHKS-UDF.au3" Example() Func Example() HotKeySet("{END}", _Exit) Local $iNumKB = _MKHKS_Initialize() For $i = 0 To $iNumKB - 1 _MKHKS_Register_HotKey(String($i), _Test, $i, False) ; set hotkey to keyboard number (0, 1, 2,...) Next While Sleep(50) WEnd EndFunc ;==>Example Func _Exit() Exit EndFunc ;==>_Exit Func _Test() ConsoleWrite("Test succeeded - " & @HotKeyPressed & " was Key Pressed" & @CRLF) EndFunc ;==>_Test As usual if you have any suggestion, I would be very interested to hear them. MKHKS-UDF.zip1 point
-
AutoItObject Pure AutoIt
argumentum reacted to genius257 for a topic
version: 3.0.0 changes Most notable change: ROT¹ support! 🎊 ¹ Running Object Table1 point -
GUICtrlCreatePic in WMPlayer.ocx
Emanoel reacted to pixelsearch for a topic
@Nine : all sounds good now, great piece of code and bravo for the back and forward song buttons ! There's just one line that should be modified to match all others AdlibRegister() syntax, in case someone changes the default value of $adlibInterval = 250 to something else : AdlibRegister(Slider) AdlibRegister(Slider, $adlibInterval) Thanks @Emanoel & @CYCho for your ideas Time to prepare the playlist1 point -
1 point
-
Microsoft Edge - WebView2, embed web code in your native application
argumentum reacted to mLipok for a topic
In some sens it is possible but for now a distant in time. WIP.1 point -
GUICtrlCreatePic in WMPlayer.ocx
pixelsearch reacted to Emanoel for a topic
@Nine, I've added Opt("MouseCoordMode", 2) to code and now it's working great. Can't thank you enough 🧡🌹.1 point -
rony2006, Here is a Beta UDF with a new function: GUIListViewEx_Select.au3 ; #FUNCTION# ========================================================================================================= ; Name...........: _GUIListViewEx_SelectItem ; Description ...: Programatically selects a row, and item if single selection available ; Syntax.........: _GUIListViewEx_SelectItem($iRow[, $iCol]) ; Parameters ....: $iRow - 0-based row to select ; $iCol - 0-based column to select - only if single cell selection is available ; Requirement(s).: v3.3.10 + ; Return values .: Success: 1 ; Failure: 0 and sets @error as follows: ; 1 = Invalid row parameter ; 2 = Invalid column parameter ; Author ........: Melba23 ; Modified ......: ; Remarks .......: Operates on active ListView - use _GUIListViewEx_SetActive to select ; Example........: Yes ;===================================================================================================================== Please let me know if it meets your requirements. M231 point
-
@Emanoel There is an extremely important Opt at the beginning of the script... But now you are mixing old and new code. At the current state, your script will never work correctly.1 point
-
Do you have a server that we can use to test the code? I would rather not have to start implementing a server myself.1 point
-
Fastest Click Detection?
JockoDundee reacted to Nine for a topic
Nah, it is your mouse that double-clicked. Time to change your mouse like someone already suggested.1 point -
GUICtrlCreatePic in WMPlayer.ocx
pixelsearch reacted to Nine for a topic
Alright guys. I implemented your suggestions. I added back and forward song buttons. I thought I would use the actual object to know the play state. I also remove the blinking of the current play time.1 point -
Wine user base has left the building.1 point
-
I have problem with Opt("SendKeyDelay", 0) and my laptop.
FrancescoDiMuro reacted to Jos for a topic
Your line 5 is wrong! (When you want some real help you post your script and tell us which program you are automating. ) Jos1 point -
Exactly. _Singleton uses parameter 1 to identify a script instance. It doesn't matter which script uses the identifier.1 point
-
GUICtrlCreatePic in WMPlayer.ocx
pixelsearch reacted to CYCho for a topic
Just a small detail on @Nine's code: I thought it woud be good to align the mouse position with the center of shuttle. So here it is: #include <GUIConstantsEx.au3> #include <StaticConstants.au3> #include <Constants.au3> #include <Misc.au3> #include <GDIPlus.au3> #include <Array.au3> Opt("MustDeclareVars", 1) Opt("MouseCoordMode", 2) Local $tImage _GDIPlus_Startup() Local $hImage = _ConvertStringToImage($tImage, 18, 18) Local $hBitmap = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hImage) _GDIPlus_ImageDispose($hImage) _GDIPlus_Shutdown() Local $hGui = GUICreate("WMPlayer.OCX", 400, 75, -1, -1) Local $idSongName = GUICtrlCreateButton("", 0, 0, 400, 20) GUICtrlSetState(-1, $GUI_DISABLE) Local $iShuttleWidth = 18 Local $idShuttle = GUICtrlCreatePic("", 0, 0, $iShuttleWidth, 18) GUICtrlSendMsg(-1, $STM_SETIMAGE, $IMAGE_BITMAP, $hBitmap) _WinAPI_DeleteObject($hBitmap) Local $idPause = GUICtrlCreateButton("Pause", 160, 40, 80, 20) Local $idProgress = GUICtrlCreateLabel("0:00", 4, 25, 45, 20, $SS_LEFT) ; current media position Local $idLength = GUICtrlCreateLabel("0:00", 350, 25, 45, 20, $SS_RIGHT) ; media length GUISetState(@SW_SHOW) Local $aPlayList[2] ; Put your own mp3 file paths in this playlist $aPlayList[0] = 1 ; number of files in the playlist $aPlayList[1] = "C:\Users\CYCho\Downloads\King Crimson - 21st Century Schizoid Man.mp3" For $i = $aPlayList[0] To 1 Step -1 If Not FileExists($aPlayList[$i]) Then _ArrayDelete($aPlayList, $i) $aPlayList[0] -= 1 EndIf Next If Not $aPlayList[0] Then Exit MsgBox(0, "WMPlayer.ocx", "None of the files listed in $aPlayList array exists.", 5) Local $oPlayer = ObjCreate("WMPlayer.OCX") If Not IsObj($oPlayer) Then Exit MsgBox(0, "WMPlayer.OCX", "Cannot create a WMP object.", 5) Local $iSliderLength = 380 ; in pixels Local $adlibInterval = 250 ; in milliseconds $oPlayer.Settings.Volume = 100 Local $nFile = 0, $sFullPath, $hTimer, $sFile, $iMediaLength, $x While 1 $nFile += 1 If $nFile > $aPlayList[0] Then $nFile = 1 $sFullPath = $aPlayList[$nFile] $oPlayer.URL = $sFullPath $hTimer = TimerInit() While $oPlayer.playState <> 3 ; 1 - stopped, 2 - paused, 3 - playing If TimerDiff($hTimer) > 3000 Then MsgBox(0, "WMPlayer.OCX", $sFullPath & @CRLF & @CRLF & "Cannot play this file.", 5) ExitLoop EndIf Sleep(10) WEnd If $oPlayer.playState <> 3 Then ContinueLoop $sFile = StringMid($sFullPath, StringInStr($sFullPath, "\", 0, -1) + 1) GUICtrlSetData($idSongName, $sFile) $iMediaLength = Int($oPlayer.currentMedia.Duration) ; in seconds GUICtrlSetData($idLength, Int($iMediaLength / 60) & ":" & StringFormat("%02i", Mod($iMediaLength, 60))) AdlibRegister(Slider, $adlibInterval) While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE $oPlayer.Close() Exit Case $idPause If GUICtrlRead($idPause) = "Pause" Then $oPlayer.Controls.Pause AdlibUnRegister() GUICtrlSetData($idPause, "Resume") Else $oPlayer.Controls.Play AdlibRegister(Slider) GUICtrlSetData($idPause, "Pause") EndIf Case $idShuttle AdlibUnRegister() While _IsPressed("01") $x = MouseGetPos(0) GUICtrlSetPos($idShuttle, $x-$iShuttleWidth/2) Sleep(10) WEnd $oPlayer.Controls.currentPosition = ($x-$iShuttleWidth/2) / $iSliderLength * $iMediaLength $oPlayer.Controls.Play AdlibRegister(Slider, $adlibInterval) GUICtrlSetData($idPause, "Pause") Case $GUI_EVENT_PRIMARYDOWN If GUIGetCursorInfo()[4] = $idSongName Then GUICtrlSetPos($idShuttle, MouseGetPos(0)-$iShuttleWidth/2) $x = (MouseGetPos(0)-$iShuttleWidth/2) / $iSliderLength * $iMediaLength $oPlayer.Controls.currentPosition = $x > $iMediaLength ? $iMediaLength : $x $oPlayer.Controls.Play EndIf EndSwitch If $oPlayer.playState = 1 Then ExitLoop WEnd WEnd Func Slider() Local $iMP = $oPlayer.Controls.currentPosition Local $iPos = $iMP * $iSliderLength / $iMediaLength GUICtrlSetPos($idShuttle, $iPos) GUICtrlSetData($idProgress, Int($iMP / 60) & ":" & StringFormat("%02i", Mod($iMP, 60))) EndFunc ;==>Slider ; based on https://www.autoitscript.com/forum/topic/204254-saveretrieve-images-tofrom-text-string/ Func _ConvertStringToImage(ByRef $tBuffer, $iWidth, $iHeight) Local Const $IMAGE = "FFF6DAFFFFF1D7FF4E341CFF44311CFF40311EFF493726FF4A3020FF563525FF533121FF52331EFF4E331EFF4B351CFF49351CFF4B351CFF52321FFF473125FFF6F5F7FFE2EDF5FFFFF6DCFF54361DFF78634DFF716350FF7D7361FF746757FF745F50FF7F6557FF836657FF816756FF7C6954FF786A53FF786A54FF7A6954FF806856FF7C6758FF2E271EFFF6F7EEFF4E341CFF826D57FF736A56FF6B6957FF616153FF636156FF756C62FF77695DFF746457FF726555FF6E6655FF6B6754FF6B6755FF6D6655FF726557FF776653FF897455FF4D3610FF4E3B26FF6F614EFF6B6957FF707566FF5C6459FF6E736AFF67655DFF666059FF6F685FFF6D695EFF686A5EFF666A5EFF646B5EFF686A5EFF6D685FFF786A58FF876A43FF5E3B09FF3C2D1AFF786E5CFF656557FF5A6257FF5F6963FF545D5AFF5F6260FF696766FF676362FF656460FF5F6560FF5C675FFF5C6660FF5E6560FF636462FF6F6659FF836A48FF5F3E11FF4B3928FF766959FF615F54FF6A6F66FF5B6461FF666E6EFF5D5F60FF6D6A6CFF696466FF656565FF606665FF5C6765FF5C6666FF5E6666FF636468FF70675EFF826A4CFF573910FF472D1DFF7C6758FF797066FF605E56FF5C5F5DFF636566FF696269FF615960FF6A5F67FF676166FF616266FF5F6364FF5E6366FF5F6266FF656167FF6F635FFF82694FFF53360FFF563526FF785E50FF76685CFF6B655EFF676564FF6B686AFF665E65FF70656FFF6D6068FF6B6068FF666267FF626367FF606368FF646268FF69606AFF746360FF836A50FF563912FF543222FF826556FF756558FF6F685FFF686463FF686365FF6C6169FF6D6068FF6F6068FF6B6068FF666267FF626465FF626367FF646367FF696168FF746360FF846A4CFF583A11FF543320FF7F6554FF736656FF6D695EFF666561FF646464FF696267FF6B6068FF6B6068FF696267FF626465FF606465FF606465FF626465FF686267FF72645EFF826A4EFF563912FF4F341FFF7A6752FF6F6756FF6A6A5EFF606661FF5F6564FF646367FF666267FF666267FF626465FF5F6564FF5B6664FF5B6664FF5F6564FF646365FF6F655EFF7D6852FF513818FF4C361DFF766851FF6C6856FF666A5EFF5F6760FF5D6564FF606367FF626367FF626367FF606465FF5B6664FF596763FF596763FF5D6663FF646563FF6D665DFF7D6852FF513818FF4A361DFF766851FF6C6856FF646B5EFF5D6761FF5B6664FF5F6467FF606367FF626367FF606465FF5B6664FF596763FF5B6761FF5D6761FF646561FF70665CFF806A4EFF563914FF4D351FFF786752FF6E6756FF686A5EFF5F6661FF5D6565FF606368FF646268FF646268FF626465FF5F6564FF5D6663FF5F6661FF626661FF686561FF74665AFF846B4BFF5A3A11FF533320FF7E6654FF736658FF6D685FFF646563FF626465FF666268FF696168FF696168FF686267FF646365FF626563FF646561FF686561FF6F6361FF79655AFF866A4CFF583912FF513322FF7F6554FF766656FF74685CFF6D665DFF6D655EFF706361FF726361FF726361FF726360FF6F6460FF6D655EFF6F665DFF72665CFF77645CFF7D6657FF82694FFF513816FFFFF8E7FF463220FF83705BFF7B6952FF7B6650FF7F6950FF7F674FFF7E664EFF816854FF806854FF7E6954FF7E6954FF7E6954FF806953FF836951FF816953FF483520FFFFF4DEFFFFEFDEFFFFF1DEFF442F19FF483117FF5A4121FF4F3412FF563815FF583C1AFF533617FF523618FF50351AFF50351AFF50351AFF503618FF533518FF4E361AFFF9E9D8FFFFFFF4FF" Return _ReadImageFromText($tBuffer, $IMAGE, $iWidth, $iHeight) EndFunc ;==>_ConvertStringToImage Func _ReadImageFromText(ByRef $tByte, $sString, $iWidth, $iHeight, $bFileName = False) ; Recreate image from text file If $bFileName Then $sString = FileRead($sString) Local $dData = Binary("0x" & $sString) $tByte = DllStructCreate("byte string[" & $iWidth * $iHeight * 4 & "]") DllStructSetData($tByte, 1, $dData) Return _GDIPlus_BitmapCreateFromScan0($iWidth, $iHeight, $GDIP_PXF32ARGB, $iWidth * 4, DllStructGetPtr($tByte, "string")) EndFunc ;==>_ReadImageFromText1 point -
To wake you up King Crimson - 21st Century Schizoid Man.mp31 point
-
GUICtrlCreatePic in WMPlayer.ocx
CYCho reacted to pixelsearch for a topic
@Nine : perfect, thanks ! @CYCho : great job, I just tried it now. Bravo to both of you1 point -
Fastest Click Detection?
argumentum reacted to pseakins for a topic
Get a new mouse or try to get the old one replaced under warranty.1 point -
Microsoft Edge - WebView2, embed web code in your native application
argumentum reacted to mLipok for a topic
.... by Creating API_ARRAY . We should have ARRAY with GUID as first element to check if user pass proper API_ARRAY to function. API_ARRAY should have enumerated elements (declared by Global Enum's ). User should create API_ARRAY at start and use them for desired WebView2 instance/window. If he want to have 2 separate instance/window then user should crate separate API_ARRAY variables for each WebView2 instance/window. API_ARRAY should be always passed to function as ByRef The only Global variables should be enums for selecting API_ARRAY elements.1 point -
rony2006, There is no equivalent of _GUICtrlListView_SetItemSelected in the UDF - I will look and see if I can provide one, but do not hold your breath. As to the colour problem, you will need to post a reproductor script or there is little I can do to help you. M23 Edit: Actually at first glance the _SetItemSelected function looks pretty easy so watch this space.1 point
-
GUICtrlCreatePic in WMPlayer.ocx
argumentum reacted to Nine for a topic
I do not understand why it is easier to work with a button, but here you go : #include <ButtonConstants.au3> #include <GUIConstantsEx.au3> #include <StaticConstants.au3> #include <Constants.au3> #include <Misc.au3> #include <GDIPlus.au3> #include <Array.au3> #include <GuiButton.au3> #include <GuiImageList.au3> Opt("MustDeclareVars", 1) Local $tImage _GDIPlus_Startup() Local $hImage = _ConvertStringToImage($tImage, 18, 18) Local $hBitmap = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hImage) _GDIPlus_ImageDispose($hImage) _GDIPlus_Shutdown() Local $hGui = GUICreate("WMPlayer.OCX", 400, 75, -1, -1) Local $idSongName = GUICtrlCreateButton("", 0, 0, 400, 20) GUICtrlSetState(-1, $GUI_DISABLE) Local $Shuttle = GUICtrlCreateButton("", 0, 0, 20, 20) Local $hImageList=_GUIImageList_Create() _GUIImageList_Add($hImageList, $hBitmap) _GUICtrlButton_SetImageList($Shuttle, $hImageList) _WinAPI_DeleteObject($hBitmap) Local $Pause = GUICtrlCreateButton("Pause", 160, 40, 80, 20) Local $Progress = GUICtrlCreateLabel("0:00", 4, 25, 45, 20, $SS_LEFT) ; current media position Local $Length = GUICtrlCreateLabel("0:00", 350, 25, 45, 20, $SS_RIGHT) ; media length GUISetState(@SW_SHOW) Local $aPlayList[2] ; Put your own mp3 file paths in this playlist $aPlayList[0] = 1 ; number of files in the playlist $aPlayList[1] = "Don Henley - The Boys of Summer.mp3" For $i = $aPlayList[0] To 1 Step -1 If Not FileExists($aPlayList[$i]) Then _ArrayDelete($aPlayList, $i) $aPlayList[0] -= 1 EndIf Next If Not $aPlayList[0] Then Exit MsgBox(0, "WMPlayer.ocx", "None of the files listed in $aPlayList array exists.", 5) Local $oPlayer = ObjCreate("WMPlayer.OCX") If Not IsObj($oPlayer) Then Exit MsgBox(0, "WMPlayer.OCX", "Cannot create a WMP object.", 5) Local $iPos = 0 ; x coordinate of $Shuttle cntrol in progress bar Local $hDLL = DllOpen("user32.dll") ; to dectect mouse down on the $Shuttle control Local $sliderLength = 380 ; in pixels Local $adlibInterval = 250 ; in milliseconds $oPlayer.Settings.Volume = 100 Local $nFile = 0, $sFullPath, $hTimer, $sFile, $mediaLength, $x, $mediaPos, $xOffset While 1 $nFile += 1 If $nFile > $aPlayList[0] Then $nFile = 1 $sFullPath = $aPlayList[$nFile] $oPlayer.URL = $sFullPath $hTimer = TimerInit() While $oPlayer.playState <> 3 ; 1 - stopped, 2 - paused, 3 - playing If TimerDiff($hTimer) > 3000 Then MsgBox(0, "WMPlayer.OCX", $sFullPath & @CRLF & @CRLF & "Cannot play this file.", 5) ExitLoop EndIf Sleep(10) WEnd If $oPlayer.playState <> 3 Then ContinueLoop $sFile = StringMid($sFullPath, StringInStr($sFullPath, "\", 0, -1) + 1) GUICtrlSetData($idSongName, $sFile) $mediaLength = Int($oPlayer.currentMedia.Duration) ; in seconds GUICtrlSetData($Length, Int($mediaLength / 60) & ":" & StringFormat("%02i", Mod($mediaLength, 60))) AdlibRegister("Slider", $adlibInterval) While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE $oPlayer.Close() Exit Case $Pause If GUICtrlRead($Pause) = "Pause" Then $oPlayer.Controls.Pause AdlibUnRegister() GUICtrlSetData($Pause, "Resume") Else $oPlayer.Controls.Play AdlibRegister("Slider") GUICtrlSetData($Pause, "Pause") EndIf Case $GUI_EVENT_PRIMARYDOWN If GUIGetCursorInfo()[4] = $Shuttle Then AdlibUnRegister() $x = MouseGetPos(0) $xOffset = $x - $iPos While _IsPressed("01", $hDLL) = 1 $x = MouseGetPos(0) If $x > 380 + $xOffset Then $x = 380 + $xOffset ElseIf $x < $xOffset Then $x = $xOffset EndIf $iPos = $x - $xOffset GUICtrlSetPos($Shuttle, $iPos) Sleep(10) WEnd $mediaPos = $iPos / $sliderLength * $mediaLength $oPlayer.Controls.currentPosition = $mediaPos $oPlayer.Controls.Play AdlibRegister("Slider", $adlibInterval) GUICtrlSetData($Pause, "Pause") EndIf EndSwitch If $oPlayer.playState = 1 Then ExitLoop WEnd WEnd Func Slider() $mediaPos = $oPlayer.Controls.currentPosition $iPos = $mediaPos * $sliderLength / $mediaLength GUICtrlSetPos($Shuttle, $iPos) GUICtrlSetData($Progress, Int($mediaPos / 60) & ":" & StringFormat("%02i", Mod($mediaPos, 60))) EndFunc ;==>Slider ; based on https://www.autoitscript.com/forum/topic/204254-saveretrieve-images-tofrom-text-string/ Func _ConvertStringToImage(ByRef $tBuffer, $iWidth, $iHeight) Local Const $IMAGE = "FFF6DAFFFFF1D7FF4E341CFF44311CFF40311EFF493726FF4A3020FF563525FF533121FF52331EFF4E331EFF4B351CFF49351CFF4B351CFF52321FFF473125FFF6F5F7FFE2EDF5FFFFF6DCFF54361DFF78634DFF716350FF7D7361FF746757FF745F50FF7F6557FF836657FF816756FF7C6954FF786A53FF786A54FF7A6954FF806856FF7C6758FF2E271EFFF6F7EEFF4E341CFF826D57FF736A56FF6B6957FF616153FF636156FF756C62FF77695DFF746457FF726555FF6E6655FF6B6754FF6B6755FF6D6655FF726557FF776653FF897455FF4D3610FF4E3B26FF6F614EFF6B6957FF707566FF5C6459FF6E736AFF67655DFF666059FF6F685FFF6D695EFF686A5EFF666A5EFF646B5EFF686A5EFF6D685FFF786A58FF876A43FF5E3B09FF3C2D1AFF786E5CFF656557FF5A6257FF5F6963FF545D5AFF5F6260FF696766FF676362FF656460FF5F6560FF5C675FFF5C6660FF5E6560FF636462FF6F6659FF836A48FF5F3E11FF4B3928FF766959FF615F54FF6A6F66FF5B6461FF666E6EFF5D5F60FF6D6A6CFF696466FF656565FF606665FF5C6765FF5C6666FF5E6666FF636468FF70675EFF826A4CFF573910FF472D1DFF7C6758FF797066FF605E56FF5C5F5DFF636566FF696269FF615960FF6A5F67FF676166FF616266FF5F6364FF5E6366FF5F6266FF656167FF6F635FFF82694FFF53360FFF563526FF785E50FF76685CFF6B655EFF676564FF6B686AFF665E65FF70656FFF6D6068FF6B6068FF666267FF626367FF606368FF646268FF69606AFF746360FF836A50FF563912FF543222FF826556FF756558FF6F685FFF686463FF686365FF6C6169FF6D6068FF6F6068FF6B6068FF666267FF626465FF626367FF646367FF696168FF746360FF846A4CFF583A11FF543320FF7F6554FF736656FF6D695EFF666561FF646464FF696267FF6B6068FF6B6068FF696267FF626465FF606465FF606465FF626465FF686267FF72645EFF826A4EFF563912FF4F341FFF7A6752FF6F6756FF6A6A5EFF606661FF5F6564FF646367FF666267FF666267FF626465FF5F6564FF5B6664FF5B6664FF5F6564FF646365FF6F655EFF7D6852FF513818FF4C361DFF766851FF6C6856FF666A5EFF5F6760FF5D6564FF606367FF626367FF626367FF606465FF5B6664FF596763FF596763FF5D6663FF646563FF6D665DFF7D6852FF513818FF4A361DFF766851FF6C6856FF646B5EFF5D6761FF5B6664FF5F6467FF606367FF626367FF606465FF5B6664FF596763FF5B6761FF5D6761FF646561FF70665CFF806A4EFF563914FF4D351FFF786752FF6E6756FF686A5EFF5F6661FF5D6565FF606368FF646268FF646268FF626465FF5F6564FF5D6663FF5F6661FF626661FF686561FF74665AFF846B4BFF5A3A11FF533320FF7E6654FF736658FF6D685FFF646563FF626465FF666268FF696168FF696168FF686267FF646365FF626563FF646561FF686561FF6F6361FF79655AFF866A4CFF583912FF513322FF7F6554FF766656FF74685CFF6D665DFF6D655EFF706361FF726361FF726361FF726360FF6F6460FF6D655EFF6F665DFF72665CFF77645CFF7D6657FF82694FFF513816FFFFF8E7FF463220FF83705BFF7B6952FF7B6650FF7F6950FF7F674FFF7E664EFF816854FF806854FF7E6954FF7E6954FF7E6954FF806953FF836951FF816953FF483520FFFFF4DEFFFFEFDEFFFFF1DEFF442F19FF483117FF5A4121FF4F3412FF563815FF583C1AFF533617FF523618FF50351AFF50351AFF50351AFF503618FF533518FF4E361AFFF9E9D8FFFFFFF4FF" Return _ReadImageFromText($tBuffer, $IMAGE, $iWidth, $iHeight) EndFunc ;==>_ConvertStringToImage Func _ReadImageFromText(ByRef $tByte, $sString, $iWidth, $iHeight, $bFileName = False) ; Recreate image from text file If $bFileName Then $sString = FileRead($sString) Local $dData = Binary("0x" & $sString) $tByte = DllStructCreate("byte string[" & $iWidth * $iHeight * 4 & "]") DllStructSetData($tByte, 1, $dData) Return _GDIPlus_BitmapCreateFromScan0($iWidth, $iHeight, $GDIP_PXF32ARGB, $iWidth * 4, DllStructGetPtr($tByte, "string")) EndFunc ;==>_ReadImageFromText1 point -
Excel issues
kawumm3000 reacted to water for a topic
@kawumm3000 No, a "touched" cell has its content or format modified. You can get further information from the wiki: https://www.autoitscript.com/wiki/Excel_Range or from this or similar web pages: http://www.ozgrid.com/VBA/ExcelRanges.htm1 point -
Excel issues
kawumm3000 reacted to JLogan3o13 for a topic
@kawumm3000 In the future, instead of hijacking a 5 year old thread, please just create your own.1 point -
TeraCopy Cure has been updated to v1.5. See first post for the download. (v1.5) A Paths List Editor window has been added, to use instead of Notepad. Added a source Size check + record + report. Free Drive Space on destination drive is also checked and reported if an issue. Right-click 'Batch List' menu option 'Drive Space Usage' has been implemented. Total job file size is now recorded for each destination drive, with full support for ADD, DELETE, REMOVE and EDIT. Some in program information has been updated. NOTES - The TeraCopy job monitoring process still works fine when the Paths List Editor window is open, but the program will pause if the source is the current one being edited, until you close the editor window. So you can make last minute changes before that source job is processed. Drag & drop to a selected entry in the Batch List, is probably more likely to be used than the Paths List Editor, for additions and removals. P.S. I do have some other update ideas, but probably won't work on them right away. Now it is mostly a matter of testing and more testing.1 point
-
I finally decided to make a clean UDF out of it :1 point
-
EasyCodeIt - cross-platform AutoIt implementation
E1M1 reacted to JockoDundee for a topic
It’s not totally Software’s fault. Over half a century ago, Software and Hardware made a secret pact to extract the maximum $$ possible from the lowly End-Losers. Software said, I promise to continually enhance, extend, and otherwise adopt any and all features, capabilities, protocols, file formats, api’s that are almost available into one monolithic, indistinguishable, all-in-one .exe file. A product that would generally not be fit for running on anything less than the next years SOA hardware. Hardware said, And I promise to likewise to provide such hardware, replete with ever increasing MHz and GHz and GB and TB, and of course a full assortment of inscrutable buzzwords to describe the endless, if banal variations on the NP junction that has served us for so long. Taken together, our actions will insure that no one will ever be fully satisfied with their current system, no matter how powerful, but will feel that they are on the cusp of obtaining such a setup, if only with their next purchase. And for those who gamely fight us by holding on to their ancient programs and obsolete hardware, they will face in the inexorable onslaught of the dual indignities of discontinued hardware and End-Of-Life software support. Alas, Hardware lets us all down, as I type this from a 12 year-old Intel i7 that is still widely available today. So...:)1 point -
Why does this sound so familiar? 🤔... oh right, it's my email client I prefer calling them bloated frameworks1 point
-
Advanced Pixel Search Library
zkenjiz reacted to tspeakerfortdead for a topic
Literally created this account just to post this. First of all, I LOVE FastFind. Is it perfect? No. But what is? The important thing is that... it's fast. At least for my use case, it's multiple orders of magnitude faster than using the built-in autoit pixel functions. However, the one thing that was a huge pain is TRACER.TXT -- I searched the forums (and Google) high and low, and the best advice I found was earlier in this thread -- to just use FileDelete to remove it at the end of the script. Unfortunately, it seems that the script maintains a file lock on it and I could neither delete it at the end NOR the beginning of the script. I tried setting a blank TRACER.TXT to read-only, which succeeded in stopping the script from writing to it by immediately crashing the script. Finally, I opened up the .au3 file and pretty much instantly determined the problem: the script defines a default debug level, and constantly sets the debug level to that default irrespective of calls to FFSetDebugMode. I'm sure that there's a way to edit it to properly respect those calls, but frankly I don't need or want any debugging from FastFind, so the easiest solution for anyone with the same problem is: 1) Open FastFind.au3 2) Fast, find "global $FFDefautDebugMode = 0xE7 ; Si below to the meaning of this value. To remove all debug features (file traces, graphical feedback..., use 0 here)" -- currently, it is on line 87, but that might change if an updated version comes out or you have modified your file already. 3) Set that to the value that you wish: 0, if you want no debugging, as per the comment, or any of the other valid debugging levels. Hopefully this helps anyone else with the same problem in the future.1 point -
Try this: #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #Include <GuiEdit.au3> Opt("GUIOnEventMode", 1) $hGUI = GUICreate("Dropped Files", 500, 400, Default, Default, Default, BitOR($WS_EX_TOPMOST, $WS_EX_ACCEPTFILES)) $hEdit = GUICtrlCreateEdit("", 10, 10, 480, 180) GUICtrlSetState($hEdit, $GUI_DROPACCEPTED) $hEdit_Handle = GUICtrlGetHandle($hEdit) $hEdit2 = GUICtrlCreateEdit("", 10, 210, 480, 180) GUICtrlSetState($hEdit2, $GUI_DROPACCEPTED) $hEdit_Handle2 = GUICtrlGetHandle($hEdit2) GUISetState(@SW_SHOW) GUISetOnEvent($GUI_EVENT_DROPPED, "drop") GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit") Dim $EditControl While Sleep(1000) WEnd Func _Exit() GUIDelete() Exit EndFunc Func drop() Switch @GUI_DropId Case $hEdit2 Local $sLine, $iLine, $m3u8AddedFromFile=False $hFile = FileOpen(@GUI_DragFile) If $hFile = -1 Then MsgBox(0,'ERROR','Unable to open file for reading.') Exit 1 EndIf While 1 $iLine += 1 $sLine = FileReadLine($hFile) If @error = -1 Then ExitLoop If StringInStr($sLine, "http://") Then GUICtrlSetData($hEdit2, $sLine) $m3u8AddedFromFile=True ExitLoop EndIf WEnd if $m3u8AddedFromFile=False then GUICtrlSetData($hEdit2, @GUI_DragFile) FileClose($hFile) Case $hEdit GUICtrlSetData($hEdit, @GUI_DragFile) EndSwitch EndFunc Br, UEZ1 point
-
List all files from different folders and generate log.txt
FrancescoDiMuro reacted to KickStarter15 for a topic
@FrancescoDiMuro, I got it now working. Thanks. I still have another problem below. I need to show these process in my EditBox GUICtrlCreateEdit() or in _GUICtrlRichEdit_Create() using GUICtrlSetData() or _GUICtrlRichEdit_InsertText() but both are not working. BTL105131 - Filename here... - Filename here... - Filename here... - Filename here... SYM100758 - Filename here... - Filename here... - Filename here... - Filename here... Here's the code I tried: $File = FileOpen(@ScriptDir & "\FolderList.txt") Global $xFile = FileOpen(@ScriptDir & "\Log.txt", 1) FileOpen($File, 0) For $i = 1 to _FileCountLines($File) $line = FileReadLine($File, $i) Global $MainFolder = $sFileSelectFolder & $line Local $aFileList = _FileListToArray($MainFolder, "*", 1) If Not @Error Then _FileWriteFromArray($xFile, $aFileList, 1, Default, @CRLF) ; I need to insert the progress of $aFileList in editbox _GUICtrlRichEdit_InsertText($Edit1, $aFileList) ; Here's the attempt but not working If $aFileList = 0 Then _GUICtrlRichEdit_InsertText($Edit1, "..................... Not Found here: " & $sFileSelectFolder & $line) EndIf EndIf I need it to be in my editbox same as below.0 points -
List all files from different folders and generate log.txt
FrancescoDiMuro reacted to KickStarter15 for a topic
@FrancescoDiMuro thanks but it is not working as expected. There is no output generated. It will just prompt the message box "File list exported correctly." @Nine Thanks as well but the still not the expected output that I need.0 points