topbanner_forum
  *

avatar image

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
  • Tuesday November 11, 2025, 10:23 am
  • Proudly celebrating 15+ years online.
  • Donate now to become a lifetime supporting member of the site and get a non-expiring license key for all of our programs.
  • donate

Recent Posts

Pages: prev1 ... 14 15 16 17 18 [19] 20 21 22 23 24 ... 225next
451
Living Room / Re: How to purchase "USA shipping only" products from outside USA
« Last post by 4wd on May 09, 2019, 02:00 PM »
Edit: if I were in a position to take you up on your offer, I'd for sure invite you to try it out. You might just get converted.

I don't think so ;)
  • Trees spaced appropriately apart are hard to come by in the desert,
  • Rolling a swag out takes a couple of minutes which leaves more time for drinking enjoying the environment,
  • Rolling a swag up takes a couple of minutes, good when you want to move fast ie. it's about to downpour, fire, whatever,
  • We have space to spare in the Landcruiser: swags, table, chairs, fridge, food, fuel, etc, etc.

We're four wheel drivers, always looking for a new, more challenging track and trying to cover as much distance as possible ... we try not to spend more than a day in one place.

BTW, Amazon.com is not showing it in stock either AFAICT.
452
Living Room / Re: How to purchase "USA shipping only" products from outside USA
« Last post by 4wd on May 09, 2019, 04:37 AM »
If you're not in a hurry then I have the following option available, purchase from the EU website, (or anywhere else you can find it in the EU/UK), and get it sent to me in the UK, I can bring it back to Oz in September when I return - then you can either pick it up from me, (3766), or I stick it in a AusPost 3kg satchel.

PS. Promise I won't use it, much easier to roll out a swag  :P

IMG_20180310_073830256_HDR.jpg
453
Living Room / Re: How to expand laptop storage?
« Last post by 4wd on May 07, 2019, 04:14 PM »
It's been 19 months and this thread is still relevant ... mainly because, as usual, nothing was done using the info given in it ... this is going to turn into another 5 year thread, isn't it?

Don't suppose we could merge them?

FWIW, Amazon UK currently:
500GB mSata 860 EVO Samsung  (Write ~520MB/s, Read ~550+MB/s - optimal conditions) ~£85
400GB uSD A1, A2, U3/V30 Sandisk/Samsung (Rated Write minimum 10, 20, 30MB/s respectively, Read ~90-100MB/s) ~£80-160

Do your research ...
454
Living Room / Re: Need Video Doorbell Options
« Last post by 4wd on May 01, 2019, 06:55 AM »
A suggestion: Make sure whatever camera(s) you do get are ONVIF compatible so you won't be stuck with whatever software the manufacturer foists on you.

ISpy - can be a pain to set up for any camera not listed in their database, especially PTZ cams (even ONVIF compatible cams).
iVideon - not too bad, was using this for a while, they also have an Android app.

Currently using ONVIFer on Android, (for any really ONVIF compatible cam setup is a breeze), and they also have a version for Windows Desktop/Phone, IP Centcom.

