ExeA (X86) ==>Hook =>TargetExe (32Bit) OK
'Hook =>TargetExe (WoW32Bit) OK
'Hook =>TargetExe (64Bit) Cannot!
ExeA (X86) ==>ExeB (AnyCPU)
'======>Dll32 == Hook =>TargetExe (32Bit)
'Dll64 == Hook =>TargetExe (64Bit)
We are considering a global hook from ExeA to TargetExe.
However, the ExeA of the caller in the specification is an Exe compiled with 32Bit, so
If Os is 64-bit and TargetExe is 64-bit, global hook cannot be performed.
So, we want to prepare ExeB and dynamically load Dll according to the hook target to perform hook.
I think process communication between ExeA and ExeB is necessary to achieve this.
In general, what technology should I use?
As far as I investigated,
Win32API SendMessage, WCF (too exaggerated?), .Net Remoting "IPC" (legacy?)
What do you think is true?
In terms of processing, it is a thing that calls the method of ExeB from ExeA and receives the result
I think that simple things are better than extensibility, so I think that SendMessage is good.
What do you think?
Please let us know what you think.
◆◆◆ Addition of information ◆◆◆
Added notes from yohhoy.
Frequency of inter-process communication: Low (only at start and end)
Amount of communication data per time: small (parameters required for method activation and results)
Allowable delay time: None is desirable.
Two-way/one-way communication: Two-way (I want the execution result)
Answer # 1
I think that the simplest mechanism is a named pipe.
Both Win32 API and .Net Framework are supported, and communication is possible even if ExeA and ExeB are running on different PCs.
How to: Use Named Pipes for Network Interprocess Communication
If you can help.
- c # - about the process at the time of forced shutdown of windows form application
- c # - double quotation processing in process start argument
- Node uses process communication to implement Cluster shared memory
- Java serial communication implementation process example
- Python method for process synchronization and communication
- Detailed communication process and implementation method of WebSocket
- The communication process of nested components and nested components in React
- The process of implementing WebSocket communication using SockJS in vue
- Python process process pool analysis of inter-process communication
- Java socket communication implementation process and problem solving
- Python implements process data communication in 4 ways
- c # - i want to execute a process in another class when i can log in | firebase x unity
- c # - communication between client application and server application is not possible
- no response when running external process from unity (c #)
- c # - i want to process as many records as select
- c # - i want to detect the end of the started process
- c # - in pc-microcomputer serial communication, the pc wants to receive the "data frame transmitted by the microcomputer&qu
- c # serial communication reception event does not occur
- c # - i want to create a player respawn process using "setactive"
- c # - i want to know why the first process is slower than the later process in iterative processing
- python 3x - typeerror: 'method' object is not subscriptable
- python - you may need to restart the kernel to use updated packages error
- xcode - pod install [!] no `podfile 'found in the project directory
- vuejs - [vuetify] unable to locate target [data-app] i want to unit test to avoid warning
- android studio - emulator: dsound: could not initialize about the error message directsoundcapture
- android studio - unresolved reference comes out in kotlin
- mysql startup failed [error] innodb: the innodb_system data file 'ibdata1' must be writable
- django - oserror: [winerror 123] the file name, directory name, or volume label syntax is incorrect : '<frozen importlib_boot
- python - importerror: cannot import name md5 error cannot be resolved