Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 11/02/2012 in all areas

  1. Hello Community, today I want to publish my very first AutoIt project... yup, in fact the reason I started AU for , I present to you the AMT - Auto-Movie-Thumbnailer Current Version: v15 (2024-Oct-13) AMT - Auto-Movie-Thumbnailer enables you to create ScreenCaps of any number of movies, located anywhere on your computer, manually or with a time-scheduler, with a free to choose number of caps, the ability to ignore already processed files, a customizable design and most important, it allows you to do it in Batch Mode! The Auto Movie-Thumbnailer is an automation GUI to batch create Screencaps, Thumbnail Index Pictures, Preview Pictures or Contact Sheets for any given number of movies. It supports many different input (AVI, MPG, Quicktime, Real-Media, Windows-Media,.) formats, in fact every input format that is supported by MPlayer. AMT works by remotely controlling the MPlayer, some applications of the ImageMagick Suite and a MediaInfo plugin to perform the screenshoting and Picture creation. Known Problems Short movies might not have enough key-frames (depending on format) for multiple screenshots. E.g. if you want to have 20 screenshots per movie, but the movie only has 10 Key-frames, will get duplicate screenshots. That's because the seek function of MPlayer is controlled by simple math. 20 screenshots means start at 2.5%, next shot 7.5%, 12.5% if now too few key-frames are defined in the movie (during creation process), 7.5% and 12.5% might point to the same key-frame, if for example the movie has a key-frame at 5% and the next at 15%. MPlayer is only capable of seeking key-frames for certain formats. License This program is freeware under Creative Commons License "by-nc-nd 3.0″, and this means, you are free to share, to copy, distribute and transmit the work under the following conditions: Attribution - You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work). Noncommercial - You may not use this work for commercial purposes. No Derivative Works - You may not alter, transform, or build upon this work. See also http://creativecommons.org/licenses/by-nc-nd/3.0 for details. For any form of distribution of this software a link back to the authors website at http://www.amt.cc is required. It works fine at least on the XP-Pro 32-bit SP3 / Win7 / Win8.1 machines I tested it on. If you find bugs please let me know. Kudos to AdmiralAlkex, Richard Robertson, Draygoes, BrettF & Achilles for Beta-Testing! And to all other regular posters on this forum for sharing their knowledge and helping out! The AMT-Installer can be found under it's own domain at: http://www.amt.cc or at https://funk.eu/amt Enjoy AMT, and let me know what you think of it... Best Regards
    1 point
  2. BeepSongEditor v1.0.2.4 Create easily Beep Songs and Mp3 Ringtones After >Beep Song Creator by Paulie, mine is more intended to hobbyists musicians ( based on a TT22 idea ) Now you can easily create Beep Songs and Mp3 Ringtones without being musician ! Source and Executable are available in the Download Section See Tray menu for options and help. If somes includes are missing : Bass Includes.rar Somes examples of ini files : Ini files.rar Thanks to Brett Francis, Prog@ndy and Eukalyptus for Bass Udf and trancexx for >DSBeep.au3 As usual several files are downloaded at first execution. Beep Party is back !!! Hope you like it !
    1 point
  3. This is an example of a generator and checker program for license keys. It makes all alphabetic keys (6 groups of 5 letters). What is different about this is I paid attention to some documentation on the technology of how "good" serial keys work. In order to generate a key, you load the generator and type in some customers private and personal info like their name and the date/time of purchase or something, or a customer ID and their name or what ever. So, it uses this unique information and hashes it. Cryptographic process' are done to each character of that initial seed data to create the majority of the key. Then the seed value and the remaining key parts are salt hashed and the first 4 characters of that hash are placed at the end of the code. Then it is broken up into sections using a "-" symbol, eg: IKCFG-HFSIO-HYBYH-OADHJ-INGVC-DDOBB The benefit of a system like this is that you don't need to include any license keys with the product, or have lists of anything to check against. The product on the users end checks only certain aspects of the key (so hackers would not be able to make a global hacked keygen for all future versions because you can just alter which sections of the key a new program check and then everyones old keys still work and the keygen fails) and both checks the hash of the seed and key sections to make sure the checksum matches up with the end of the key AND if someone figured that out and made a random key and made a valid checksum thinking that would be enough, the software realises this and warns you that it was a fabricated key. Currently all the checker does is notify with message boxes but I can now use this template in the future to make a good and solid serial key protection on something. You will never prevent everything in the world though, I am sure if hackers can crack actually "programmed" software that they could crack autoit in a trivial amount of time and just remove protections depending on how much time you put into obfuscating your code. That being said I think this is pretty cool, secure and convenient since the codes are checked in isolation on the client's PC for validity without needing lists of codes disguised on their computer or anything. It all adds to the security. Checker just checks and lets you know the status of the key, the generator will copy the individuals code to clipboard after you type in the "customers" details for seed information and click the button. Just paste it in a notepad and you have it then for testing the checker. For each unique "product" you would want all new random values on both the checker and generator where the hash salt is eg $ks[3] = 'NUB%F$Wt6j9' They must be the same on both generator and checker and unique to each program, same with the 'Test program v1.000' string which is salt for the over all checksum part of the code. Any way, if you want to have a look, here are the files, I welcome any feedback on this design. Serial Code GeneratorF Final Working!V3.au3 Serial Code CheckerFWorking!V3.au3
    1 point
  4. These functions I created to set the icon of GUICtrlCreateIcon using a filepath's icon. For example if you pass the file location of the script file (@ScriptFullPath), then the icon that will be displayed is the icon that is displayed in Windows Explorer, for me this is Notepad. Please see below for more details. Thanks. Example use of Functions: #include <GUIConstantsEx.au3> #include <WinAPI.au3> #include <WinAPIShellEx.au3> Example() Func Example() Local $hGUI = GUICreate('', 128, 128) Local $iIcon = GUICtrlCreateIcon('', 0, 48, 48, 32, 32) ; Set the icon GUICtrlCreateIcon() using the @AutoItExe icon. _Icon_Set(-1, @AutoItExe) GUISetState(@SW_SHOW, $hGUI) While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE ExitLoop EndSwitch WEnd ; Clear the GUICtrlCreateIcon() icon. _Icon_Clear($iIcon) ; Delete the GUI. GUIDelete($hGUI) EndFunc ;==>Example Func _Icon_Clear($iCtrlID) ; Returns True or False Local Const $STM_SETIMAGE = 0x0172 If $iCtrlID = Default Or $iCtrlID <= 0 Or Not IsInt($iCtrlID) Then $iCtrlID = _WinAPI_GetDlgCtrlID(GUICtrlGetHandle($iCtrlID)) EndIf Return _WinAPI_DestroyIcon(GUICtrlSendMsg($iCtrlID, $STM_SETIMAGE, $IMAGE_ICON, 0)) EndFunc ;==>_Icon_Clear Func _Icon_Set($iCtrlID, $sFilePath) ; Returns True or False Local Const $STM_SETIMAGE = 0x0172 If $iCtrlID = Default Or $iCtrlID <= 0 Or Not IsInt($iCtrlID) Then $iCtrlID = _WinAPI_GetDlgCtrlID(GUICtrlGetHandle($iCtrlID)) EndIf Local $fReturn = False If FileExists($sFilePath) Then Local $tFILEINFO = DllStructCreate($tagSHFILEINFO) _WinAPI_ShellGetFileInfo($sFilePath, BitOR($SHGFI_ICON, $SHGFI_LARGEICON), 0, $tFILEINFO) Local $hIcon = DllStructGetData($tFILEINFO, 'hIcon') $fReturn = _WinAPI_DestroyIcon(GUICtrlSendMsg($iCtrlID, $STM_SETIMAGE, $IMAGE_ICON, $hIcon)) EndIf Return $fReturn EndFunc ;==>_Icon_Set
    1 point
  5. skreien, that's quite odd that you are getting 32 and 20 now.. you said you had 80 processors, which would have led me to believe you'd get some balance between instantiations that equals out to 80. Perhaps Windows is now splitting up the processor groups into more than 2 for your machine? That'd be quite interesting.. hmm Okay, well, I've checked out the module in question (testpdh_cpuusage.au3), and I see that it uses a wildcard to collect information on all processors. The fact that the API call is returning less than 80 processors indicates to me that this is a limitation of the PDH module. This can't really be 'fixed' in my code, not without jumping through hoops and creating new processes that intentionally run on other processor groups. (The issue that I *did* fix with the last update was the per-process CPU usage calculation, which should reflect what Task Manager reports.) As far as getting the overall CPU usage per processor, I believe the best method is to collect the kernel, user, and idle times for each processor, and then do calculations on every polling interval to determine what the current usage levels are. The problem is figuring out which of the new API functions to call to do this easily.. I was just poking around MSDN now and wound up with a bit of a headache! haha Anyway, the general calculation can be seen in other example scripts on the forum. Here's a couple: >Process CPU Usage - by Beege >Function _ProcessGetCPU() - by Novatek Also check out this CodeProject article (and the linked user reply): Get CPU Usage with GetSystemTimes, 'The Way it's supposed to be...' I hope that helps in some way.. my initial intention with code update was to address the 'Idle' process problem you had mentioned.. I hope that is at least fixed? Thanks! *update: See my >CPU Multi-Processor Usage w/o Performance Counters topic, which may or may not report for >64 processors (with Nt* based functions, its iffy if it follows Windows processor-groups logic or not)
    1 point
  6. Thanks JScript ! I had a thought for you when creating the file samba.ini Do you try it ?
    1 point
  7. Shit ...was really looking forward to your SSL socket implementation in AutoIt.Oh well ... So be it.
    1 point
  8. This does not use robocopy. This script uses AutoIt's DirCopy() and FileCopy() to copy a directory with all its sub-directories and files to another location - with a progress bar window. This works on my XP. ; Copy from AutoIt installed directory - possibly C:\Program Files\AutoIt3\SciTE\cSnippet Local $CopyDirFrom = RegRead("HKLM\SOFTWARE\AutoIt v3\AutoIt", "InstallDir") & "\SciTE\cSnippet" Local $CopyDirTo = @TempDir & "\cSnippet" Local $avarray, $text, $Pid $Pid = Run('"' & @ComSpec & '" /c dir "' & $CopyDirFrom & '\*.*" /B /O:N', '', @SW_HIDE, 2 + 4) While 1 $text &= StdoutRead($Pid, False, False) If @error Then ExitLoop Sleep(10) WEnd $text = StringStripWS($text, 7) ; Remove unwanted @CRLF's $avarray = StringSplit($text, @CRLF, 0) ProgressOn("Copy Files Progress", "No. of files left to copy = " & $avarray[0], "0 percent done") For $i = 0 To $avarray[0] If FileGetAttrib($CopyDirFrom & "\" & $avarray[$i]) = "D" Then DirCopy($CopyDirFrom & "\" & $avarray[$i], $CopyDirTo & "\" & $avarray[$i], 1) Else FileCopy($CopyDirFrom & "\" & $avarray[$i], $CopyDirTo & "\" & $avarray[$i], 9) EndIf ProgressSet(Round(100 - ($i / $avarray[0] * 100), 1), _ StringFormat("%4.1f percent done", Round($i / $avarray[0] * 100, 1)), _ "No. of files left to copy = " & $avarray[0] - $i) Next ProgressOff ( ) Local $iBut = MsgBox(4, "Operation Done!", 'Press "Yes" to delete newly created directory in Temp Directory.') If $iBut = 6 Then FileRecycle($CopyDirTo) And here it is again using _FileListToArray() instead of the Run(@ComSpec.... routine. I believe this one to be the faster. #include <File.au3> ; Copy from AutoIt installed directory - possibly C:\Program Files\AutoIt3\SciTE\cSnippet Local $CopyDirFrom = RegRead("HKLM\SOFTWARE\AutoIt v3\AutoIt", "InstallDir") & "\SciTE\cSnippet" Local $CopyDirTo = @TempDir & "\cSnippet" Local $avarray, $text, $Pid $avarray = _FileListToArray($CopyDirFrom, "*.*") ProgressOn("Copy Files Progress", "No. of files left to copy = " & $avarray[0], "0 percent done") For $i = 0 To $avarray[0] If FileGetAttrib($CopyDirFrom & "\" & $avarray[$i]) = "D" Then DirCopy($CopyDirFrom & "\" & $avarray[$i], $CopyDirTo & "\" & $avarray[$i], 1) Else FileCopy($CopyDirFrom & "\" & $avarray[$i], $CopyDirTo & "\" & $avarray[$i], 9) EndIf ProgressSet(Round(100 - ($i / $avarray[0] * 100), 1), _ StringFormat("%4.1f percent done", Round($i / $avarray[0] * 100, 1)), _ "No. of files left to copy = " & $avarray[0] - $i) Next ProgressOff ( ) Local $iBut = MsgBox(4, "Operation Done!", 'Press "Yes" to delete newly created directory in Temp Directory.') If $iBut = 6 Then FileRecycle($CopyDirTo)
    1 point
×
×
  • Create New...