Jump to content

JD2066

Members
  • Posts

    17
  • Joined

  • Last visited

Profile Information

  • Location
    Central United States
  • WWW
    http://www.techoddity.com
  • Interests
    Computers.

JD2066's Achievements

Seeker

Seeker (1/7)

0

Reputation

  1. Thanks for the links. It appears that I can redistribute any part of AutoIt3 as long as long as the all the legal notices stay intact and I include a copy of the AutoIt3 EULA with my software.
  2. I have an application that I want to have a Program Directory listing similar to this: The include directory will include my include files along with a copy of the AutoIt3 includes. The module directories would contain modules to run and the Launcher_AutoIt3_ARCH.exe file would be the only compiled script with the purpose of running scripts in the module directories. The program would be open source so distributing it's files as plain text files won't be an issue. What I'm wondering is if I can redistribute the autoit3 include files with my program and store the program files with the autoit3 includes in a public repository on a service like GitHub.
  3. Just an update on this, if anyone sees this topic in the future. In Windows 10 this function will be removed and calls to it will cause a popup to appear notifying the user to go to the settings app to change their Association settings. The blog post listing this change says: I don't really understand their logic. Instead of just letting Windows Store Apps call this function so both Win32 apps and Windows Store apps could use it. They decided that neither should be able to call this function.
  4. Hi, I have a script setup to create a File Association in Windows 8. I need to use the LaunchAdvancedAssociationUI to open "Default Programs" with my registered application entry selected. I have looked at http://msdn.microsoft.com/en-us/library/windows/desktop/bb776330(v=vs.85).aspx but I can't figure out how to use that API, in part because I know more about scripting languages like JavaScript, Auto3 Scripts and Bash Shell Scripts. I don't know much about programming languages like C, C+, C#, etc. Can anyone help me use this API in an AutoIt3 script? Justin
  5. I just found the solution. The following code works just fine: $WMIService = ObjGet("winmgmts:\\.\root\cimv2") $WMIVolumes = $WMIService.ExecQuery("Select * from Win32_Volume") If IsObj($WMIVolumes) Then For $Volume in $WMIVolumes MsgBox(0, "WMI Info", $Volume.Name & @CRLF & $Volume.DeviceID) Next EndIf I just found using Win32_Volume instead of Win32_MountPoints returns the correct values. I had assumed before posting that Win32_Volume didn't list MountPoints. Not sure why I didn't think to check before posting.
  6. Hi, I'm trying to find the mount point a volume has with WMI. I have the following code to list the volumes and mount points but it doesn't seem to work right. $WMIService = ObjGet("winmgmts:\\.\root\cimv2") $WMIMountPoints = $WMIService.ExecQuery("Select * from Win32_MountPoint") If IsObj($WMIMountPoints) Then For $MountPoint in $WMIMountPoints MsgBox(0, "WMI Info", $MountPoint.Volume & @CRLF & $MountPoint.Directory) Next EndIf I would expect the output of $MountPoint.Directory for the C: drive to be C:\ but it's not, the value is Win32_Directory.Name="C:\\". Anyone know what the problem is? Justin
  7. I just downloaded AutoIt 3.1.1.103 and found a new function GUICtrlRegisterListViewSort. I looked at the example code, copyed it to my script and after debugging it a bit I got it to work. I made it work by lowering the sleep time in my main loop. I guess it had something to do with the example using MessageLoop mode and my script using EventMode. I don't really have any idea how the code works but it does. Justin
  8. Thats ok. Thanks for looking.I think I'll just have to keep the sorting code I have the way it is then as I've already spent to much time on it. It seems like sorting while keeping the images right by clicking the header should be built in to the listview control but I guess someone on the Windows Dev team thought otherwise. Justin
  9. My script is a User Management script that pulls a user list from Active Directory.So my script won't really work for you unless you have a computer joined to a domain to test it on. But the listview sorting code I copyed from the example on the last post here with the only real differences being that in my script the the users are added to the listview when an OU is selected and the two hidden columns end up showing when doing that. Justin
  10. I thought about that idea but it also has a few problems:1. I'm adding items to the listview with a "For...In" loop so I don't have a total amount of items to dim the array with. 2. Because the items could be sorted more then one time the array would have to be recreated each time it's sorted. I think I might be able to do that by add the items to a string during each loop and split the string into an array after that though it would be easier with a GUICtrlGetImage type function. I'm also not sure of the performance impact of doing that vs diming an array from the start though with only a few hundred users and only needing to store the icon index as the file is the same it might not be noticable. Justin
  11. Hi, I have used GUICtrlSetImage to set icons on listview items and want to by able to sort the listview by clicking on the headers. I have searched the fourm and found a few ways to do that but found a few problems: 1. If I use the included listview sort UDF the images don't get sorted. 2. If I use the UDF I found here there is some flicker. I was thinking if there was a way to get the image set on a listview item I might be able to update the above UDF so there wasn't as much flicker. Anyone know a way to get the image set by GUICtrlSetImage? I am using Windows XP and AutoIt version 3.1.1.99. Justin Update: Problem Solved now. See my last post.
  12. I think you may be getting the GUI Event Modes confused. The macros @GUI_CtrlId, @GUI_CtrlHandle and @GUI_WinHandle and functions GUISetOnEvent and GUICtrlSetOnEvent are only used when the "GUIOnEventMode" option is set to on. The default mode is MessageLoop mode, in which a main code loop exists that calls GUIGetMsg(). It returns the event/control ID in a string by default, one would reference with $msg. One can turn on the advanced mode of GUIGetMsg() by calling it with an argument of 1 to get an array of info similar the above macros one would reference by using: $msg[0] for Event ID or Control ID if Event happened otherwise 0 $msg[1] for The window handle the event is from $msg[2] for The control handle the event is from (if applicable) $msg[3] for The current X position of the mouse cursor (relative to the GUI window) $msg[4] for The current Y position of the mouse cursor (relative to the GUI window) [Note: above $msg array info almost direct copy from help] [Note: all of above assumes a the var holding GUIGetMsg val is named $msg] Justin
  13. I just tested using sendto to launch an autoit3 script and I think the limit being reached here isn't the windows command line limit but rather a limit with the builtin sendto shell extension as I was able to pass a max of 299 files with the Fast Explorer shell extension I mentioned above and only 18 using the builtin sendto shell extension. Justin Edit: I used the following windows and program versions when testing the above: OS: Windows XP SP2 AutoIt3: 3.1.1.99 Fast Explorer: 2.1.7
  14. You could try using Fast Explorer <http://thesoftpro.tripod.com/downloads/fe/>. It is a shell extension for displaying context menu items with extra features like submenus and icons, I was able to pass a command line of at least 200 files to an autoit3 script from it. When using it's gui configuration program make sure to click the "Submenu Items" tab and select "Enable Dynamic Items" as putting items on the "Static Items" tab will just use the standard Explorer context menu that appears to only support 1 file at a time. I use this program with my Picture Resizing script. Justin
×
×
  • Create New...