For recording I currently use a cheap NVR based on a HiSilicon chipset, (most of them are), which is running Xiongmai firmware, (which has security issues but suitable for my current purpose - normally I'd be using a computer - ie. I wanted something cheap <$50, H.265 compatible, quick to get going).
455
Not getting any headway with this, I can't seem to find info on using FOLDERID_AppsFolder in PowerShell, possibly because it's a Virtual Folder.

For other KNOWNFOLDERID values this doesn't seem to be a problem, eg. here's a script below that will get the real folder for KNOWNFOLDERID but it doesn't work for Virtual Folders - as is shown by it printing nothing for AppsFolder and AppUpdates.

So atm, I don't know what else to try to get close to the same result as the Python script.

Code: PowerShell [Select]
  1. # https://stackoverflow.com/questions/25049875/getting-any-special-folder-path-in-powershell-using-folder-guid
  2. Add-Type @"
  3.  
  4.    using System;
  5.    using System.Runtime.InteropServices;
  6.  
  7.    public static class KnownFolder
  8.    {
  9.        public static readonly Guid AddNewPrograms = new Guid( "de61d971-5ebc-4f02-a3a9-6c82895e5c04" );
  10.        public static readonly Guid AdminTools = new Guid( "724EF170-A42D-4FEF-9F26-B60E846FBA4F" );
  11.        public static readonly Guid AppsFolder = new Guid( "1e87508d-89c2-42f0-8a7e-645a0f50ca58" );
  12.        public static readonly Guid AppUpdates = new Guid( "a305ce99-f527-492b-8b1a-7e76fa98d6e4" );
  13.        public static readonly Guid CDBurning = new Guid( "9E52AB10-F80D-49DF-ACB8-4330F5687855" );
  14.        public static readonly Guid ChangeRemovePrograms = new Guid( "df7266ac-9274-4867-8d55-3bd661de872d" );
  15.        public static readonly Guid CommonAdminTools = new Guid( "D0384E7D-BAC3-4797-8F14-CBA229B392B5" );
  16.        public static readonly Guid CommonOEMLinks = new Guid( "C1BAE2D0-10DF-4334-BEDD-7AA20B227A9D" );
  17.        public static readonly Guid CommonPrograms = new Guid( "0139D44E-6AFE-49F2-8690-3DAFCAE6FFB8" );
  18.        public static readonly Guid CommonStartMenu = new Guid( "A4115719-D62E-491D-AA7C-E74B8BE3B067" );
  19.        public static readonly Guid CommonStartup = new Guid( "82A5EA35-D9CD-47C5-9629-E15D2F714E6E" );
  20.        public static readonly Guid CommonTemplates = new Guid( "B94237E7-57AC-4347-9151-B08C6C32D1F7" );
  21.        public static readonly Guid ComputerFolder = new Guid( "0AC0837C-BBF8-452A-850D-79D08E667CA7" );
  22.        public static readonly Guid ConflictFolder = new Guid( "4bfefb45-347d-4006-a5be-ac0cb0567192" );
  23.        public static readonly Guid ConnectionsFolder = new Guid( "6F0CD92B-2E97-45D1-88FF-B0D186B8DEDD" );
  24.        public static readonly Guid Contacts = new Guid( "56784854-C6CB-462b-8169-88E350ACB882" );
  25.        public static readonly Guid ControlPanelFolder = new Guid( "82A74AEB-AEB4-465C-A014-D097EE346D63" );
  26.        public static readonly Guid Cookies = new Guid( "2B0F765D-C0E9-4171-908E-08A611B84FF6" );
  27.        public static readonly Guid Desktop = new Guid( "B4BFCC3A-DB2C-424C-B029-7FE99A87C641" );
  28.        public static readonly Guid Documents = new Guid( "FDD39AD0-238F-46AF-ADB4-6C85480369C7" );
  29.        public static readonly Guid Downloads = new Guid( "374DE290-123F-4565-9164-39C4925E467B" );
  30.        public static readonly Guid Favorites = new Guid( "1777F761-68AD-4D8A-87BD-30B759FA33DD" );
  31.        public static readonly Guid Fonts = new Guid( "FD228CB7-AE11-4AE3-864C-16F3910AB8FE" );
  32.        public static readonly Guid Games = new Guid( "CAC52C1A-B53D-4edc-92D7-6B2E8AC19434" );
  33.        public static readonly Guid GameTasks = new Guid( "054FAE61-4DD8-4787-80B6-090220C4B700" );
  34.        public static readonly Guid History = new Guid( "D9DC8A3B-B784-432E-A781-5A1130A75963" );
  35.        public static readonly Guid InternetCache = new Guid( "352481E8-33BE-4251-BA85-6007CAEDCF9D" );
  36.        public static readonly Guid InternetFolder = new Guid( "4D9F7874-4E0C-4904-967B-40B0D20C3E4B" );
  37.        public static readonly Guid Links = new Guid( "bfb9d5e0-c6a9-404c-b2b2-ae6db6af4968" );
  38.        public static readonly Guid LocalAppData = new Guid( "F1B32785-6FBA-4FCF-9D55-7B8E7F157091" );
  39.        public static readonly Guid LocalAppDataLow = new Guid( "A520A1A4-1780-4FF6-BD18-167343C5AF16" );
  40.        public static readonly Guid LocalizedResourcesDir = new Guid( "2A00375E-224C-49DE-B8D1-440DF7EF3DDC" );
  41.        public static readonly Guid Music = new Guid( "4BD8D571-6D19-48D3-BE97-422220080E43" );
  42.        public static readonly Guid NetHood = new Guid( "C5ABBF53-E17F-4121-8900-86626FC2C973" );
  43.        public static readonly Guid NetworkFolder = new Guid( "D20BEEC4-5CA8-4905-AE3B-BF251EA09B53" );
  44.        public static readonly Guid OriginalImages = new Guid( "2C36C0AA-5812-4b87-BFD0-4CD0DFB19B39" );
  45.        public static readonly Guid PhotoAlbums = new Guid( "69D2CF90-FC33-4FB7-9A0C-EBB0F0FCB43C" );
  46.        public static readonly Guid Pictures = new Guid( "33E28130-4E1E-4676-835A-98395C3BC3BB" );
  47.        public static readonly Guid Playlists = new Guid( "DE92C1C7-837F-4F69-A3BB-86E631204A23" );
  48.        public static readonly Guid PrintersFolder = new Guid( "76FC4E2D-D6AD-4519-A663-37BD56068185" );
  49.        public static readonly Guid PrintHood = new Guid( "9274BD8D-CFD1-41C3-B35E-B13F55A758F4" );
  50.        public static readonly Guid Profile = new Guid( "5E6C858F-0E22-4760-9AFE-EA3317B67173" );
  51.        public static readonly Guid ProgramData = new Guid( "62AB5D82-FDC1-4DC3-A9DD-070D1D495D97" );
  52.        public static readonly Guid ProgramFiles = new Guid( "905e63b6-c1bf-494e-b29c-65b732d3d21a" );
  53.        public static readonly Guid ProgramFilesX64 = new Guid( "6D809377-6AF0-444b-8957-A3773F02200E" );
  54.        public static readonly Guid ProgramFilesX86 = new Guid( "7C5A40EF-A0FB-4BFC-874A-C0F2E0B9FA8E" );
  55.        public static readonly Guid ProgramFilesCommon = new Guid( "F7F1ED05-9F6D-47A2-AAAE-29D317C6F066" );
  56.        public static readonly Guid ProgramFilesCommonX64 = new Guid( "6365D5A7-0F0D-45E5-87F6-0DA56B6A4F7D" );
  57.        public static readonly Guid ProgramFilesCommonX86 = new Guid( "DE974D24-D9C6-4D3E-BF91-F4455120B917" );
  58.        public static readonly Guid Programs = new Guid( "A77F5D77-2E2B-44C3-A6A2-ABA601054A51" );
  59.        public static readonly Guid Public = new Guid( "DFDF76A2-C82A-4D63-906A-5644AC457385" );
  60.        public static readonly Guid PublicDesktop = new Guid( "C4AA340D-F20F-4863-AFEF-F87EF2E6BA25" );
  61.        public static readonly Guid PublicDocuments = new Guid( "ED4824AF-DCE4-45A8-81E2-FC7965083634" );
  62.        public static readonly Guid PublicDownloads = new Guid( "3D644C9B-1FB8-4f30-9B45-F670235F79C0" );
  63.        public static readonly Guid PublicGameTasks = new Guid( "DEBF2536-E1A8-4c59-B6A2-414586476AEA" );
  64.        public static readonly Guid PublicMusic = new Guid( "3214FAB5-9757-4298-BB61-92A9DEAA44FF" );
  65.        public static readonly Guid PublicPictures = new Guid( "B6EBFB86-6907-413C-9AF7-4FC2ABF07CC5" );
  66.        public static readonly Guid PublicVideos = new Guid( "2400183A-6185-49FB-A2D8-4A392A602BA3" );
  67.        public static readonly Guid QuickLaunch = new Guid( "52a4f021-7b75-48a9-9f6b-4b87a210bc8f" );
  68.        public static readonly Guid Recent = new Guid( "AE50C081-EBD2-438A-8655-8A092E34987A" );
  69.        public static readonly Guid RecycleBinFolder = new Guid( "B7534046-3ECB-4C18-BE4E-64CD4CB7D6AC" );
  70.        public static readonly Guid ResourceDir = new Guid( "8AD10C31-2ADB-4296-A8F7-E4701232C972" );
  71.        public static readonly Guid RoamingAppData = new Guid( "3EB685DB-65F9-4CF6-A03A-E3EF65729F3D" );
  72.        public static readonly Guid SampleMusic = new Guid( "B250C668-F57D-4EE1-A63C-290EE7D1AA1F" );
  73.        public static readonly Guid SamplePictures = new Guid( "C4900540-2379-4C75-844B-64E6FAF8716B" );
  74.        public static readonly Guid SamplePlaylists = new Guid( "15CA69B3-30EE-49C1-ACE1-6B5EC372AFB5" );
  75.        public static readonly Guid SampleVideos = new Guid( "859EAD94-2E85-48AD-A71A-0969CB56A6CD" );
  76.        public static readonly Guid SavedGames = new Guid( "4C5C32FF-BB9D-43b0-B5B4-2D72E54EAAA4" );
  77.        public static readonly Guid SavedSearches = new Guid( "7d1d3a04-debb-4115-95cf-2f29da2920da" );
  78.        public static readonly Guid SEARCH_CSC = new Guid( "ee32e446-31ca-4aba-814f-a5ebd2fd6d5e" );
  79.        public static readonly Guid SEARCH_MAPI = new Guid( "98ec0e18-2098-4d44-8644-66979315a281" );
  80.        public static readonly Guid SearchHome = new Guid( "190337d1-b8ca-4121-a639-6d472d16972a" );
  81.        public static readonly Guid SendTo = new Guid( "8983036C-27C0-404B-8F08-102D10DCFD74" );
  82.        public static readonly Guid SidebarDefaultParts = new Guid( "7B396E54-9EC5-4300-BE0A-2482EBAE1A26" );
  83.        public static readonly Guid SidebarParts = new Guid( "A75D362E-50FC-4fb7-AC2C-A8BEAA314493" );
  84.        public static readonly Guid StartMenu = new Guid( "625B53C3-AB48-4EC1-BA1F-A1EF4146FC19" );
  85.        public static readonly Guid Startup = new Guid( "B97D20BB-F46A-4C97-BA10-5E3608430854" );
  86.        public static readonly Guid SyncManagerFolder = new Guid( "43668BF8-C14E-49B2-97C9-747784D784B7" );
  87.        public static readonly Guid SyncResultsFolder = new Guid( "289a9a43-be44-4057-a41b-587a76d7e7f9" );
  88.        public static readonly Guid SyncSetupFolder = new Guid( "0F214138-B1D3-4a90-BBA9-27CBC0C5389A" );
  89.        public static readonly Guid System = new Guid( "1AC14E77-02E7-4E5D-B744-2EB1AE5198B7" );
  90.        public static readonly Guid SystemX86 = new Guid( "D65231B0-B2F1-4857-A4CE-A8E7C6EA7D27" );
  91.        public static readonly Guid Templates = new Guid( "A63293E8-664E-48DB-A079-DF759E0509F7" );
  92.        public static readonly Guid TreeProperties = new Guid( "5b3749ad-b49f-49c1-83eb-15370fbd4882" );
  93.        public static readonly Guid UserProfiles = new Guid( "0762D272-C50A-4BB0-A382-697DCD729B80" );
  94.        public static readonly Guid UsersFiles = new Guid( "f3ce0f7c-4901-4acc-8648-d5d44b04ef8f" );
  95.        public static readonly Guid Videos = new Guid( "18989B1D-99B5-455B-841C-AB7C74E4DDFC" );
  96.        public static readonly Guid Windows = new Guid( "F38BF404-1D43-42F2-9305-67DE0B28FC23" );
  97.    }
  98.  
  99.    public class shell32
  100.    {
  101.        [DllImport("shell32.dll")]
  102.        private static extern int SHGetKnownFolderPath(
  103.             [MarshalAs(UnmanagedType.LPStruct)]
  104.             Guid rfid,
  105.             uint dwFlags,
  106.             IntPtr hToken,
  107.             out IntPtr pszPath
  108.         );
  109.  
  110.         public static string GetKnownFolderPath(Guid rfid)
  111.         {
  112.            IntPtr pszPath;
  113.            if (SHGetKnownFolderPath(rfid, 0, IntPtr.Zero, out pszPath) != 0)
  114.                return ""; // add whatever error handling you fancy
  115.            string path = Marshal.PtrToStringUni(pszPath);
  116.            Marshal.FreeCoTaskMem(pszPath);
  117.            return path;
  118.         }
  119.    }
  120.  
  121. "@
  122.  
  123. [shell32]::GetKnownFolderPath([KnownFolder]::Documents)
  124. [shell32]::GetKnownFolderPath([KnownFolder]::AppsFolder)
  125. [shell32]::GetKnownFolderPath([KnownFolder]::AppUpdates)
  126. [shell32]::GetKnownFolderPath([KnownFolder]::UserProfiles)
456
Living Room / Re: What musical piece is this?
« Last post by 4wd on April 24, 2019, 12:59 PM »
You could try something like PlayScore and have Google, Shazam, SoundHound, etc try to recognise the music.

PlayScore understands all the symbols of standard music notation and can play all kinds of sheet music and scores.
457
OK, a mish-mash of programs but it works for me :)

  • Download and install Clavier+ (I'll be using this for the example - use whichever hotkey program you're comfortable with)
  • Download the attached archive and put ExClip.exe somewhere

