-
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:
https://autoitscript.com/trac/autoit/ticket/3752
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
Hi!
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
Hello,
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
hello,
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 :)
-
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now