草庐IT

auto-start-shell

全部标签

c# - 从 shell 运行的 ffmpeg 运行正常,但在 .NET 中调用时运行不正常

我正在尝试在C#程序中使用ffmpeg(在Windows上使用Cygwin编译),方法是使用Process类生成一个ffmpeg实例。但是,我遇到了一个没有多大意义的相当奇怪的错误。当我直接从shell(无论是Cygwin的bash、PowerShell、cmd)运行ffmpeg时,ffmpeg可以正确地解码和重新编码文件而不会出现任何问题:PSC:\audio>ffmpeg-i.\sound1.wav-acodeclibvorbis-foggabc.oggffmpegversion1.2Copyright(c)2000-2013theFFmpegdevelopersbuiltonAp

c# - 温莎城堡 : Auto-register types from one assembly that implement interfaces from another

我使用CastleWindsor作为我的IoCcontainer.我有一个具有类似于以下结构的应用程序:MyApp.Services.dllIEmployeeServiceIContractHoursService...MyApp.ServicesImpl.dll员工服务:MyApp.Services.IEmployeeServiceContractHoursService:MyApp.Services.IContractHoursService...我使用XMLconfiguration目前,每次我添加一个新的IService/Service对时,我都必须向XML配置文件添加一个新组

c# - 从 .NET Windows 服务调用 Shell32.dll

我有一个.NET4.0库,它使用Shell32和Folder.GetDetailsOf()从WTV文件中获取元数据。我已经成功地将它用于控制台和Windows窗体应用程序,没有任何问题。但由于某种原因,当从.NET4.0Windows服务调用组件时,调用启动Shell类会导致COM错误。库中失败的代码:Shell32.Shellshell=newShell();错误:无法将“System.__ComObject”类型的COM对象转换为接口(interface)类型“Shell32.Shell”。此操作失败,因为IID为“{286E6F1B-7113-4355-9562-96B7E9D6

c# - 如何使用 GhostScript (gswin32c.exe) shell 命令在默认网络打印机上打印 PDF

我想通过GhostScript在Windows的网络打印机上打印PDF文件。(我不想使用Adob​​eReader)我读过gswin32c.exe可以完成这项工作。我尝试了许多命令,但找不到如何强制gs在我的(Windows默认)网络驱动器上打印PDF的方法。我不需要精确的网络打印机——可以使用默认值。但如果没有这样的选项,我也很乐意传递打印机名称。(我试过使用param-SDevice="\server_IP\printer_name"但这也没有用...)Windowscmd下运行的命令:gswin32c-dPrinted-dBATCH-dNOPAUSE-dNOSAFER-q-dNu

c# - 使用 Process.Start() 通过快捷方式运行应用程序

有没有办法通过C#应用程序的快捷方式运行应用程序?我正在尝试从我的C#应用程序运行.lnk。该快捷方式包含大量参数,我希望应用程序不必记住这些参数。尝试通过Process.Start()运行快捷方式会导致异常。Win32Exception:ThespecifiedexecutableisnotavalidWin32application这是我正在使用的代码。ProcessStartInfoinfo=newProcessStartInfo("example.lnk");info.CreateNoWindow=true;info.UseShellExecute=false;info.Red

c# - 如何确保 C# 的 Process.Start 会扩展环境变量?

我正在尝试创建一个这样的流程:varpsi=newProcessStartInfo{FileName=@"%red_root%\bin\texturepreviewer.exe",UseShellExecute=true};varprocess=Process.Start(psi);process.WaitForExit();现在环境变量“red_root”肯定存在于派生进程的环境变量中,但执行似乎没有扩展环境变量,因此找不到文件。如何获取Process.Start展开文件名中的环境变量? 最佳答案 Environment.Expa

C# 等效于 C++ 宏并使用 Auto<> 属性

我有一些自动实例化代码,我想将其应用于一个相当大的类中的大约15个属性。代码类似于以下内容,但每个实例的类型不同:protectedComplexType_propertyName;publicComplexTypePropertyName{get{if(_propertyName==null){_propertyName=newComplexType();}return_propertyName;}}要在C++中重复这一点(因为有大约15个实例),我会使用预处理器宏,但我注意到C#不支持它们。我想知道是否有人对如何在C#中干净利落地提出建议? 最佳答案

C# Auto Property - 这是 'pattern' 最佳实践吗?

我似乎在我的代码中经常使用这种模式,我知道它不再是一个简单的自动属性:publicIListBCSFilters{get;set;}我一直使用的代码是这样的:privateIList_BCSFilters;//////GetsorsetstheBCSfilters.//////TheBCSfilters.publicIListBCSFilters{get{if(_BCSFilters==null){_BCSFilters=newList();}return_BCSFilters;}set{_BCSFilters=value;}}这样我就可以只执行MainClass.BCSFilters

c# - Process.Start(/* pdf 路径 */) 不适用于 Windows 8 上的 Adob​​e Reader

我能够在我的C#/WPF应用程序中创建PDF并使用以下命令运行它们:Process.Start(_pathToPDFFile);这适用于Adob​​eAcrobat,但不适用于Adob​​eReader。安装Adob​​eReader后,Process.Start()不执行任何操作,除非Reader进程已在任务管理器中运行。当我尝试启动PDF时,如何让Adob​​eReader显示PDF? 最佳答案 在我们的案例中,问题仅在从VisualStudio启动应用程序时重现-直接启动.exe会按预期工作。经过一些调试,发现是VisualS

c# - 在 IIS 中重新启动应用程序池时立即运行 Application_Start

我们在应用程序的application_start阶段做一些缓存操作。因此,当应用程序池重新启动时,所有缓存都会消失。是否可以在应用程序池重新启动时触发application_start或您有更好的想法来解决这个问题? 最佳答案 你可以使用ApplicationInitializationforIIS7.5,它借用了IIS8的功能,或者如果您使用的是ASP.NET4.0+则有applicationautostart.对于ASP.NET2.0i3.5,IMO有一个有点老套的解决方案,您可以在事件日志中记录应用程序池回收,然后在事件日志