Then see below for setting it all up:

Clavier+ - set up the hotkey to what you want, set the path to ExClip.exe and the auxiliary cmd file as necessary.
2019-04-24 17_53_18.png

2019-04-24 17_58_09.png

The cmd file - this is a simple file that takes the text file generated by ExClip and changes it to an M3U playlist file, then calls the default program for it (MPC-BE in my case):

m3u.cmd
Code: Text [Select]
  1. echo #EXTM3U > "%~dpn1.m3u"
  2. type "%~1" >> "%~dpn1.m3u"
  3. DEL "%~1"
  4. start "" "%~dpn1.m3u"


The text file generated by ExClip looks like this (for example):
Code: Text [Select]
  1. E:\music\song1.mp3
  2. E:\music\song2.m4a
  3. E:\music\song3.ogg
  4. E:\music\song4.mp3

After the cmd file has run there will be a M3U file that looks like this:
Code: Text [Select]
  1. #EXTM3U
  2. E:\music\song1.mp3
  3. E:\music\song2.m4a
  4. E:\music\song3.ogg
  5. E:\music\song4.mp3

The cmd file is just an example, you don't have to turn it into an M3U playlist (but it is the simplest) - you could call a program directly to act upon the files selected.

Archive contains executable, source, and the example cmd file.

