Jump to content
  1. JustSomeone


  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By Robinson1
      Okay it's about the style of the AutoIT Language. Concerning: 
      BitAND, BitOR, BitXOR, BitXOR, 
      BitShift, BitRotate
      That's a very simple but fundamental question:
       Why BitAND is not  infix?

      In most other common programming languages it is.
      Let's take JavaScript. Here I write:
      Result = Value & Mask
      But on AutoIT it's
      $Result = BitAND ( $Value , $Mask ) That's more the Lisp / prefix way.
      While the logical and is indeed infix
      $bIsEnable = $bIsGUI_chkEnabled and $bIsGUI_chkChecked
      So I wonder why it is like this.
      What is the Idea behind this language design decision?  

      Okay Autoit is a matured Language but yeah -  It's never to late for a change.
      Wasn't there ideas to unify it any way?
      So we also make the 'Bit' operations infix as well?
      ... while Just keeping the 'old' prefix version -for backwards compatibility - as well.

      UPDATE #1: Now I created a ticket for this:

      Well to generalise/modulate It more I may bring it down to the Subject Verb Object  thing you have with language.
      "I go swimming" that's S-V-O or some infix.
      "Swimming I go". is O-S-V - postfix and sound much like yoda-style. While
      "go I swimming" is V-S-O - prefix and 'feels' more like kinda question.

      There is no right or wrong here - however personally I find infix is most appropriate here.
    • By iXX
      Looking for working code to  get full path of process  - both 32 & 64 bit.
      I tryed this bellow, but it works only for 32-bit processes, even if compiled for x64...
      Thanx for suggestions!
      Func _ProcessGetPath($vProcess) ;get the program path done by MrCreatoR Local $iPID = ProcessExists($vProcess) If NOT $iPID Then Return SetError(1, 0, -1) Local $aProc = DllCall('kernel32.dll', 'hwnd', 'OpenProcess', 'int', BitOR(0x0400, 0x0010), 'int', 0, 'int', $iPID) If NOT IsArray($aProc) OR NOT $aProc[0] Then Return SetError(2, 0, -1) Local $vStruct = DllStructCreate('int[1024]') Local $hPsapi_Dll = DllOpen('Psapi.dll') If $hPsapi_Dll = -1 Then $hPsapi_Dll = DllOpen(@SystemDir & '\Psapi.dll') If $hPsapi_Dll = -1 Then $hPsapi_Dll = DllOpen(@WindowsDir & '\Psapi.dll') If $hPsapi_Dll = -1 Then Return SetError(3, 0, '') DllCall($hPsapi_Dll, 'int', 'EnumProcessModules', _ 'hwnd', $aProc[0], _ 'ptr', DllStructGetPtr($vStruct), _ 'int', DllStructGetSize($vStruct), _ 'int_ptr', 0) Local $aRet = DllCall($hPsapi_Dll, 'int', 'GetModuleFileNameEx', _ 'hwnd', $aProc[0], _ 'int', DllStructGetData($vStruct, 1), _ 'str', '', _ 'int', 2048) DllClose($hPsapi_Dll) If NOT IsArray($aRet) OR StringLen($aRet[3]) = 0 Then Return SetError(4, 0, '') Return $aRet[3] EndFunc  
    • By 232showtime
      good day,
      Please I need a little help ive been trying to find where I got this magic number and I remember it was for Minimize, but I really dont remember where I got this. Last thing I remember i was reading the help file and saw this minize magic numbers, but I cant find it anymore, I dnt wnt to use this magic number anymore OMG! please help...
      here it is.
      Local $hAaSf = "C:\Main.xlsx" ;Main excel Local $iStateAsf = WinGetState($hAaSf) BitAND($iStateAsf, 16)  
    • By AutID

      I will put it as simple as possible
      Why this code runs perfectly on 32bit and it fails on 64bit?
      Local $hWND = WinGetProcess("[CLASS:LSS_app]") ConsoleWrite($hWND & @LF) Local $hModuleList = _WinAPI_EnumProcessModules($hWND) If @error Then ConsoleWrite("Error: " & @error & @LF) For $i = 0 To $hModuleList[0][0] - 1 ;~ If StringInStr($hModuleList[$i][1], "sysCap64.dll") Then ConsoleWrite($hModuleList[$i][0] & @LF) ;~ EndIf Next As the title says EnumProcessModules returns error 10 which I have no clue what it is.
      It must be something with autoit or my lack of coding because a similar code in C# will work like a charm on both x86 and x64
      Process[] Processes = Process.GetProcessesByName("winLSS64Cap"); Process nProcess = Processes[0]; Handle = OpenProcess(0x10, true, (uint)nProcess.Id); for(int i = 0; i < nProcess.Modules.Count; i++) { Console.WriteLine(nProcess.Modules[i].ModuleName); }  
    • By andygo
      i have a script which can handle huge data.
      i feed it with textfiles, it reads each line into array, then compare the lines, do some string operations. this all happens in a for.to.next loop.
      the script only use 15% cpu of my 8core.amd
      can i force the script to use more cpuload an therefore being faster?
      would it make a speed difference to compile it as 64bit exe on 64bit systems?
      thank you for commemts :)
  • Create New...