Jump to content
Sign in to follow this  
Bluesmaster

Brainstorming IPC String exchange

Recommended Posts

Bluesmaster

Hello Community,

I am searching for an elegant method to send a string from a non-autoit-process to autoit.

Criteria are:

- as easy ( few commands ) and unidependent ( eg win-api calls only ) to perform in any programming language

- no tcp/ udp

- no winSetText

 

I tried sending window messages but, I can only send pointers to strings within the lparam which then point to the

memory of another process and format depends on programming language.

 

So any ideas are welcome.

Thanks

Blues


My UDF: [topic='156155']_shellExecuteHidden[/topic]

Share this post


Link to post
Share on other sites
MachinistProgrammer

look at these in the helpfile

STDinWrite (can be read with consoleread)

STDoutRead (can be written with consolewrite)


All my projects live on github

Share this post


Link to post
Share on other sites
Bluesmaster

Thanks for your suggestions.

I have to specify:

- processes are totaly independent from each other and not start one another ( stdstreams no option )

- processes should communicate while running not just parameters on start ( is that what you meant billo? )

- I am experimenting with a combination of shared memory and window messages ( would you support this approach? what could be downsides and better solutions? )

regards

Edited by Bluesmaster

My UDF: [topic='156155']_shellExecuteHidden[/topic]

Share this post


Link to post
Share on other sites
l3ill

If you look in my sig "simple text man"

 this is just one example of sending a string (array of strings) to an autit script via the cmdline...

If you are looking pass strings back and forth between applications I will have to pass...

Bill

Share this post


Link to post
Share on other sites
guinness

Well I personally think WM_COPYDATA is an elegant solution, though you haven't specified what the other process is or who has written it.


UDF List:

 
_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_ArrayFilter/_ArrayReduce_BinaryBin()_CheckMsgBox()_CmdLineRaw()_ContextMenu()_ConvertLHWebColor()/_ConvertSHWebColor()_DesktopDimensions()_DisplayPassword()_DotNet_Load()/_DotNet_Unload()_Fibonacci()_FileCompare()_FileCompareContents()_FileNameByHandle()_FilePrefix/SRE()_FindInFile()_GetBackgroundColor()/_SetBackgroundColor()_GetConrolID()_GetCtrlClass()_GetDirectoryFormat()_GetDriveMediaType()_GetFilename()/_GetFilenameExt()_GetHardwareID()_GetIP()_GetIP_Country()_GetOSLanguage()_GetSavedSource()_GetStringSize()_GetSystemPaths()_GetURLImage()_GIFImage()_GoogleWeather()_GUICtrlCreateGroup()_GUICtrlListBox_CreateArray()_GUICtrlListView_CreateArray()_GUICtrlListView_SaveCSV()_GUICtrlListView_SaveHTML()_GUICtrlListView_SaveTxt()_GUICtrlListView_SaveXML()_GUICtrlMenu_Recent()_GUICtrlMenu_SetItemImage()_GUICtrlTreeView_CreateArray()_GUIDisable()_GUIImageList_SetIconFromHandle()_GUIRegisterMsg()_GUISetIcon()_Icon_Clear()/_Icon_Set()_IdleTime()_InetGet()_InetGetGUI()_InetGetProgress()_IPDetails()_IsFileOlder()_IsGUID()_IsHex()_IsPalindrome()_IsRegKey()_IsStringRegExp()_IsSystemDrive()_IsUPX()_IsValidType()_IsWebColor()_Language()_Log()_MicrosoftInternetConnectivity()_MSDNDataType()_PathFull/GetRelative/Split()_PathSplitEx()_PrintFromArray()_ProgressSetMarquee()_ReDim()_RockPaperScissors()/_RockPaperScissorsLizardSpock()_ScrollingCredits_SelfDelete()_SelfRename()_SelfUpdate()_SendTo()_ShellAll()_ShellFile()_ShellFolder()_SingletonHWID()_SingletonPID()_Startup()_StringCompact()_StringIsValid()_StringRegExpMetaCharacters()_StringReplaceWholeWord()_StringStripChars()_Temperature()_TrialPeriod()_UKToUSDate()/_USToUKDate()_WinAPI_Create_CTL_CODE()_WinAPI_CreateGUID()_WMIDateStringToDate()/_DateToWMIDateString()Au3 script parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 22/04/2018

Share this post


Link to post
Share on other sites
MachinistProgrammer

what about >MailSlot

(as far as i know) it works with other languages

(MSND)


All my projects live on github

Share this post


Link to post
Share on other sites
Bluesmaster

That sounds very interesting, I had not heard about this. It will take a  while to investigate the support by other languages


My UDF: [topic='156155']_shellExecuteHidden[/topic]

Share this post


Link to post
Share on other sites
KaFu

CreateFileMapping, implemented as _WinAPI_CreateFileMapping() in WinApiEx (and Beta?), called with $hFile = -1 to create a named "file mapping object" accessible by several different processes.

Share this post


Link to post
Share on other sites
Bluesmaster

Thank you KaFu,

Thats an interesting opportunity. I read some msdn and wikipedia and found your example

'?do=embed' frameborder='0' data-embedContent>>

You read data from shell32.dll there right? But I do not understand how to create virtual files that do not really exist on disk.

Is this possible?

regards

Blues


My UDF: [topic='156155']_shellExecuteHidden[/topic]

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×