ExClip.au3 source:
Code: AutoIt [Select]
  1. #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
  2. #AutoIt3Wrapper_UseUpx=n
  3. #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
  4. ; http://www.autoitscript.com/forum/topic/89833-windows-explorer-current-folder/page__st__40#entry973904
  5. #include <Array.au3>
  6. #include <File.au3>
  7. #include <Date.au3>
  8.  
  9. Local $oErrorHandler = ObjEvent("AutoIt.Error", "_ComErrFunc")
  10.  
  11. If $CmdLine[0] = 1 Then
  12.         $sCmd = $CmdLine[1]
  13.         _ExClip()
  14.         Exit
  15.  
  16.  
  17. Func _ExClip()
  18.         $hExplr = WinActive("[REGEXPCLASS:(Explore|Cabinet)WClass]")
  19.         If $hExplr <> '' Then
  20.                 $aSelection = _ExplorerWinGetSelectedItems($hExplr)
  21.                 If $aSelection[0] > 0 Then
  22.                         $fName = @TempDir & "\" & _Date_Time_GetTickCount() & ".txt"
  23.                         _ArrayDelete($aSelection, 1)
  24. ;                       _ArrayDisplay($aSelection)
  25.                         _FileWriteFromArray($fName, $aSelection, 1)
  26.                         ShellExecute($sCmd, $fName)
  27.                 EndIf
  28.         EndIf
  29. EndFunc   ;==>_ExClip
  30.  
  31.  
  32.  
  33. ; ==========================================================================================================================
  34.  
  35. ; Func _ObjectSHFolderViewFromWin($hWnd)
  36. ;
  37. ; Returns an 'ShellFolderView' Object for the given Window handle
  38. ;
  39. ; Author: Ascend4nt, based on code by KaFu, klaus.s
  40. ; ==========================================================================================================================
  41.  
  42. Func _ObjectSHFolderViewFromWin($hWnd)
  43.         If Not IsHWnd($hWnd) Then Return SetError(1, 0, 0)
  44.         Local $oShell, $oShellWindows, $oIEObject, $oSHFolderView
  45.  
  46.         ; Shell Object
  47.         $oShell = ObjCreate("Shell.Application")
  48.         If Not IsObj($oShell) Then Return SetError(2, 0, 0)
  49.  
  50.         ;   Get a 'ShellWindows Collection' object
  51.         $oShellWindows = $oShell.Windows()
  52.         If Not IsObj($oShellWindows) Then Return SetError(3, 0, 0)
  53.  
  54.         ;   Iterate through the collection - each of type 'InternetExplorer' Object
  55.  
  56.         For $oIEObject In $oShellWindows
  57.                 If $oIEObject.HWND = $hWnd Then
  58.                         ; InternetExplorer->Document = ShellFolderView object
  59.                         $oSHFolderView = $oIEObject.Document
  60.                         If IsObj($oSHFolderView) Then Return $oSHFolderView
  61.                         Return SetError(4, 0, 0)
  62.                 EndIf
  63.         Next
  64.  
  65.         Return SetError(-1, 0, 0)
  66. EndFunc   ;==>_ObjectSHFolderViewFromWin
  67.  
  68. ; ==========================================================================================================================
  69. ; Func _ExplorerWinGetSelectedItems($hWnd)
  70. ;
  71. ;
  72. ; Author: klaus.s, KaFu, Ascend4nt (consolidation & cleanup, Path name simplification)
  73. ; ==========================================================================================================================
  74.  
  75. Func _ExplorerWinGetSelectedItems($hWnd)
  76.         If Not IsHWnd($hWnd) Then Return SetError(1, 0, '')
  77.         Local $oSHFolderView
  78.         Local $iSelectedItems, $iCounter = 2, $aSelectedItems[2] = [0, ""]
  79.  
  80.         $oSHFolderView = _ObjectSHFolderViewFromWin($hWnd)
  81.         If @error Then Return SetError(@error, 0, '')
  82.  
  83.         ;   SelectedItems = FolderItems Collection object->Count
  84.         $iSelectedItems = $oSHFolderView.SelectedItems.Count
  85.  
  86.         Dim $aSelectedItems[$iSelectedItems + 2] ; 2 extra -> 1 for count [0], 1 for Folder Path [1]
  87.  
  88.         $aSelectedItems[0] = $iSelectedItems
  89.         ;   ShellFolderView->Folder->Self as 'FolderItem'->Path
  90.         $aSelectedItems[1] = $oSHFolderView.Folder.Self.Path
  91.  
  92.         ;   ShellFolderView->SelectedItems = FolderItems Collection object
  93.         $oSelectedFolderItems = $oSHFolderView.SelectedItems
  94.  
  95.         #cs
  96.                 ; For ALL items in an Explorer Window (not just the selected ones):
  97.                 $oSelectedFolderItems = $oSHFolderView.Folder.Items
  98.                 ReDim $aSelectedItems[$oSelectedFolderItems.Count+2]
  99.         #ce
  100.  
  101.         For $oFolderItem In $oSelectedFolderItems
  102.                 $aSelectedItems[$iCounter] = $oFolderItem.Path
  103.                 $iCounter += 1
  104.         Next
  105.  
  106.         Return SetExtended($iCounter - 2, $aSelectedItems)
  107. EndFunc   ;==>_ExplorerWinGetSelectedItems
  108.  
  109. Func _ComErrFunc($oError)
  110.         ConsoleWrite("COM Error occurred:" & @CRLF & _
  111.                         "Number: " & @TAB & $oError.number & @CRLF & _
  112.                         "Windescription:" & @TAB & $oError.windescription & @CRLF & _
  113.                         "Description is: " & @TAB & $oError.description & @CRLF & _
  114.                         "Source is: " & @TAB & $oError.source & @CRLF & _
  115.                         "Helpfile is: " & @TAB & $oError.helpfile & @CRLF & _
  116.                         "Helpcontext is: " & @TAB & $oError.helpcontext & @CRLF & _
  117.                         "Lastdllerror is: " & @TAB & $oError.lastdllerror & @CRLF & _
  118.                         "Scriptline is: " & @TAB & $oError.scriptline & @CRLF & _
  119.                         "Retcode is: " & @TAB & $oError.retcode & @CRLF & @CRLF)
  120. EndFunc   ;==>_ComErrFunc
