Articles of pipe理员

打开一个文件夹,并用WPF高亮显示一个特定的文件

有没有办法启动一个资源pipe理器窗口,并突出显示该文件夹中的WPF文件? 我已经尝试了以下内容: Process ExplorerWindowProcess = new Process(); ExplorerWindowProcess.StartInfo.FileName = "explorer.exe"; ExplorerWindowProcess.StartInfo.Arguments = ConfigFile.File.FullName; ExplorerWindowProcess.Start(); …但打开文件(在我的情况下,一个XML文件)与Windows资源pipe理器中的默认应用程序,我非常不希望。 我知道可用于Eclipse的Aptana工具允许您在Eclipse项目浏览器中select一个文件,并按照需要在资源pipe理器中显示文件,但是我需要一种在WPF应用程序中实现此function的方法。

远程OpenSCManager失败,访问被拒绝

我正在尝试使用以下代码来控制远程计算机上的服务: // Error checking omitted for brevity HANDLE hToken = NULL; // user = username with no domain specification // domain = targetmachine when targetting computer outside of domain LogonUser(user, domain, password, LOGON32_LOGON_NEW_CREDENTIALS, LOGON32_PROVIDER_WINNT50, &hToken); ImpersonateLoggedOnUser(hToken); SC_HANDLE hSc = OpenSCManager(targetmachine, SERVICES_ACTIVE_DATABASE, SC_MANAGER_ALL_ACCESS); 当从本地域中的计算机运行并在同一个域中定位一台计算机时,这两种方式都可以正常工作,无论是使用当前login用户的凭据还是使用其他凭据。 但是,当我尝试locking不在任何域的计算机时,如果我指定SC_MANAGER_CONNECT以外的任何内容作为所需的访问权限,则OpenSCManager调用将失败,并且访问被拒绝。 从位于域外的计算机运行域计算机(对于作为目标计算机上本地pipe理员的域用户使用用户/域/密码组合)。 从域外的计算机将目标计算机置于域外不起作用。 用户/密码是针对目标计算机上pipe理员组的成员,因此不应该存在帐户权限问题。 我已经使用sc -sdshow scmanager检查了scmanager安全描述符,并且它对于域计算机和非域计算机是相同的。 两者都运行Windows 7 64位。 我也testing过使用psexec ,它具有相同的症状,即在域计算机之间正常工作,但在定位非域计算机时不起作用。 […]

如何使用stdinpipe道作为gcc的源input?

这是我的尝试: CMD文件: @SET PATH=%PATH%;D:\mingw\bin type test10.cpp | g++ -xc++ -o test10.exe 代码(这里无关): int main() {} 错误我得到: g++: fatal error: no input files compilation terminated. 我以为-x选项是为了标识stdininput,gcc本身就是这么说的。

将FFMPEG的输出redirect到Windows上的多个命名pipe道

我正试图在Windows上将video和audio数据stream式传输到两个单独的命名pipe道中。 ffmpeg.exe -f dshow -i video="My camera name":audio="My microphone name" -map 0:1 -ac 1 -f f32le \\.\pipe\audioStream -map 0:0 -f mjpeg \\.\pipe\videoStream 问题是,FFMPEG似乎不了解输出\\.\pipe\audioStream和\\.\pipe\videoStream是pipe道,并将它们视为文件。 如果在FFMPEG启动时已经创build了pipe道,它会覆盖它们并失败。 否则,它会抱怨path不存在并失败。 据我所知,指定pipe:协议应该做的伎俩,但我不知道如何正确使用它,即使只有一个pipe道。 我努力了: pipe:pipeName pipe:pipe\pipeName pipe:\\.\pipe\pipeName pipe://pipeName pipe://pipe\pipeName pipe://\\.\pipe\pipeName 我总是以相同的结果:输出写入控制台而不是pipe道。 如果FFMPEG启动时pipe道已经存在,则没有任何东西连接到pipe道。 是否有可能在Windows上使用命名pipe道使用FFMPEG? 如果是,那么这样做的正确方法是什么?

以完全权限以pipe理员身份运行Java文件

我已经做了一个Java应用程序,我testing了我的电脑和我的铸造电脑,迄今为止这么好…但这个应用程序是我的另一个朋友有迪斯科,当我“安装”我的应用程序在他的电脑Windows Vista的32位)它没有工作,然后我去search和search,我发现,作为特权的问题…我安装了一个虚拟机的Vista 32位和XP 32位做一些testing,米无法运行我的应用程序具有完整的pipe理员权限。 有什么办法可以创build一个batch file,或者让我用所有权限运行我的应用程序? 我的意思是所有,因为我需要连接到计算机的COM端口从设备获取一些数据,我需要存储一些文件,因为我使用外部库,我可能需要一些我不知道的特权…我已经尝试过,没有任何工作: elevate "c:\Program Files\Java\jre\bin\java.exe" -jar "%CD%\installer.jar" 使用微软的升级脚本,我也创build了一个batch file runas /user:Administrator myjar.jar 但没有工作:\任何想法? 先谢谢你

