-
Posts
5,407 -
Joined
-
Last visited
-
Days Won
179
argumentum last won the day on December 15
argumentum had the most liked content!
About argumentum

Profile Information
-
Member Title
✨Universalist ✨
-
Location
I'm in your browser now =)
-
WWW
https://www.youtube.com/watch?v=SjwX-zMRxO0&t=5s
-
Interests
Relax
argumentum's Achievements
-
argumentum reacted to a post in a topic:
'Tis the Season
-
argumentum reacted to a post in a topic:
Overlapped Named Pipe IPC
-
argumentum reacted to a post in a topic:
WinRT - UI Gallery (Xaml Islands)
-
WarMan reacted to a post in a topic:
WinAPIEx UDF
-
argumentum reacted to a post in a topic:
myLogin - 🛡️ Secure lock screen Windows 🖥️
-
argumentum reacted to a post in a topic:
Namepipe this unknow
-
WildByDesign reacted to a post in a topic:
Namepipe this unknow
-
argumentum reacted to a post in a topic:
WinRT - UI Gallery (Xaml Islands)
-
Goodness @MoriceGrene ! ..but I figure you'd need it and did it anyway. It couldn't be any louder I claim to be the "king of copy and paste", but it does takes some reading. @argumentum slaps @MoriceGrene around a bit with a large trout
-
There is a simpler example for in the loop IPC here.
- 5 replies
-
- wm_copydata
- ipc
-
(and 3 more)
Tagged with:
-
#include <WMCDIPC.au3> ; https://www.autoitscript.com/forum/topic/212541-wmcdipc-x32x64-useradmin-self-triggering-slow-wm_copydata-ipc/ #include <ButtonConstants.au3> #include <EditConstants.au3> #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> If Not StringInStr($CmdLineRaw, "/anotherOne") Then ShellExecute(@AutoItExe, '"' & @ScriptFullPath & '" /anotherOne') ; oppened another ( just for you =D ) EndIf Exit Example() ; in the loop Func Example() #Region ### START Koda GUI section ### Form= Local $iFormWidth = 400 Local $iFormHeight = 400 Local $Form1 = GUICreate("WMCDIPC example on PID:" & @AutoItPID, $iFormWidth, $iFormHeight) Local $aWinList = WinList("WMCDIPC example on PID:") ; so that you can see both GUIs loaded WinMove($Form1, "", (@DesktopWidth / 3) + UBound($aWinList) * 100, (@DesktopHeight / 3) + UBound($aWinList) * 40) Local $ButtonSend = GUICtrlCreateButton("Send", 10, 10, 75, 25) Local $Input1 = GUICtrlCreateInput("My message to another", 100, 10, $iFormWidth - 110, -1, BitOR($WS_EX_CLIENTEDGE, $WS_EX_STATICEDGE)) GUICtrlCreateGroup("Received", 10, 50, $iFormWidth - 20, $iFormHeight - 60, -1, $WS_EX_STATICEDGE) Local $Edit1 = GUICtrlCreateEdit("", 20, 65, $iFormWidth - 40, $iFormHeight - 85, -1, BitOR($WS_EX_CLIENTEDGE, $WS_EX_STATICEDGE)) GUICtrlSetData($Edit1, @CRLF & @TAB & "Received will show here") GUICtrlCreateGroup("", -99, -99, 1, 1) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### WMCDIPC_Register() ; register the message handler While 1 WMCDIPC_Receive_Example($Edit1) Switch GUIGetMsg() Case $GUI_EVENT_CLOSE GUIDelete($Form1) Return Case $ButtonSend WMCDIPC_Send_Example($Form1, GUICtrlRead($Input1)) GUICtrlSetData($Edit1, @CRLF & @TAB & "Sent to " & @extended & " others") EndSwitch WEnd EndFunc ;==>Example Func WMCDIPC_Send_Example($hGUI, $sStr) Local $iCount = 0, $aWinList = WinList("WMCDIPC example on PID:") For $n = 1 To UBound($aWinList) - 1 If StringInStr($aWinList[$n][0], "PID:" & @AutoItPID) Then ContinueLoop ; don't send to itself ConsoleWrite($aWinList[$n][1] & @TAB & $aWinList[$n][0] & @CRLF) WMCDIPC_Send($hGUI, $aWinList[$n][1], 1, $sStr) ; send to others that may be loaded $iCount += 1 Next Return SetError(0, $iCount, $iCount) EndFunc ;==>WMCDIPC_Send_Example Func WMCDIPC_Receive_Example($iCtrl) Local Static $iLastCount = 0 Local $aDataArray = WMCDIPC_MsgData() Local Enum $eWMCDIPC_Adlib, $eWMCDIPC_receiver, $eWMCDIPC_iMsg, $eWMCDIPC_sender, $eWMCDIPC_int, $eWMCDIPC_string, _ $eWMCDIPC_TimerDiff, $eWMCDIPC_TimerInit, $eWMCDIPC_MsgCounter, $eWMCDIPC_CaughtCounter, $eWMCDIPC_UBound If $iLastCount = $aDataArray[$eWMCDIPC_MsgCounter] Then Return ; because there is nothing new $iLastCount = $aDataArray[$eWMCDIPC_MsgCounter] Local $sStr = (@AutoItX64 ? "64bit" : "32bit") & " / " & (IsAdmin() ? "Admin" : "User") & ' level - ( UDF ver.: ' & WMCDIPC_Version() & ' )' & @CRLF & @CRLF $sStr &= "- receiver >" & $aDataArray[$eWMCDIPC_receiver] & '<' & @CRLF $sStr &= "- iMsg >0x" & Hex($aDataArray[$eWMCDIPC_iMsg], 4) & '<' & @CRLF $sStr &= "- sender >" & $aDataArray[$eWMCDIPC_sender] & '<' & @CRLF $sStr &= "- data >0x" & Hex($aDataArray[$eWMCDIPC_int], 4) & '< ' & ($aDataArray[$eWMCDIPC_int] = 0xFADE ? "the other script failed to act on this" : (Mod($aDataArray[$eWMCDIPC_int], 5) ? "" : " will return ""sup !""")) & @CRLF & @CRLF $sStr &= "- string >" & $aDataArray[$eWMCDIPC_string] & '<' & @CRLF & @CRLF ; all you would care about I guess $sStr &= "- MsgHandler >" & $aDataArray[$eWMCDIPC_TimerDiff] & '< time spent receiving' & @CRLF $sStr &= "- MsgHandler >" & TimerDiff($aDataArray[$eWMCDIPC_TimerInit]) & '< time it took to get here' & @CRLF $sStr &= "- MsgHandler >" & $aDataArray[$eWMCDIPC_MsgCounter] & '< Incoming messages count' & @CRLF ; These two should $sStr &= "- MsgHandler >" & $aDataArray[$eWMCDIPC_CaughtCounter] & '< Messages caught count' & @CRLF ; be the same count. $sStr &= @CRLF GUICtrlSetData($iCtrl, $sStr) WMCDIPC_MsgData(1) ; at the end to allow a next message EndFunc ;==>WMCDIPC_Receive_Example There is a simpler example for in the loop IPC.
-
/topic/212541-wmcdipc-x32x64-useradmin-self-triggering-slow-wm_copydata-ipc/ is simple. If you need a simpler example, tell me if is "GUIOnEventMode" 0 ( in a loop ) or 1 ( OnEvent functions notifications )
-
MoriceGrene reacted to a post in a topic:
Namepipe this unknow
-
did you look at /topic/204734-overlapped-named-pipe-ipc ?
-
Avoid "AutoIt Error" message box in unknown errors
argumentum replied to EKY32's topic in AutoIt General Help and Support
...yes, this is a @jpm level of knowing. It should be simple to fix. Just check the range so it don't blindly do stuff, as it shows that watever worked back in win98, WinNT or WinXP, does not work now For the rest of your exploration, am afraid I don't have time for ( work it's got me by the 😅 ) But yes, this should go strait to trac. Is an AutoIt3 issue ( in regards to the error MsgBox and the DllStruct stuff ) -
Avoid "AutoIt Error" message box in unknown errors
argumentum replied to EKY32's topic in AutoIt General Help and Support
...actually: Return Value: Success: a variable for use with DllStruct calls. Failure: sets the @error flag to non-zero. @error: 1 = Variable passed to DllStructCreate was not a string. 2 = There is an unknown Data Type in the string passed. 3 = Failed to allocate the memory needed for the struct, or Pointer = 0. 4 = Error allocating memory for the passed string. @mLipok, this needs a trac entry because it does not behave as it should. It should not crash nor fail to return the corresponding @error. That in regards to DllStructCreate() In regards of the "AddHookApi", it works just fine ( in my script anyways ) -
Avoid "AutoIt Error" message box in unknown errors
argumentum replied to EKY32's topic in AutoIt General Help and Support
#AutoIt3Wrapper_UseX64=y DllStructCreate("byte[123456789097]") ; This is a deliberate action intended to display an error That above, will not display an error. No MsgBox, nothing to do. -
No problem. I like doing that too, but here is seen as necro-posting Your first post, and not even a question, but some code. You're good in my book ( just don't do it again )
-
We need some of those markers like phones have. Those dot,dot,dot ( ... ) so we get to know that someone is typing
-
Since @Ace08 is unlikely to thank you for the code and welcome you to the forum, I'll do it. There are some forum rules, like all forums do. One is that all communications are in English. Welcome to the forum
-
Provider=Advantage OLE DB Provider That above is the "other" I use. MySQL for my "AutoIt as a CGI"** , and the beloved SQLite. ** in apache/php. I either code an AutoIt page generator, or a JSON string "returner", or anything that would avoid me coding perl or php. And use a MySQL UDF from somewhere that is in code I haven't touch in years, and would take for me to go to the client(s) PC(s) to look at to tell you exactly the one. Note to self: get organized !, you 😅
-
Get Home DiskDrive SerialNumber
argumentum replied to r2du-soft's topic in AutoIt General Help and Support
powershell "Get-PhysicalDisk | Select-Object FriendlyName, DeviceID, AdapterSerialNumber" That will give you the info you would need to ask for RMA on the drive and I believe that is the info he is looking for.