458
I'll have to download AutoIt and have a play since I don't use it anymore but it should be a simple change - if someone wanted to, they could also integrate the hotkey assignation via a GUI rather than rely on an external program, (eg. Clavier+).

It's actually a bit strange that given PowerShell's ability to access most Windows APIs there still seems to be no way to collect selected files in explorer using it.
459
It actually occurred to me that this can be mostly done using something I've done previously on here, needs a few minor changes but should be doable.

This captured selected files from the current Explorer window and this was a slightly modified version that did something similar using Clavier+ for the hotkey assignation.

The ExClip program could be modified slightly to output selected files to a temp text file which is passed to the end program, (or intermediate cmd file if the program can't take text list input).

So:

Clavier+ (hotkey) -> ExClip -> WinAmp/etc
460
the only app i know that will backup app data without root is helium but it has not been updated in a long time.
you might want to give it a try.

Doesn't work with Motorola since about 4 or 5 years ago, something they warn you about and that I have tried.
461
Unfortunately I use apps that don't work if the phone is rooted.

So do I and yet ... they work ...

By the way, I cannot find this Google function?

Settings->Google->Backup ... you do know you can search for settings in Settings ... right?
462
DC Member Programs and Projects / Re: Unping all the links!
« Last post by 4wd on April 20, 2019, 10:52 AM »
That's what my extension does, but with less "first you'll have to install this other extension".

Still, an alternative if you already run (x)Monkey with userscripts already.
463
DC Member Programs and Projects / Re: Unping all the links!
« Last post by 4wd on April 20, 2019, 10:00 AM »
If you use (Grease|Tamper|Violent)Monkey then there's also Disable Hyperlink Auditing which just removes the ping attribute from the tags.

Code: Javascript [Select]
  1. // ==UserScript==
  2. // @name         Disable Hyperlink Auditing
  3. // @namespace    https://tech.jacenboy.com/hyperlink-auditing
  4. // @version      1.0
  5. // @description  A simple script that removes hyperlink auditing from all websites.
  6. // @author       JacenBoy
  7. // @match        http*://*/*
  8. // @grant        none
  9. // @run-at document-end
  10. // ==/UserScript==
  11.  
  12. (function() {
  13.     'use strict';
  14.  
  15.     var hyperlinks = Array.from(document.getElementsByTagName("a"));
  16.     hyperlinks.forEach(a => {
  17.         a.removeAttribute("ping");
  18.     });
  19. })();
464
DC Member Programs and Projects / Re: Unping all the links!
« Last post by 4wd on April 19, 2019, 11:46 PM »
How is Iridium?

About all I can say is it works well since I currently have no real preference in a browser and have something like 8 of them on the machine and bounce between them all depending on the sites I'm visiting.

I did install it as the default on the wife's machine because Palemoon was becoming incompatible with the sites she used and with Iridium's predisposition towards privacy it meant I didn't need to trawl through its settings beforehand.

I haven't heard any screaming about anything not working so it passed that test.

It's available as a portable so it's easy enough to try it out.
465
Slightly off topic since it's not really a single CLI based program, (but it does mention transfer.sh so ...):

awesome-selfhosted (link to the file share/sync section) lists some interesting possibilities, (PsiTransfer looks good).
466
DC Member Programs and Projects / Re: Unping all the links!
« Last post by 4wd on April 19, 2019, 03:34 PM »
The latest version of Iridium, (based on Chrome v73), has it disabled by default.

Privacy enhancements
  • Disable "Use a web service to help resolve navigation errors"
  • Disable autocomplete through prediction service when typing in Omnibox
  • Always send "Do-Not-Track" header
  • Network/DNS prediction is disabled by default
  • Block third-party cookies by default
  • Link auditing (<a ping="...">) is disabled by default
  • Fetch plugins list from iridiumbrowser.de where it will be updated regularly
  • Site data (cookies, local storage, etc.) is only kept until exit, by default
  • Passwords are not stored by default
  • Input form autofill is disabled by default
  • For IPv6 probes, use a DNS root server instead of Google
  • The default search provider is Qwant
  • Load "about:blank" on new tabs instead of the currently set search engine and/or promotions.
  • Don't report Safe Browsing overrides.
  • Don't use autofill download service.
  • Disable cookies for safebrowsing background requests.
  • Disable the battery status API.
467
even Beyond compare is reporting at least 45 minutes to complete the comparison run

You're doing it the hard way, set BeyondCompare to display differences only, don't have it automatically compare contents, load the folder trees into it, (one a side), then just look for folders that are tinted red or blue, expand those folders until the file differences are displayed.

Takes less than a minute because you can do it while it's running through the basic folder comparison.

Tinted blue: an item doesn't exist in the other tree (name)
Tinted red: an item in one tree differs from the same item in the other tree (date/time, size)

eg. Less than 10 seconds on my netbook for a simple folder difference highlight:
2019-04-17 08_09_21.png
468
If more than 2 GB, 4wd has a terrific approach, just requiring a few more steps.

By "few more steps" you mean:
1. Move shortcut from Send To to Desktop
2. Double-Click to run

Technically, that's only a couple more steps and only applies the first time.

There were simple changes you could have easily made yourself.

Anything more we can do?

Learn?
469
Post New Requests Here / Re: Select Range of Files Via Batch File
« Last post by 4wd on April 08, 2019, 04:41 AM »
However, the example given is not so complicated, bear in mind.

You can't "select" via a batch/script unless the items to be selected always follow some pattern.  If they don't then they're always going to have to be selected by hand unless you want to code something overly complicated for the task.

The other alternative is to get it right, (file management), the first time so it's not necessary to use all these small batch/script files in the first place.

As @Shades said, get a decent file manager and stop screwing around with 101 dinky little one shot batch/script files.
470
Post New Requests Here / Re: Select Range of Files Via Batch File
« Last post by 4wd on April 07, 2019, 03:35 AM »
Regex: (0[3-7].txt) ... Now you just need to incorporate it into a PowerShell script.

Spoiler
ls R:\*|?{$_..... -match "0[3-7].txt$"}|%{mv $_......... D:\test}

Replace .... and ........ with the appropriate object properties.

Didn't think I'd make it that easy did you ;)

