我觉得你这是夸进程通信的问题。
一个进程会创建另外个进程并执行操作,这个处理进程开放某种通信方式就行了,比如Windows Message,Socket...
复制功能的实现是通过cmd调用我写的exe程序来实现。
另一种是把多个参数合并成一个参数,传递给启动的进程。
在windows上新开一个进程很慢,我一次复制多个文件的名称,会卡死。所以我想通过新建线程的方式来实现,像sublime text这个编辑器一样,同时选中多个文件打开,也只是新建了一个进程。
@Ten_cnblogs: 把调用你自己写的EXE的代码贴出来。
@Firen: 我是通过命令行调用的,完整代码在这里,http://pan.baidu.com/s/1wA02q
@Ten_cnblogs: 在Main函数里判断名称ContextCopy的进程是否已经存在,如果已经存在,就把接收到的参数传递给已存在的ContextCopy进程实例,然后自己退出。
这个需求其实就是要做一个单实例的app, 可以参考"http://code.msdn.microsoft.com/TasksShow-1bf01c8d/sourcecode?fileId=18647&pathId=1449080186" 这个页面的"SingleInstance.cs"方法, 修改你的App class, 实现"SignalExternalCommandLineArgs"方法, 在此方法中获取cmd传给你的参数, 并创建一个线程实现功能.
通过windows shell可以解决我的需求