Articles of pipe理员

ffmpeg av_interleaved_write_frame():窗户下的pipe道破损

我使用ffmpeg将原始媒体文件转换为rawvideo yuv格式,将yuv转换为pipe,然后我的命令工具接收原始的yuv作为input,做一些处理。 例如: D:\huang_xuezhong\build_win32_VDNAGen>ffmpeg -i test.mkv -c:v rawvideo -s 320×240 -f rawvideo – | my_tool -o output 每次运行命令的时候,ffmpeg都会把这个av_interleaved_write_frame(): Broken pipe转储av_interleaved_write_frame(): Broken pipe error msg: Output #0, rawvideo, to 'pipe:': Metadata: encoder : Lavf56.4.101 Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 320×240 [SAR 120:91 DAR 160:91], q=2-31, 200 kb/s, 24 fps, 24 tbn, 24 tbc […]

“__COMPAT_LAYER”实际上做了什么?

最近,我试图给我的应用程序pipe理员权限没有系统要求“你想给pipe理员权限? 我发现了一个完美的工作方式。 我find解决scheme 我创build了一个名为nonadmin.bat的bat文件,并在其中编写了下面的代码 cmd min C set __COMPAT_LAYER=RunAsInvoker && start %1 如果我们拖动它的任何exe文件,它给了他们pipe理员权限(在没有让我访问环境variables之前,但在拖拽文件之后,它确实工作)。 题 现在我的问题是: 实际上'__COMPAT_LAYER'是什么意思,它是做什么的? 我如何删除这样的事情,以便再次要求pipe理员权限? 这是否会降低系统安全性?

如何拦截Windows中的物理电源button?

是否有任何方法来拦截物理电源button的事件,以便对此事件作出反应? 即: Push button -> My program catches the event -> My program performs action. 我的目标是编写一个C#程序/服务来监听电源button事件,然后打开“问我该怎么做”的closures对话框(就像在Windows XP的时代那样)。

percise32 vagrant box上的Rails应用程序 – 资产得到“文本文件忙”错误(Errno :: ETXTBSY)

尝试在Vagrant框(percise32)主机中启动Rails应用程序是Windows 7.这是我的Vagrantfile Vagrant.configure('2') do |config| config.vm.box = 'precise32' config.vm.box_url = 'http://files.vagrantup.com/precise32.box' config.vm.hostname = 'rails-dev-box' config.vm.synched_folder "c:\rails_text", "/home/code" config.vm.network :forwarded_port, guest: 3000, host: 3003 config.vm.provision :puppet do |puppet| puppet.manifests_path = 'puppet/manifests' puppet.module_path = 'puppet/modules' end end 当我尝试运行应用程序(代码正在同步),我在Rails服务器输出上得到以下错误: Errno::ETXTBSY in Welcome#index Showing /home/code/app/views/layouts/application.html.erb where line #4 raised: Text file busy – (/home/code/tmp/cache/sass/a0a09a036cf07b1cae262d60fa989a8e24765858/welcome.css.scssc20131001-1595-f6clpt, /home/code/cache/sass/a0a09a036cf07b1cae262d60fa989a8e24765858/welcome.css.scssc) (in /home/code/app/assets/stylesheets/welcome.css.scss) 一些文章build议,移动我的同步文件夹在/ vagrant根之外是治愈,但它似乎不是问题在我的情况,因为我使用/ […]

使用C#获取连接到命名pipe道服务器的客户端的进程ID

我不确定我是否没有看到它,或者是什么? 我需要知道从NamedPipeServerStream实例通过命名pipe道连接到我的服务器的客户端的进程ID。 这样可能吗? 同时我想出了这个function: [DllImport("kernel32.dll", SetLastError = true)] internal static extern bool GetNamedPipeClientProcessId(IntPtr Pipe, out UInt32 ClientProcessId); public static UInt32 getNamedPipeClientProcID(NamedPipeServerStream pipeServer) { //RETURN: // = Client process ID that connected via the named pipe to this server, or // = 0 if error UInt32 nProcID = 0; try { IntPtr hPipe = pipeServer.SafePipeHandle.DangerousGetHandle(); GetNamedPipeClientProcessId(hPipe, […]

Windows如何知道我没有使用内存?

我注意到这种奇怪的效果,内存没有注册为Windows任务pipe理器分配,直到它被触摸,而不是当它是malloc -ed或new 。 在debug和优化release版本中都会出现该效果。 下面是一个结构化的例子,虽然在我的代码中,分配和使用发生在不同的线程上,所以我不认为它是优化器,尽pipe我不知道如何检查。 for (int i = 0 ;i < 1000;i++) { buffer[i]=malloc(buffersize); } _sleep(1000*60) for (int i=0;i<1000;i++) { memset(buffer[i],0,buffersize);//Only shows up the in the resource manager here } 我的问题是Windows如何知道我已经使用了内存? 是第一次使用监视内存还是一些编译时优化? 我的好奇心是受到我写的实时采集的动机,需要我两次触摸内存 – >分配一次,实际填充数据一次。 因此,按下一个button(“aquire!”)需要我一次写入64千兆字节的RAM,而不是一段时间,增加相当实际的延迟量。 如果我malloc我去这添加了太多的延迟。 – 编辑 – 我也禁用了Windows页面文件…

如果我为我的程序创build一个新的文件types,如何正确使用“打开方式”?

我做了一个程序。 我也做了我自己的文件types,程序可以创build,打开和编辑。 在资源pipe理器中,我右键单击这个新的文件types,并select“打开方式”,并select我的程序。 当然,它只是在不加载文件的情况下打开程序。 我怎么让我的程序知道它被要求在启动时打开一个文件? 有一些命令行参数,“打开方式”发送?

将进程或模块标识为托pipe/本地

可能重复: 如何确定一个过程是否在C#中pipe理? 我如何知道一个进程或模块是以托pipe(.NET)还是以本地编程方式(使用C ++)?