471
Why?

PowerShell doesn't suffer from the 32bit limitation ... as shown by me setting the script above to 2TB.

The numbers must all be within the range of 32 bit signed integer numbers (-2,147,483,648 through 2,147,483,647) to handle larger numbers use PowerShell or VBScript.
472
So much fun that we all should do it.

What say, gang??

(grumble, grumble, grumble....)

Or learn _any_ scripting language at all ...

... meanwhile ... 30 seconds later ...

Code: PowerShell [Select]
  1. <#
  2.   MoveMovies.ps1
  3. #>
  4. Add-Type -AssemblyName System.Windows.Forms
  5.  
  6. Function Send-Notification {
  7. # https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/windows-scripting/x83z1d9f(v=vs.84)
  8.   param (
  9.     [string]$msg,
  10.     [int]$type
  11.   )
  12.   $wshell = New-Object -ComObject Wscript.Shell -ErrorAction Stop
  13.   $wshell.Popup($msg, 0, "MoveMovies", $type) | Out-Null
  14. }
  15.  
  16.  
  17. $source = "D:\Movies"
  18. $dest = "D:\temp"
  19. $moveSize = 2000 # In gigabytes
  20. $moveSize *= 1Gb
  21.  
  22. # Get list of videos in source directory
  23. $videos = (Get-ChildItem "$($source)\*" -Include *.mp4,*.mkv,*.flv,*.avi | Sort Name)
  24. for ($i = 0; $i -lt $videos.Count; $i++) {
  25.   if ($videos[$i].Length -lt $moveSize) {
  26.     Move-Item -LiteralPath "$($videos[$i].FullName)" -Destination "$($dest)"
  27.     if ($?) {
  28.       $moveSize -= $videos[$i].Length
  29.     } else {
  30.       Send-Notification "Moving file failed!" 16
  31.       break
  32.     }
  33.   } else {
  34.     Send-Notification "Maximum number of files moved into space available/allowed" 64
  35.     break
  36.   }
  37. }
