Jump to content

Skizmata

Active Members
  • Posts

    170
  • Joined

  • Last visited

Everything posted by Skizmata

  1. Fantastic, interesting stuff. You guys are great. Thanks again.
  2. Thanks Jos that works for me too. I'd love an explanation of what makes osk.exe not run from an x32 script if you have the time. Thanks again. Jos "You da real MVP" <insert meme>
  3. Neither one of those work. Did they work for you? I'll add them to my example code. They do the same thing as the code already in my example. The run and the shell execute aren't failing do to path issues. They both use the system path and system32 is in the path.
  4. Long time lurker rare poster. What's the deal with osk.exe? Why is it's behavior so much different than calc.exe or other built in Windows stuff? I have a tablet app that I need to be able to launch the OSK for the user when it's time to use it. And I can't figure out an easy way to do it. The code example below should illustrate the different ways I am trying and their results. ; This isn't working at all... not output Run('osk.exe') sleep(2000) ; This one pops up a message box that looks like... ; MsgBox(16, 'On-Screen Keyboard', 'Could not start On-Screen Keyboard.') ShellExecute(@WindowsDir & '\system32\osk.exe') sleep(2000) ; As stupid as it is this way works every time. Send("#r") sleep(100) Send("osk.exe{enter}") Run(@WindowsDir & '\system32\osk.exe') ShellExecute('osk.exe') don't work either in exactly the same way as the examples above. Thanks so much. AutoIt has been a huge part of my life/career for the past 12+ years.
  5. Why would this not work? #include <GDIPlus.au3> rotate('example.png', 90) Func rotate($filePath, $degs) _GDIPlus_Startup() $hImage = _GDIPlus_ImageLoadFromFile($filePath) _GDIPlus_GraphicsRotateTransform($hImage, $degs) _GDIPlus_ImageSaveToFile($hImage, 'out.png') _GDIPlus_Shutdown() EndFunc ;==>rotate I get @Error 10 and @Extended 2 from _GDIPlus_GraphicsRotateTransform($hImage, $degs) but I am having a hard time finding what those errors mean in the help file. This seems like a pretty simple thing to do but clearly I am missing something. Also, I just noticed that my output file is twice as big as my example.png... is it really a bmp? Thank you all. Long time user rare forum poster.
  6. Thank you very much (for many things over the years not just this). I think Jos's example will be very much help. Unfortunately it seems he is doing it exactly the way I had planned to do it. I had hoped I had overlooked some much simpler way. But if Jos didn't find a easier way, and you don't know one, then this must be the right solution. Thanks again!
  7. I know I can use BitAnd(WinGetState(), 2) to see if a window is visible or hidden. But is there an easy way to know if your window has anything over top of it? The only thing I can think of is to use WinGetPos() to get the location and size of your window and then iterate over WinList() checking to make sure each one doesn't encroach on your window until you find your window (since WinList() is in Z order). Is there a better way?
  8. Since a couple days have passed without any responses, and since I really like StackOverflow, I posted this question to it. If you are a SO user and want to weigh in there please do! http://stackoverflow.com/questions/15202862/saveing-only-visible-cells-from-excel-to-csv
  9. Short Version: How can you save only the visible cells of an xls as a csv? Longer Version: I have a large .xls file that contains some data spread over many sheets that I would like to make available to some old UNIX perl scripts. I have some code that will watch the file for a modification, regenerate the csv files and FTP them to where I need them. The problem is the people who maintain the spreadsheet don't want to remove old data, they simply hide it from view for their latter reference. My method of saving to csv (as you would expect it should in most use cases) ends up with all the hidden data and visible side by side with no way to know what was hidden originally. I've did some searching on the web and here and can't find any way (that I'm able to follow) of doing this programmatically. Below is some of the code I am useing. If it could be used as the starting point for an answer it would make it easier for me to understand. Thanks in advance, you guys are always very helpful. Local $oExcel = ObjCreate("Excel.Application") Local $oBook = $oExcel.Workbooks.Open("Y:\NetworkLocation\File.xls") Local $oWorkSheets = $oBook.WorkSheets Local $i = 1 For $oSheet In $oWorkSheets $oSheet.Auto $oSheet.SaveAs(@ScriptDir & '\csv\Sheet' & $i & '.dat', 6) $i += 1 Next $oBook.Close(False) $oExcel.Quit()
  10. Thanks Melba23 I didn't even know the wiki existed. Those who can actually help instead of posting obvious flame bate have no doubt earned the MVP group status. Thanks for adding this to the wiki.
  11. Wonderful! Melba23! Stop the clock at just under 15 minutes the AutoIt forums does it again. This is as I'm sure you well know, exactly what I was hunting for. I can't thank you enough. But just to make this thread even better for any future seekers that discover it. If you where to reverse engineer my situation using the help file, the forums and web searches what is the most likely way I would have found this on my own? It appears to me I need to read and understand WinAPI.au3 thank you so much!
  12. Thanks JohnOne that is a good place to start looking. Unfortunately I think I wasn't clear in my first post (I hope I can fist it after I post this in case no one reads on). I'm looking for the attribute set in AutoIt by WinSetOnTop() not necessarily the windows that are at the top at any given moment. True these are likly one and the same but a window with WinSetOnTop() true can be minimized or under another window with that attribute also set to true. I hope I am making myself more clear. Thanks again JohnOne for a quick interaction.
  13. I am looking for a way to know if a window has the topmost attribute. I feel I have searched high and low and greatly look forward to your help. ***EDIT*** To be clear I mean the attribute set by WinSetOnTop() not the current highest window in z order. (Thanks for point this out JohnOne) I don't want to have to do a work around hack (invisible windows over other windows sort of thing). If you find a thread I have missed in my searching that addresses this I would gladly have this one deleted. I found some info on msdn(http://msdn.microsoft.com/en-us/library/system.windows.window.topmost.aspx) that I thought looked promising. Is this telling me that a DllCall to PresentationFramework.dll is what I need to get the .Topmost property out of a window? If so how do I learn how to go about that. I have had little success with understanding how to track down how to do a DllCall. If I'm barking up the wrong tree a nudge in the right direction would be appreciated. Thanks
  14. If you would read your dictionary more carefully you would find it. You can find common usage here, http://www.merriam-webster.com/dictionary/snarky. Since I expect a snarky asshole to say some nonsense about online dictionaries I also found it in my print edition of "The Oxford Dictionary of English Etymology" (1966) on page 840 where it says it is of or relating to the imaginary animal in 'Lewis Carroll' (C.L. Dodgson)'s "The Hunting of the Snark". Anyway, forums are the last vestige of this kind of back handed nonsense soon to be beat out entirely be systems like StackOverflow.com where credibility is built by getting the right answer (as you did) not by provoking more attention (as you also did). Forms foster condescension and arrogance among casual users to try to boost post count. When someone gives a good answer and does it like an arrogant jerk they are improving their odds of having another post to comment on. Since post count gets confused for creditability on these antiquated systems this is a self reinforcing mechanism that has always annoyed me. Thanks for the help you are very much correct. I don't think I will help bolster your post count any further.
  15. Thanks so much for the help. This was exactly what I needed. Aside from the snarky "Read HelpFile more carefully :]" comment. It would appear that the help file is incorrect and the line "To set or change information in the control see GUICtrlUpdate...." in GUICtrlCreateDate() should be a link to GUICtrlSetData() instead of GUICtrlUpdate(). I know this from a careful reading of the help file.
  16. I can't seem to figure out how to change the date displayed in a date control created with GUICtrlCreateDate(). In the help file there is a link to the function GUICtrlCreateDateGUICtrlUpdate() that doesn't seem to exist. I assumed that GUICtrlUpdate() was replaced by GUICtrlSetData() but it doesn't seem to work either. Your help is much appreciated. Thanks in advance.
  17. I have no idea why you need to tokenize data but apparently people do. I assume for good reasons I don't yet understand. Apparently this is an important part of lexical analysis. I have seen tokenizing perl modules on cpan and tokenization code for java and c++. Maybe after I read the Wikipedia page for lexical analysis I will get it.
  18. Yes exactly, +1 Jos I'm embarrassed for not finding it on my own. You guys are awesome! Your work is much appreciated.
  19. I need an easy directory selector similar to FileOpenDialog() but for directories. Is one built in I'm overlooking? Thanks again!
  20. Thanks guys! Perfect!
  21. How would you make a IsDirectory() function in AutoIt. Perl sub example... sub IsDirectory() { $target = shift(); return 1 if (-d $target); return 0; }
  22. awesome! Thanks, Jon7863 and (many many many thanks to) weaponx
  23. Amazing! 100% Amazing Thank you so much lots of great work very much to be learned from the source. An amazing demonstration!
  24. This cracked up my entire office. Good Job!
  25. Awesome job looks just like it, very fun.
×
×
  • Create New...