堆碎片和Windows内存pipe理器

我在程序中遇到内存碎片问题,一段时间后无法分配非常大的内存块。 我已经阅读了这个论坛上的相关post – 主要是这个 。 而且我还有一些问题。 我一直在使用内存空间分析器来获取内存的图片。 我写了一个包含cin >> var; 并拍下了记忆的照片: 替代文字http://img22.imageshack.us/img22/6808/memoryk.gif顶部圆弧的位置 – 绿色表示空白,黄色分配,红色提交。 我的问题是在右边分配的内存是什么? 它是主线程的堆栈吗? 这个内存不会被释放,它会分裂我需要的连续内存。 在这个简单的1行程序中,拆分并不是那么糟糕。 我的实际程序在地址空间中间分配了更多的东西,我不知道它来自哪里。 我还没有分配这个内存。 我怎样才能解决这个问题? 我正在考虑切换到像nedmalloc或dlmalloc的东西。 但是,这只适用于我明确分配给我的对象,而图中显示的分割不会消失? 或者有没有办法用另一个内存pipe理器replaceCRT分配? 说到对象,是否有nedmalloc c ++的包装,所以我可以使用新的和删除来分配对象? 谢谢。

如何调用在C#中的Windows屏幕保护程序?

我想在Windows环境中调用用户的屏幕保护程序(如果已定义)。 我知道这可以使用纯C ++代码(然后在C#中的包装非常简单),如这里所build议的。 不过,为了好奇,我想知道这样的任务是否可以通过纯粹的托pipe代码使用点networking框架(版本2.0及以上),没有p / invoke和没有访问C + +端(反过来,可以很容易使用Windows API)。

Linux中的Windows命名pipe道支持

我正在研究一个需要使用命名pipe道的传统Windows应用程序和运行在Linux服务器上的新服务之间进行进程间通信的项目。 Windows应用程序无法更改。 有谁知道是否有一个支持Windows命名pipe道的Linux库? 或者甚至更好,任何人都可以推荐一个他们用于这个目的的图书馆?

Windows控制台程序stdout在使用pipe道redirect时被缓冲

我有一个长期运行的服务器程序(比如程序A),它是用QT / c ++编写的。 该程序是不是很稳定,所以我决定写一个python脚本来重新启动它,如果它崩溃。 问题是程序可能开始失败(如果我给它一个使用中的端口),打印错误,然后挂在那里没有退出,所以我必须监视程序的标准输出,并在失败的启动时杀死它。 这是我的最终代码(呃,其实这是好的,你可以忽略它): self.subp = subprocess.Popen( r'.\A.exe -server %d' % portnum, stdout=subprocess.PIPE, bufsize=1) for line in iter(self.subp.stdout.readline, ''): print(line, end='') 但我发现我不能从subprocess的标准输出读取任何东西,readline方法只是阻止那里,如果我杀了一个进程,python脚本只是退出没有任何输出。 在一开始,我认为这是一个subprocess模块的问题,但经过一些testing,我发现它不是。 如果我用一些其他的Windows控制台程序replaceA.exe命令行,ping -t例如,一切工作正常。 所以我认为这可能是A程序的问题。 幸运的是,我有A的源代码,这里是一个输出处理: printf("Server is starting on port %u\n", Config.ServerPort); if(server->listen()) printf("Starting successfully\n"); else printf("Starting failed!\n"); 经过一些search,我添加fflush(stdout); 到这段代码的末尾,重build程序,现在它工作 所以我的问题是,我还是不明白,原来的A程序代码有什么问题? 不用强制刷新,它可以在程序启动后立即在Windows控制台中正确打印这些string。 为什么在输出上使用pipe道时输出缓冲? 我在标准c实现读取,输出将自动刷新换行,但为什么不在我的情况? 这是一个Windows的问题,或编译器的问题? A程序是用QT / C ++编译的,QT版本是4.7.4(x32),C ++编译器是用QT(GCC […]

我有一个C#Windows窗体应用程序。 我可以在networking上部署它,以便用户可以通过networking访问?

我们已经完成了一个基于Windows的应用程序,使用C#(.NET 2.0,Visual Studio 2005)。 现在重做这个基于Web的应用程序,是一个耗费时间和资源的过程,而这对我来说几乎是不可能的。 我们需要托pipe这个,以便用户可以通过Internet访问。 通过RDP用户可以访问Windows应用程序,但这里的问题是更多的用户不能同时操作。 它可以作为一个Web应用程序托pipe,以便用户可以通过浏览器访问它?