English 中文(简体)
How to redirect stdin from my app to another knowing its PID (C,in windows)
原标题:

I have a script vbs wich redirect some data to the stdin of myApp (written in C in Windows). If myApp was already launched before myApp finds the PID of the first myApp session and redirects the input received via stdin to the stdin of the first session of myApp which handles the stdin. So when myApp receives a stdin and no other instances of myApp are running it handles the stdin and does stuff with it. So the question is : how to redirect stdin from an app to another knowing the PID of this secnd spp? language = C platform = MSwindows

问题回答

Is this any use to you? http://msdn.microsoft.com/en-us/library/ms682499%28VS.85%29.aspx

This article creates a child process with re-directed IO using anonymous pipes, you could use named pipes. Using this function: http://msdn.microsoft.com/en-us/library/aa365144%28VS.85%29.aspx you can test if a named pipe already exists - if it doesn t, you can create one and wait on its input.

I m not sure r.e. multiple files writing to the same named pipe - I assume all the data comes through as if one file, so I d use one named pipe as a negotiator which instantiates a new named pipe per client and adds its pipe to the list of pipes to wait on. Close it with a message through the new pipe.

I don t think (someone correct me if I m wrong please) it is that easy to redirect handles of another process.

Ok having the chance of writing the source of the program I ll move toward the idea of named pipes. The main process of App1 will check if another instance of App (i.e. App0) is already running. If so the stdin received by App1 will be redirected to a named pipe X. App0 keeps receiving inputs using the named pipe X. So App0 and all others instances of App (App2,e,4...) will communicate via the named pipe. Thankyou very much NineFingers, u were so helpful!





相关问题
Fastest method for running a binary search on a file in C?

For example, let s say I want to find a particular word or number in a file. The contents are in sorted order (obviously). Since I want to run a binary search on the file, it seems like a real waste ...

Print possible strings created from a Number

Given a 10 digit Telephone Number, we have to print all possible strings created from that. The mapping of the numbers is the one as exactly on a phone s keypad. i.e. for 1,0-> No Letter for 2->...

Tips for debugging a made-for-linux application on windows?

I m trying to find the source of a bug I have found in an open-source application. I have managed to get a build up and running on my Windows machine, but I m having trouble finding the spot in the ...

Trying to split by two delimiters and it doesn t work - C

I wrote below code to readin line by line from stdin ex. city=Boston;city=New York;city=Chicago and then split each line by ; delimiter and print each record. Then in yet another loop I try to ...

Good, free, easy-to-use C graphics libraries? [closed]

I was wondering if there were any good free graphics libraries for C that are easy to use? It s for plotting 2d and 3d graphs and then saving to a file. It s on a Linux system and there s no gnuplot ...

Encoding, decoding an integer to a char array

Please note that this is not homework and i did search before starting this new thread. I got Store an int in a char array? I was looking for an answer but didn t get any satisfactory answer in the ...

热门标签