473
Sorry, meant to say upload a couple of the shortcut .lnk files not icons.  :-[

Problem I'm having is trying to get PowerShell to accept what is a virtual path, the FOLDERID_AppsFolder in the python script.
474
I thought it might be looking at the PNG images in the Assets folder, I can get the path and executable via PowerShell but none of the executables contain an icon according to Windows.

Trouble is working out which PNG to use since due to standards the names aren't standard.

The PowerShell commands to get all the info pertaining to Apps are:
Get-AppxPackage
Get-AppxPackageManifest

Also, the manifest for some apps, (eg. Photos & Video Editor) is the same since the only difference is the entry point into the app which you can see in the shortcuts my script above created:

Photos:        C:\Windows\explorer.exe shell:Appsfolder\Microsoft.Windows.Photos_8wekyb3d8bbwe!App
Video Editor: C:\Windows\explorer.exe shell:Appsfolder\Microsoft.Windows.Photos_8wekyb3d8bbwe!SecondaryEntry

Below is a small script that gets the App name, ID, path, executable, and logo:
Code: PowerShell [Select]
  1. cls
  2. $apps = (Get-StartApps)
  3. #$apps | Get-Member
  4. $j = 0
  5. for ($i = 0; $i -lt $apps.Count; $i++) {
  6.   if (($apps[$i].AppID).Contains("!")) {
  7.     $j++
  8.     Write-Host "Name: $($apps[$i].Name)"
  9.     Write-Host "  AppID: $($apps[$i].AppID)"
  10.     $package = Get-AppxPackage -Name ($apps[$i].AppID).SubString(0, ($apps[$i].AppID).IndexOf("_"))
  11. #    if ($package.SignatureKind -eq "Store") {
  12. #      $package | Get-Member
  13.       Write-Host "  InstallLocation: $($package.InstallLocation)"
  14.       $manifests = Get-AppxPackageManifest -Package $package
  15.       foreach ($manifest in $manifests) {
  16.         foreach($app in $manifest.Package.Applications.Application) {
  17. #          $app | Get-Member
  18. #          Write-Host "  Id: $($app.Id)"
  19.           Write-Host "  Executable: $($app.Executable)"
  20.           Write-Host "  Logo: $($manifest.Package.Properties.Logo)"
  21.         }
  22.       }
  23. #    }
  24.   }
  25. }
  26. Write-Host $j

The remarked lines are just me experimenting with trying to narrow down the list.

Output
Code: Text [Select]
  1. Name: GetThemAll - Video Downlaoder
  2.   AppID: NimbusWeb.GetThemAll-VideoDownlaoder_p5fjnfwkc9ns0!App
  3.   InstallLocation: C:\Program Files\WindowsApps\NimbusWeb.GetThemAll-VideoDownlaoder_2.3.2.0_x64__p5fjnfwkc9ns0
  4.   Executable: NativeMessagingFFMPEG.exe
  5.   Logo: Assets\StoreLogo.png
  6. Name: Microsoft Edge
  7.   AppID: Microsoft.MicrosoftEdge_8wekyb3d8bbwe!MicrosoftEdge
  8.   InstallLocation: C:\Windows\SystemApps\Microsoft.MicrosoftEdge_8wekyb3d8bbwe
  9.   Executable: MicrosoftEdge.exe
  10.   Logo: Assets\MicrosoftEdgeSquare50x50.png
  11.   Executable: MicrosoftEdgeCP.exe
  12.   Logo: Assets\MicrosoftEdgeSquare50x50.png
  13.   Executable: MicrosoftEdgeCP.exe
  14.   Logo: Assets\MicrosoftEdgeSquare50x50.png
  15.   Executable: MicrosoftEdgeCP.exe
  16.   Logo: Assets\MicrosoftEdgeSquare50x50.png
  17.   Executable: MicrosoftPdfReader.exe
  18.   Logo: Assets\MicrosoftEdgeSquare50x50.png
  19. Name: Connect
  20.   AppID: Microsoft.PPIProjection_cw5n1h2txyewy!Microsoft.PPIProjection
  21.   InstallLocation: C:\Windows\SystemApps\Microsoft.PPIProjection_cw5n1h2txyewy
  22.   Executable: Receiver.exe
  23.   Logo: Assets\StoreLogo.png
  24. Name: Cortana
  25.   AppID: Microsoft.Windows.Cortana_cw5n1h2txyewy!CortanaUI
  26.   InstallLocation: C:\Windows\SystemApps\Microsoft.Windows.Cortana_cw5n1h2txyewy
  27.   Executable: SearchUI.exe
  28.   Logo: Assets\Icons\MediumTile.png
  29.   Executable: RemindersShareTargetApp.exe
  30.   Logo: Assets\Icons\MediumTile.png
  31.   Executable: Cain.exe
  32.   Logo: Assets\Icons\MediumTile.png
  33. Name: Mixed Reality Portal
  34.   AppID: Microsoft.Windows.HolographicFirstRun_cw5n1h2txyewy!App
  35.   InstallLocation: C:\Windows\SystemApps\Microsoft.Windows.HolographicFirstRun_cw5n1h2txyewy
  36.   Executable: MixedRealityPortal.exe
  37.   Logo: Assets\MixedRealityPortalMedTile.png
  38. Name: Windows Defender Security Centre
  39.   AppID: Microsoft.Windows.SecHealthUI_cw5n1h2txyewy!SecHealthUI
  40.   InstallLocation: C:\Windows\SystemApps\Microsoft.Windows.SecHealthUI_cw5n1h2txyewy
  41.   Executable: SecHealthUI.exe
  42.   Logo: Assets\DefenderAppSplashScreen.scale-400.png
  43. Name: Settings
  44.   AppID: windows.immersivecontrolpanel_cw5n1h2txyewy!microsoft.windows.immersivecontrolpanel
  45.   InstallLocation: C:\Windows\ImmersiveControlPanel
  46.   Executable: SystemSettings.exe
  47.   Logo: images\logo.png
  48. Name: Print 3D
  49.   AppID: Microsoft.Print3D_8wekyb3d8bbwe!App
  50.   InstallLocation: C:\Program Files\WindowsApps\Microsoft.Print3D_3.1.2612.0_x64__8wekyb3d8bbwe
  51.   Executable: Print3D.exe
  52.   Logo: Assets\manifestAssets\StoreLogo.png
  53. Name: Get Help
  54.   AppID: Microsoft.GetHelp_8wekyb3d8bbwe!App
  55.   InstallLocation: C:\Program Files\WindowsApps\Microsoft.GetHelp_10.1706.12921.0_x64__8wekyb3d8bbwe
  56.   Executable: GetHelp.exe
  57.   Logo: Assets\Logo.png
  58. Name: Maps
  59.   AppID: Microsoft.WindowsMaps_8wekyb3d8bbwe!App
  60.   InstallLocation: C:\Program Files\WindowsApps\Microsoft.WindowsMaps_5.1812.10071.0_x64__8wekyb3d8bbwe
  61.   Executable: Maps.exe
  62.   Logo: Assets\AppTiles\MapsStoreLogo.png
  63. Name: Messaging
  64.   AppID: Microsoft.Messaging_8wekyb3d8bbwe!x27e26f40ye031y48a6yb130yd1f20388991ax
  65.   InstallLocation: C:\Program Files\WindowsApps\Microsoft.Messaging_4.1901.10241.0_x64__8wekyb3d8bbwe
  66.   Executable: MessagingApplication.exe
  67.   Logo: Assets\StoreLogo.png
  68. Name: Calculator
  69.   AppID: Microsoft.WindowsCalculator_8wekyb3d8bbwe!App
  70.   InstallLocation: C:\Program Files\WindowsApps\Microsoft.WindowsCalculator_10.1812.10048.0_x64__8wekyb3d8bbwe
  71.   Executable: Calculator.exe
  72.   Logo: Assets\CalculatorStoreLogo.png
  73. Name: 3D Viewer
  74.   AppID: Microsoft.Microsoft3DViewer_8wekyb3d8bbwe!Microsoft.Microsoft3DViewer
  75.   InstallLocation: C:\Program Files\WindowsApps\Microsoft.Microsoft3DViewer_6.1903.4012.0_x64__8wekyb3d8bbwe
  76.   Executable: 3DViewer.exe
  77.   Logo: Assets\StoreLogo.png
  78. Name: OneNote
  79.   AppID: Microsoft.Office.OneNote_8wekyb3d8bbwe!microsoft.onenoteim
  80.   InstallLocation: C:\Program Files\WindowsApps\Microsoft.Office.OneNote_16001.11425.20094.0_x64__8wekyb3d8bbwe
  81.   Executable: onenoteim.exe
  82.   Logo: images\OneNoteAppList.png
  83. Name: Aussie TV FTW!
  84.   AppID: 55758OcelotSoft.AussieTVFTW_jzcqt2s08q53y!App
  85.   InstallLocation: C:\Program Files\WindowsApps\55758OcelotSoft.AussieTVFTW_1.8.0.0_x64__jzcqt2s08q53y
  86.   Executable: AussieTV.exe
  87.   Logo: Assets\StoreLogo.png
  88. Name: Alarms & Clock
  89.   AppID: Microsoft.WindowsAlarms_8wekyb3d8bbwe!App
  90.   InstallLocation: C:\Program Files\WindowsApps\Microsoft.WindowsAlarms_10.1902.633.0_x64__8wekyb3d8bbwe
  91.   Executable: Time.exe
  92.   Logo: Assets\AlarmsStoreLogo.png
  93. Name: Paint 3D
  94.   AppID: Microsoft.MSPaint_8wekyb3d8bbwe!Microsoft.MSPaint
  95.   InstallLocation: C:\Program Files\WindowsApps\Microsoft.MSPaint_5.1811.20017.0_x64__8wekyb3d8bbwe
  96.   Executable: PaintStudio.View.exe
  97.   Logo: Assets\Logos\StoreLogo\PaintApplist.png
  98. Name: OverDrive - Library eBooks & Audiobooks
  99.   AppID: 2FA138F6.OverDriveMediaConsole_daecb9042jmvt!App
  100.   InstallLocation: C:\Program Files\WindowsApps\2FA138F6.OverDriveMediaConsole_3.8.0.5_neutral__daecb9042jmvt
  101.   Executable: MediaConsole.Win8.exe
  102.   Logo: Assets\StoreLogo.png
  103. Name: Voice Recorder
  104.   AppID: Microsoft.WindowsSoundRecorder_8wekyb3d8bbwe!App
  105.   InstallLocation: C:\Program Files\WindowsApps\Microsoft.WindowsSoundRecorder_10.1902.633.0_x64__8wekyb3d8bbwe
  106.   Executable: SoundRec.exe
  107.   Logo: Assets\VoiceRecorderStoreLogo.png
  108. Name: Microsoft Store
  109.   AppID: Microsoft.WindowsStore_8wekyb3d8bbwe!App
  110.   InstallLocation: C:\Program Files\WindowsApps\Microsoft.WindowsStore_11811.1001.27.0_x64__8wekyb3d8bbwe
  111.   Executable: WinStore.App.exe
  112.   Logo: Assets\AppTiles\StoreLogo.png
  113. Name: Photos
  114.   AppID: Microsoft.Windows.Photos_8wekyb3d8bbwe!App
  115.   InstallLocation: C:\Program Files\WindowsApps\Microsoft.Windows.Photos_2019.19021.18010.0_x64__8wekyb3d8bbwe
  116.   Executable: Microsoft.Photos.exe
  117.   Logo: Assets\PhotosStoreLogo.png
  118.   Executable: VideoProjectsLauncher.exe
  119.   Logo: Assets\PhotosStoreLogo.png
  120. Name: Video editor
  121.   AppID: Microsoft.Windows.Photos_8wekyb3d8bbwe!SecondaryEntry
  122.   InstallLocation: C:\Program Files\WindowsApps\Microsoft.Windows.Photos_2019.19021.18010.0_x64__8wekyb3d8bbwe
  123.   Executable: Microsoft.Photos.exe
  124.   Logo: Assets\PhotosStoreLogo.png
  125.   Executable: VideoProjectsLauncher.exe
  126.   Logo: Assets\PhotosStoreLogo.png
  127. Name: Camera
  128.   AppID: Microsoft.WindowsCamera_8wekyb3d8bbwe!App
  129.   InstallLocation: C:\Program Files\WindowsApps\Microsoft.WindowsCamera_2019.124.60.0_x64__8wekyb3d8bbwe
  130.   Executable: WindowsCamera.exe
  131.   Logo: Assets\WindowsIcons\StoreLogo.png
  132. 23


I can try and find some correlation regarding the image they use from the Assets folder since some folders don't contain images with the same name as other Assets folders - there maybe be something in the manifest I can work from.

EDIT: Think I found where the image is specified in the manifest - can you upload a couple or so of the icons the Python script created?
475
This Python solution works for me without running as administrator https://stackoverflow.com/a/43635956
I had to use Python 2. The .lnk shortcut files also get icons (issue 3 above).
Perhaps the approach there can be reproduced without Python.

Just as a matter of interest, what is the shortcut Target that is generated by the above script?

Does it use explorer.exe shell:.... or does it resolve to the executable?

ie. It would be easy to add an icon to the shortcut but you'd need to resolve to the executable to fetch it.
Pages: prev1 ... 14 15 16 17 18 [19] 20 21 22 23 24 ... 225next