请问命名管道可以像普通文件一样访问吗?
比如我创建一个\\.\pipe\1.txt,然后用记事本能打开吗?
刚刚试了一下,失败了,有其他的方法可以实现吗?谢谢各位

解决方案 »

  1.   

    应该是可以的,但不知道记事本是否可以用,检查一下CreateNamedPipe的参数。
      

  2.   

    记事本可以打开管道么?
    \\.\pipe\1.txt是管道不是文件吧
      

  3.   

    我是这样创建的:
    m_hPipe = CreateNamedPipe("\\\\.\\pipe\\MyPipe_1.txt",
    PIPE_ACCESS_DUPLEX ,
    0,1,1024,1024,0,NULL);但是到后面ConnectNamedPipe(m_hPipe, NULL)就阻塞了,用其他程序打开管道失败(管道打开时阻塞也打开了),WriteFile写入管道也失败了~
      

  4.   

    CreateNamedPipe没问题,ConnectNamedPipe阻塞也是正常的。
    我试了一下,记事本不适合用管道。在打开/储存文件对话框中不能使用管道,用记事本只能通过命令行参数来指定管道。当记事本打开文件时,要先获得文件大小,因为管道的文件大小是0,所以记事本不读取管道的内容。记事本可以向管道写入数据,但记事本每次访问文件的过程都是打开、读或写、关闭,所以访问一次后管道就关闭了,下次打开就会失败,只能是重新创建管道。
      

  5.   

    谢谢cnzdgs,我只是想知道管道是否能像普通文件一样访问,看来是不行啊,呵呵,算了,再想别的办法~